According to Yahoo Biz, a company called WSO2 released their WSO2 WSF Framework C-library. What is more appealing is that there are now bindings for PHP available under a Apache 2.0 license. The company WSO2 describes itself as: „We are thought leaders in the Apache Web service project, where our engineers are core contributors to key projects including Apache Axis2, Apache Sandesha, Apache Rampart, Apache Neethi, Apache Axiom and Apache Synapse.“
There’s a nice picture available ( (C) by WSO2) which shows how the library + the bindings (yes, there’s also an AJAX binding for Firefox available!) fit into the architecture:
„But PHP5 has its own SOAP extension… why use this one?“ – Automatic WSDL generation (through annotations in your Docblock), WS-Security, SOAP-MTOM, WS-SecurityPolicy, WS-ReliableMessaging, WSDL 1.1, WSDL 2.0, REST, SOAP 1.1, SOAP 1.2 – enough said? No:
WSO2 WSF/PHP features proven interoperability with Microsoft .NET, WSO2 WSAS (Apache Axis2/Java based Web services application server) and other J2EE implementations. The basic SOAP level interoperability as well as WS-* specification implementations have been tested and proven to interoperate.
Here’s a short step-by-step guide how to install the source distribution it for your PHP5 installation on Linux:
- go to http://dist.wso2.org/products/wsf/php/1.0.0/ and download the tgz package
- tar xvzf it
- don’t forget to make a export PATH=/path/to/your/php-config-binary/:$PATH if your php-config binary is not in the standard PATH
- run ./configure, make and make install
The extension will be installed in your PHP5’s extension directory. It installs a wsf_c directory for the axis2 library and a wsf.so which can then be included in your php.ini. If you install the library in another directory, be sure to set the wsf.home to the appropriate path in your php.ini. After restarting your webserver, a phpinfo should look like this:
There’s an extensive User Manual available. As you can see, WSF uses a slightly different namespace than ext/soap, so both can coexist and the rewriting of your existing SOAP projects should be a no-brainer. All in all, good work, WSO2! Our blog will cover some of the features in the following posts.