|
php.net | support | documentation | report a bug | advanced search | search howto | statistics | random bug | login |
[2004-10-01 14:45 UTC] julien dot wajsberg at francetelecom dot com
Description: ------------ The mode "Document/literal with wrapped convention" is the current industry consensus for exposing Web Services. In particular, the WS-I explicitely forbids use of "RPC/encoded" mode, and most toolkits vendors are working towards "document wrapped/literal". A very good explanation of this convention can be found on http://www.burtongroup.com/weblogs/annethomasmanes/archives/2004/04/000187.html I would suggest adding another mode to the "style" options to SoapClient constructor: SOAP_WRAPPED. There should also be some logic to understand a wsdl using this convention, but it could be done afterwards. This convention is really very similar to "rpc/literal" mode; I didn't test this mode, but if it's already functional, it shouldn't be hard to implement "document wrapped/literal". PatchesPull RequestsHistoryAllCommentsChangesGit/SVN commits
|
|||||||||||||||||||||||||||||||||||||
Copyright © 2001-2025 The PHP GroupAll rights reserved. |
Last updated: Mon Nov 03 17:00:01 2025 UTC |
ext/soap works fine with this WSDL file. To call function on a client side use: $client->add(array("arg1"=>2,"arg2"=>3)); On server side you can use the following function: function add($args) { return $args->arg1 + $args->arg2; }(Sorry to comment on this old bug) While it's possible to use doc/lit wrapped with SoapClient and SoapServer it's a bit ugly because the child elements don't wrap directly to the method parameters. As doc/lit wrapped is used very often and sometimes the only possibility it would still be nice to use it directly so you can write: $client->add(2, 3); on the client side and: function add($arg1, $arg2) { return $arg1 + $arg2; } on the server side. It would make SOAP transparent to handling class, as it currently does with rpc/enc.