SOAP interoperability
| From: | Ross Golder | 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