Preview NuSOAP!

NuSOAP is a rewrite of SOAPx4, provided by NuSphere.
NuSOAP is a group of PHP classes that allow developers to create and consume SOAP web services.
It does not require any special PHP extensions, which makes it usable by all PHP developers, regardless of ISP, server or platform.
Beware, I haven’t gotten usage of PHPDoc quite right, so the API docs are a bit wonky at this point.
NuSOAP is licensed under the LGPL.
To download the NuSOAP preview, click here.

NuSOAP will be distributed with NuSphere’s PHPEd 3.0, along with a wizard that generates PHP code for client web service operations using NuSOAP. Any questions? Email me.


  • Preliminary support for WSDL on the server: You can bind a server instance to a local or remote WSDL document.
  • SSL support if PHP has the CURL extension compiled in.
  • Serialization directly from WSDL: No more soapval object tree. Great performance boost here, as well as more precise type-mapping.
  • HTTP proxy support: very simple usage. Just pass your proxy host and port to the setHTTPProxy() method of the soapclient object, and you’re good to go.
  • Most of the classes have been completely overhauled for performance: speed and resource usage.This also eliminated *many* bugs.
  • Proxy class: new proxy class allows for calling services like this:
    echo $soap->getStockQuote(‘IBM’);

  • Streaming single-pass multi-ref de-serialization: the entire process of decoding a XML SOAP message into PHP native types is now done in the initial parsing of the message. No hash of nodes, no recursing through the hash to create a huge object tree, no recursing *back* through the object tree to convert into PHP native types. Huge performance increase and dramatic drop in resource consumption here.
  • SOAP Header support. Currently getting 194/60 on the SOAPBuilders Round 2, Group C tests, most failures due to remote server.
  • ID/Href: We can now de-serialize messages that use references.
  • Document/literal: SOAPx4 now fully supports doc/literal operations. It can also create stub XML documents from XML Schema type definitions, that users can ‘fill in the blanks’, and use for doc/lit operations.
  • WSDL import: We now support the import functionality.
  • Multidimensional array encoding and decoding for the client and server classes.