WSO2 Web Services Framework for PHP (WSO2 WSF/PHP) v 2.0.0 Features



Feature Description

Comprehensive Support for Web Services Standards

WSO2 WSF/PHP supports the basic Web services standards including SOAP 1.1, SOAP 1.2 ,WSDL 1.1 and WSDL 2.0.

WSF/PHP also supports the following WS-* specifications:

  • SOAP MTOM

  • WS-Addressing

  • WS-Security

  • WS-SecurityPolicy

  • WS-Secure Conversation

  • WS-ReliableMessaging

Proven Interoperability

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.

REST Support

Single service can be exposed both as a SOAP style as well as a REST style service. WSF/PHP has improved REST API to support custom URI mapping and HTTP verbs (GET, DELETE, PUT and POST). The API was designed in a way that the conceptual REST design of a system can be directly mapped to business operation implementation with minimum effort. There are not many PHP REST engines that provides an easy way to map your REST design to implementation.

Works with Zend Core 2 WSO2 WSF/PHP has been tested to work with Zend Core 2.5

Portability and Platform Support

WSO2 WSF/PHP has been tested on:

  • Windows XP - Microsoft Visual C++ 7.1

  • Windows XP - Microsoft Visual C++ 8.0

  • Linux - gcc 4.1.1

Attachments with Web Services and Clients

WSF/PHP provides full support to send and receive binary data as attachments. It allows the attachment to be sent using either MTOM or SWA. It also introduces new features to optimally process MTOM messages. For example, when large attachments are received, loading the full attachment in memory is very inefficient and infeasible. With the introduction of MTOM caching, large attachments will be saved to a temporary file to be used by end user.

Secure Web Services and Clients WSO2 WSF/PHP extension supports sending messages with UsernameToken, and with TimeStamp and advanced WS-Security features including encryption and signing of SOAP messages.
WSF/PHP also brings many advanced security features needed by enterprise applications, including support for secure conversation, PKCS and replay detection. With the introduction of WS-SecureConversation support to WSF/PHP, a series of messages (conversation) can be protected with a single key. This increases the efficiency of the operation. It also provides user definable session key management functions (store, retrieve, validate and delete) so that WSF/PHP user has the full control of where to save the key, how to validate it between messages, etc.
        PKCS is one of the essential features to support multiple client x509 certificates. Services written in WSF/PHP can now handle different x509 certificates from different clients simultaneously.
Reliable Web Services and Clients Reliable messaging is supported for both services and clients. Basic SOAP messages as well as messages with attachments can be sent in a reliable way.

WSDL Generation

WSO2 WSF/PHP can generate WSDL for PHP service scripts. The well known
"?wsdl" (for serving WSDL 1.1) as well as "?wsdl2" (for serving WSDL 2.0) work for PHP Web services scripts.

WSDL Mode

WSO2 WSF/PHP extension also supports contract first style of implementing Web services and clients. A user can simply provide a WSDL and implement Web services and clients based on the interface given in the WSDL. WS-Addressing and WS-SecurityPolicy is supported in WSDL mode.

wsdl2php script

wsdl2php supports users to develop services and clients using contract first style. User can simply provide a WSDL and generate clients stub and server skeleton. This facilitates users to develop applications with WSF/PHP in short time.

Data Services Solution

WSF/PHP Data Services API enables exposing database queries as web services. Also WSF/PHP Data services  have the support for multiple database engine, nested queries , WSDL generation and many other features. This helps the user to easily expose their data sources as web services with several WS-* support, so that it can be integrated as part of SOA implementation