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> 

Reply via email to