|
I was testing my
Axis service with a partner who's client is built in .NET. Once I
got him to provide the SOAPAction header in the format Axis wanted, I was able
to run the service, but then his client didn't like the response packet
(included below). He thinks the problem is the fact that the 'ns1'
namespace is used 'before it is defined'. If you look below, the
ns1:HUB_Response tag includes the xmlns:ns1 definition. Is this
normal/legal? I don't know for sure that this is what's bothering his .NET
client - that's just what he thinks it is. The only other difference
between what his documentation says he expects and what I'm actually sending is
the SOAP-ENV tags instead of plain SOAP tags. Any idea which of
these .NET is likely not to like? Workarounds?
Thanks,
Rob
The name 'ns1' is (I
assume) generated by the Axis server library - since I don't specify it anywhere
in my WSDL. The soap wrapper module contains the line
pIWSSZ->createSoapMethod("HUB_Response",
"http://office.vexcom.com/hub");
which is where (I
assume) the namespace is coming from. Is there a way to get this namespace
defined upfront in the SOAP-ENV:Envelope rather than having it generated
automatically inside the SOAP-ENV:Body? I don't mind manually editing the
wrapper or some other part of the stub.
<?xml version="1.0"
encoding="utf-16"?> <SOAP-ENV:Envelope xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"> <SOAP-ENV:Body> <ns1:HUB_Response xmlns:ns1="http://office.vexcom.com/hub"> <UID>xxxx</UID> <TO_TP>xxxx</TO_TP> <FROM_TP>ABCD-EFGH-IJKL-MNOP</FROM_TP> <STATUS>0</STATUS> <STATUS_MSG>SUCCESS</STATUS_MSG> <TIMESTAMP>2005-05-11 17-57-03</TIMESTAMP> </ns1:HUB_Response> </SOAP-ENV:Body> </SOAP-ENV:Envelope> |
