Download the PHP package hardworm/soap without Composer
On this page you can find all versions of the php package hardworm/soap. It is possible to download/install these versions without Composer. Possible dependencies are resolved automatically.
Download hardworm/soap
More information about hardworm/soap
Files in hardworm/soap
Package soap
Short Description A fixed version of bohrlot/BeSimpleSoap used to build SOAP and WSDL based web services. This fork work php 7 and php 8
License MIT
Informations about the package soap
BeSimpleSoap
Build SOAP and WSDL based web services. This fork is a refactored version that fixes a lot of errors and provides better API, robust, stable and modern codebase. See How to use that will help you to understand the magic.
Components
BeSimpleSoap consists of five components ...
BeSimpleSoapClient
Refactored BeSimpleSoapClient is a component that extends the native PHP SoapClient with further features like SwA and WS-Security.
BeSimpleSoapServer
Refactored BeSimpleSoapServer is a component that extends the native PHP SoapServer with further features like SwA and WS-Security.
BeSimpleSoapCommon
Refactored BeSimpleSoapCommon component contains functionality shared by both the server and client implementations.
BeSimpleSoapWsdl
Untouched! The component is not affected by refactoring so it should work properly. For further information see the original README.
BeSimpleSoapBundle
Unsupported! The BeSimpleSoapBundle is a Symfony2 bundle to build WSDL and SOAP based web services. For further information see the the original README. Will not work since the Symfony libraries were removed and usages of other components were not refactored. Feel free to fork this repository and fix it!
Installation
If you do not yet have composer, install it like this:
Create a composer.json
file:
Now you are ready to install the library:
How to use
You can investigate the unit tests dir tests
in order to get a clue.
Forget about associative arrays, vague configurations, multiple extension and silent errors!
This may look a bit more complex at the first sight,
but it will guide you to configure and set up your client or server properly.
Example of soap client call
Something wrong?!
Turn on the tracking and catch SoapFaultWithTracingData
exception to get some sweets :)
In this example, a MyRequest
object has been used to describe request.
Using a ClassMap, you help SoapClient to turn it into XML request.
Example of soap server handling
Starting a SOAP server is a bit more complex. I recommend you to inspect SoapServer unit tests for inspiration.
In this example, a DummyService
service has been used to handle request.
Using a service can help you create coherent SoapServer endpoints.
Service can hold an endpoint URL, WSDL path and a class map as associative array.
You can hold a class map as ClassMap
object directly in the DummyService
instead of array.
In the service you should describe SOAP methods from given WSDL. In the example, the dummyServiceMethod is called. The method will receive request object and return response object that are matched according to the class map.
See a simplified implementation of dummyServiceMethod
to get a clue:
For further information and getting inspiration for your implementation, see the unit tests in tests
dir.
Contribute
Feel free to contribute! Please, run the tests via Phing php phing -f build.xml
.
Warning: Unit tests may fail under Windows OS, tested under Linux, MacOS.
All versions of soap with dependencies
ext-soap Version *
ext-curl Version *
ass/xmlsecurity Version ^1.0
laminas/laminas-mime Version ^2.7