Discussion:
[ANN] WSO2 Web Services Framework for PHP v2.0.0 Released
(too old to reply)
Nandika Jayawardana
2008-09-12 10:01:02 UTC
Permalink
WSO2 Web Services Framework for PHP v2.0.0 Released
=====================================================

We are pleased to announce the release of WSO2 WSF/PHP 2.0.0

WSO2 Web Services Framework for PHP (WSO2 WSF/PHP), is an open source,
enterprise grade, PHP extension for providing and consuming Web Services
in PHP.
WSO2 WSF/PHP is a complete solution for building and deploying Web
services and is
the only PHP extension with the widest range of WS-* specification
implementations.
It's Key features include, secure services and clients with WS-Security
support,
binary attachments with MTOM, automatic WSDL generation (code first model),
WSDL mode for both services and clients (contract first model)
and interoperability with .NET and J2EE.

You can download the release from:
http://wso2.org/downloads/wsf/php

Project home page:
http://wso2.org/projects/wsf/php

------------
Key Features
============

1. Client API to consume Web services
* WSMessage class to handle message level options
* WSClient class with both one way and two way service invocation
support
* Option of using functions in place of object oriented API with
ws_request

2. Service API to provide Web services
* WSMessage class to handle message level options
* WSService class with support for both one way and two way operations
* Option of using functions in place of object oriented API with
ws_reply

3. Attachments with MTOM
* Binary optimized
* Non-optimized (Base64 binary)

4. WS-Addressing
* Version 1.0
* Submission

5. WS-Security
* UsernameToken and Timestamp
* Encryption
* Signing
* WS-SecurityPolicy based configuration
* WS-Secure Conversation

6. WS-Reliable Messaging
* Single channel one way and two way reliable messaging

7. WSDL Generation for Server Side
* WSDL generation based on annotations and function signatures, and
serving on ?wsdl or ?wsdl2 requests

8. WSDL mode support for both client and server side
* Write services and client based on a given WSDL
* WS-Addressing and WS-SecurityPolicy is supported in WSDL mode
* MTOM is now supported with WSDL mode

9. REST Support
* Expose a single service script both as SOAP and REST service

10. Provide easy to use classes for common services
* Consume some well known services such as Yahoo search and Flickr
and Amazon services using predefined classes

11. wsdl2php.php script. This script can generate PHP classes for services
and clients for a given WSDL to be used with WSDL Mode .

12. Data Services API
PHP Data Services API that enables exposing database queries as web
services.


--------------------------------
Major Changes Since Last Release
================================
* Added PKCS12 Keystore Support
* Added Secure Conversation Support
* Added Replay Detection Support
* Contract First Web Services support for MTOM
* SWA ( Soap With Attachments ) Support added
* MTOM Attachment caching support added
* HTTP Chunking support added
* REST API Improved to support HTTP verbs GET,DELETE,PUT and POST
* New PHP Data Services Solution
* WS-RM 1.1 added
* Many Bug Fixes

-------------------
Reporting Problems
===================
Issues can be reported using the public JIRA available at:
https://wso2.org/jira/browse/WSFPHP

------------
Contact Us
============

Please subscribe to our user or developer mailing lists. For details on how
to subscribe please visit: http://wso2.org/mail#wsfphp

We welcome your early feedback on this implementation.
Thank you for your interest in WSO2 WSF/PHP.

-- WSO2 WSF/PHP Team --
Exception e
2009-01-22 23:02:04 UTC
Permalink
Post by Nandika Jayawardana
WSO2 Web Services Framework for PHP v2.0.0 Released
It's Key features include, secure services and clients with WS-Security
support,
binary attachments with MTOM, automatic WSDL generation (code first model),
WSDL mode for both services and clients (contract first model)
and interoperability with .NET and J2EE.
Your feature list is really cool, I've previously looked at it but I was
deterred by your examples
(http://wso2.org/project/wsf/php/2.0.0/docs/manual_content.html#Quick).

Where is the automatic WSDL-generation part?
I see you using code like this:

$reqPayloadString = <<<XML
<ns1:doSpellingSuggestion
x:encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"
xmlns:ns1="urn:GoogleSearch"
xmlns:x="http://schemas.xmlsoap.org/soap/envelope/"
xmlns:xsi="http://www.w3.org/1999/XMLSchema-instance"
xmlns:xsd="http://www.w3.org/1999/XMLSchema">
<key xsi:type="xsd:string">your_key_here</key>
<phrase xsi:type="xsd:string">tamperature</phrase>
</ns1:doSpellingSuggestion>
XML;


But that's just the marshalled code that shouldn't be in a program. I
think that a SOAP-library is meant to explicitly hide
communication-details from the application code.


Compare this to the Zend Framework way, all you need is this:

// return WSDL file of your service
if(isset($_GET['wsdl'])) {
$autodiscover = new Zend_Soap_AutoDiscover();
$autodiscover->setClass('HelloWorldService');
$autodiscover->handle();

// handling soap requests
} else {
// pointing to the current file here
$soap = new Zend_Soap_Server("http://example.com/soap.php?wsdl");
$soap->setClass('HelloWorldService');
$soap->handle();
}


I obviously miss something. How do achieve something similar with you
library?
Nandika Jayawardana
2009-01-23 06:11:51 UTC
Permalink
Post by Exception e
Post by Nandika Jayawardana
WSO2 Web Services Framework for PHP v2.0.0 Released
It's Key features include, secure services and clients with
WS-Security support,
binary attachments with MTOM, automatic WSDL generation (code first model),
WSDL mode for both services and clients (contract first model)
and interoperability with .NET and J2EE.
Your feature list is really cool, I've previously looked at it but I
was deterred by your examples
(http://wso2.org/project/wsf/php/2.0.0/docs/manual_content.html#Quick).
Where is the automatic WSDL-generation part?
$reqPayloadString = <<<XML
<ns1:doSpellingSuggestion
x:encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"
xmlns:ns1="urn:GoogleSearch"
xmlns:x="http://schemas.xmlsoap.org/soap/envelope/"
xmlns:xsi="http://www.w3.org/1999/XMLSchema-instance"
xmlns:xsd="http://www.w3.org/1999/XMLSchema">
<key xsi:type="xsd:string">your_key_here</key>
<phrase xsi:type="xsd:string">tamperature</phrase>
</ns1:doSpellingSuggestion>
XML;
But that's just the marshalled code that shouldn't be in a program. I
think that a SOAP-library is meant to explicitly hide
communication-details from the application code.
// return WSDL file of your service
if(isset($_GET['wsdl'])) {
$autodiscover = new Zend_Soap_AutoDiscover();
$autodiscover->setClass('HelloWorldService');
$autodiscover->handle();
// handling soap requests
} else {
// pointing to the current file here
$soap = new Zend_Soap_Server("http://example.com/soap.php?wsdl");
$soap->setClass('HelloWorldService');
$soap->handle();
}
I obviously miss something. How do achieve something similar with you
library?
What you have observed is one mode of operation in WSF/PHP. Here you can
specify the xml to be sent and received. In addition WSF/PHP also
supports WSDL mode operation, where you can specify a wsdl and a class
map and implement business logic while WSF/PHP takes care of handling
xml. Also it ships with a script to generate client/server code
corresponding to the given WSDL.

You can find further details here.
http://wso2.org/project/wsf/php/2.0.0/docs/manual.html
and from the blog
http://www.phpwebservices.blogspot.com/

Regards
Nandika

Loading...