Awesome
SOAP Client Example
This is an example project on how to use the goetas-webservices/soap-client project.
Demo
Steps to use this demo project:
- clone this repo
- run
composer install
to get the dependencies - run
vendor/bin/soap-client -vvv generate config/config.yml src/Service/Container --dest-class=Service/Container/SoapContainer
to generate all the required files - run
php bin/demo.php
to see a working demo consuminghttp://www.dneonline.com/calculator.asmx?WSDL
Calculator SOAP webservice - enjoy SOAP again
- bonus: notice the code and type hinting by PhpStorm on
$client
and$result
variable :)
Dependencies
Here an explanation of dependencies present in composer.json
php
this demo is tested on PHP 7.1symfony/var-dumper
is optional and is used in this demo ony to color the output on the consolegoetas-webservices/soap-client
this is the main SOAP client dependencyphp-http/guzzle6-adapter
your HTTP client implementation, any php-http client implementation works fine(I have opted for guzzle6, at the moment guzzle, curl, buzz and react clients are supported).php-http/message
PSR-7 http message factories, more info are available on docs.php-http.orgguzzlehttp/psr7
, my PSR-7 message implementation choice forphp-http/message
goetas-webservices/wsdl2php
(require-dev) this is the main dev dependency, has to be used during development the generate all the necessary information (php classes, jms mappings, wsdl metadata) used in production
Ignored files
Currently src/*
and metadata/*
are included in .gitignore
, I recommend to remove the from the "ignore" file
and to commit to your project the generated files by the command executed at step 3.