The WSO2 WSF extension for PHP is a web service extension for PHP and one of the only extensions that we have come across that can handle MTOM web services. Unfortunately, WSO2 no longer supports this extension, which made it very difficult for me recently to obtain a copy of it that is compiled for the non-threadsafe version of PHP that we use with IIS. In the end we had to download the source code from github and recompile it in visual studio.
After having such a hard time trying to find a pre-compiled version of the extension targeting a non-threadsafe platform, I decided to just post some links to the libraries here. Hopefully this will save some time for someone else in the future.
The following are 2 links to download a compiled copy of the non-threadsafe extension, one compiled with VC9, the other with VC10. The compiler version must match the compiler used to build your installation of PHP (if you are using 5.3, it is probably VC9, if you have 5.2 or lower these will probably not work for you).
WSF VC9 non-threadsafe
WSF VC10 non-threadsafe
The following are instructions on how to install the extension:
1. Download and unzip the folder somewhere on your web server. Make note of the path where you unzipped this folder, it contains libraries that the extension uses.
2. Copy the wsf.dll file from the folder into your PHP extensions directory.
3. Open your php.ini file and paste the following code at the bottom (note: make sure that paths are correct)
wsf.home="C:/Program Files (x86)/PHP/wso2-wsf-php-bin-2.1.0-win32/wsf_c"
wsf.log_path="C:/Program Files (x86)/PHP/wso2-wsf-php-bin-2.1.0-win32/wsf_c/logs"
wsf.rm_db_dir="C:/Program Files (x86)/PHP/wso2-wsf-php-bin-2.1.0-win32/wsf_c"
include_path = ".;C:/Program Files (x86)/PHP/wso2-wsf-php-bin-2.1.0-win32/scripts"
4. Add the directory to the wsf_c/lib folder to your server’s path environment variable (e.g. C:\Program Files (x86)\PHP\wso2-wsf-php-bin-2.1.0-win32\wsf_c\lib)
5. Restart your web server
After your web server comes back online, you should see something similar to the following in your phpinfo
The code included in this article was originally developed by WSO2 http://wso2.com and is now available open source at github https://github.com/wso2/wsf