Skip to content

goetas-webservices/soap-client-demo

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

22 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

SOAP Client Example

Build Status

This is an example project on how to use the goetas-webservices/soap-client project.

Demo

Steps to use this demo project:

  1. clone this repo
  2. run composer install to get the dependencies
  3. run vendor/bin/soap-client -vvv generate config/config.yml src/Service/Container --dest-class=Service/Container/SoapContainer to generate all the required files
  4. run php bin/demo.php to see a working demo consuming http://www.dneonline.com/calculator.asmx?WSDL Calculator SOAP webservice
  5. enjoy SOAP again
  6. 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.1
  • symfony/var-dumper is optional and is used in this demo ony to color the output on the console
  • goetas-webservices/soap-client this is the main SOAP client dependency
  • php-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.org
  • guzzlehttp/psr7, my PSR-7 message implementation choice for php-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.