Create clients in PHP, Perl, Java, Python

Using a web service involves creation of a client that will marshal input parameters, create and transmit the SOAP request, receive the SOAP response and de-marshal the output parameters into a form usable by the client language. This client is often called a proxy for the web service, presenting the web service as a function call in the client's programming language.

Because web services are so pervasive, each language has one or more tools available for creating web service clients. Some of these are:

  • PHP: native xml-soap extension, SoapClient , NuSOAP
  • Perl: SOAP::Lite, SOAP::WSDL
  • Python: SUDS
  • Java: Many exist including those from Sun and Apache

Using these various packages is beyond the scope of this tutorial. However, there are some cautions about using tools to create web service clients. First, unless you expect the contract represented by the WSDL to change frequently, be sure that the proxy either fetches the WSDL at design time or that the WSDL is cached between multiple invocations of a web service. Second, if you wish to pass typical COBOL hierarchical structures (known as complex types), investigate first to see if the tool you wish to use supports such structures. You may have to simplify your input and output parameters to be able to interoperate with some less capable tools.