[Fusionforge-general] SOAP Api change proposition

Laurent HUET laurent.huet at gmail.com
Tue Mar 23 23:21:12 CET 2010


Hello,

I study the possibility to use the SOAP Api on a continuous server and found
the documentation here : http://fusionforge.org/soap/ ... and in the code
;-)
The actual SOAP Api is based on the NuSOAP Framework.
It use the RPC/Encoded Style with a single WSDL that exposed about 60
operations ...
The operations calls are statefull (session_ser String passed on each
request in the XML payload)
Standard tools like SOAP UI doesn't parse the WSDL ...

Here is my proposition :
- Cut the WSDL in several more little WSDL (operations grouped by family
like in this table :
https://forge.projet-coclico.org/plugins/mediawiki/wiki/wp1/index.php/Forges_SOAP_APIs
- Use only stateless call (security enforced independently from the SOAP
Api)
- Use Document/Literal Wrapped for interoperability reason, especially with
.Net and Java world.
- Use WS-I Basic Profile compliant WSDL

After some code testing, I have written a WSDL and a little PHP code
(getGroups operation only).
The ZIP file on attachments contains all this artefacts.
For this implementation, I have used some tools from Java world to generate
a draft WSDL that I have manually modified (I'm a Java developper).
The resulting WSDL has passed the WS-I testing tool (WS-I : Web Service
Interoperability)
All the code is base on the standard PHP SOAP Extension.
For writing this code, I have used a wsdl2php tool to initiate the code and
customize it (code in the api/soap/tools directory).
This tool parse the XSD schema inside the WSDL and write the corresponding
classes. It generate a Soap Client that I have transformed to be a Soap
server.
I have used the log4php library for debugging.

For testing the server code, I have used SOAP UI tool (http://soapui.org). I
have put the my SOAP UI project on attachment.

Feedback are welcome.
if Fusionforge team is interested, I propose you to write the other WSDL and
the corresponding code to integrate them in the Fusionforge.

PS : I'm a confirmed Java developper but I begin php coding, so please be
indulgent ...

Cheers,

Laurent

-- 
-----------------
Laurent HUET
e-mail : laurent.huet at gmail.com
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.fusionforge.org/pipermail/fusionforge-general/attachments/20100323/5650c188/attachment.htm>
-------------- next part --------------
A non-text attachment was scrubbed...
Name: testSOAPphp.zip
Type: application/zip
Size: 117993 bytes
Desc: not available
URL: <http://lists.fusionforge.org/pipermail/fusionforge-general/attachments/20100323/5650c188/attachment.zip>
-------------- next part --------------
A non-text attachment was scrubbed...
Name: FusionforgeCoreApi-soapui-project.xml.zip
Type: application/zip
Size: 2149 bytes
Desc: not available
URL: <http://lists.fusionforge.org/pipermail/fusionforge-general/attachments/20100323/5650c188/attachment-0001.zip>


More information about the Fusionforge-general mailing list