SOAP interoperability

From: Date: Fri, 18 Jul 2003 12:32:35 +0000
Subject: SOAP interoperability
Groups: php.pear.dev 
Request: Send a blank email to pear-dev+get-18377@lists.php.net to get a copy of this message
Hi, I'm using PEAR SOAP for a project at work. It has to talk to a MS .NET service. However, the .NET service only recognises call parameters, if I apply the following nasty kludge: diff -u -u -r1.38 Base.php --- Base.php 15 Jul 2003 18:33:49 -0000 1.38 +++ Base.php 18 Jul 2003 12:18:26 -0000 @@ -519,7 +519,8 @@ $elPrefix = $this->_getNamespacePrefix($elNamespace); $xmlout_name = "$elPrefix:$name"; } else { - $xmlout_name = $name; + $xmlout_name = "ns4:".$name; + //$xmlout_name = $name; } if ($typeNamespace) { It seems that the MSXML parser doesn't recognise the namespace of the parameters. The MS developers pointed me to this link which seems to prove their case: http://groups.google.co.uk/groups?hl=en&lr=&ie=UTF-8&oe=UTF-8&newwindow=1&threadm=Ou7935y2BHA.1940%40tkmsftngp05&rnum=13&prev=/groups%3Fnum%3D20%26hl%3Den%26ie%3DUTF-8%26oe%3DUTF-8%26newwindow%3D1%26q%3DSOAP-ENV%2B.net%26sa%3DN%26tab%3Dwg%26meta%3D Is this a known problem, and does anyone have any ideas on how to fix it? I've pored over the code, and e-mailed the two maintainers listed in the SOAP header comments directly (Shane and Arnaud) a couple of times, but have had no response. I'm assuming that it's because the '_serializeValue' call is recursive, but the namespace isn't being passed in each recursion. So far, I can't figure out a 'correct' fix for it. Has anyone else had problems communicating with .NET services using PEAR SOAP? Regards, -- Ross

« previous php.pear.dev (#18377) next »