You are viewing a plain text version of this content. The canonical link for it is here.
Posted to java-user@axis.apache.org by Mark Malinoski <mm...@aessuccess.org> on 2004/09/08 19:20:42 UTC

turning off xsi:types="xsd:string"

I'm trying to turn off sending of xsi:types attribute in header elements of
an AXIS service.  On the service side I have change the
server configuration file and do not get the expected behavior.  See below.

 <globalConfiguration>
  <parameter name="adminPassword" value="admin"/>
  <parameter name="attachments.Directory"
value="C:\dts-tomcat\webapps\axis\WEB-INF\attachments"/>
  <parameter name="sendMultiRefs" value="false"/>
  <parameter name="sendXsiTypes" value="false"/>
  <parameter name="attachments.implementation"
value="org.apache.axis.attachments.AttachmentsImpl"/>
  <parameter name="sendXMLDeclaration" value="true"/>
  <parameter name="axis.sendMinimizedElements" value="true"/>
  <requestFlow>
   <handler type="java:org.apache.axis.handlers.JWSHandler">
    <parameter name="scope" value="session"/>
   </handler>
   <handler type="java:org.apache.axis.handlers.JWSHandler">
    <parameter name="scope" value="request"/>
    <parameter name="extension" value=".jwr"/>
   </handler>
  </requestFlow>
 </globalConfiguration>
...

On the client side I have tried both the client configuration file and in
code and still get the xsi:type="xsd:string" in the
header elements.  See below.

 <service name="submitDTS" provider="java:RPC" use="literal">
  <operation returnQName="ns1:submitDTSResult" returnType="xsd:string"
name="submitDTS" qname="submitDTS"
xmlns:ns1="http://www.datatransportstandard.com"
xmlns:xsd="http://www.w3.org/2001/XMLSchema">
   <parameter qname="ns1:submitDTSRequest" type="xsd:string"/>
  </operation>
  <parameter name="allowedMethods" value="submitDTS"/>
  <parameter name="wsdlPortType" value="submitDTS"/>
  <parameter name="className"
value="com.datatransportstandard.www.SubmitDTS_BindingImpl"/>
  <parameter name="wsdlServicePort" value="submitDTS"/>
  <parameter name="wsdlTargetNamespace"
value="http://www.datatransportstandard.com"/>
  <parameter name="wsdlServiceElement" value="submitDTS"/>
  <parameter name="sendXsiTypes" value="false"/>
  <parameter name="sendMultiRefs" value="false"/>
 </service>
...

Client Code snippet:

        org.apache.axis.client.Call _call = createCall();
        _call.setOperation(_operations[0]);
        _call.setUseSOAPAction(true);
        _call.setSOAPActionURI("
http://www.datatransportstandard.com/submitDTS");
        _call.setEncodingStyle(null);
        _call.setProperty(org.apache.axis.client.Call.SEND_TYPE_ATTR,
Boolean.FALSE);
        _call.setProperty(org.apache.axis.AxisEngine.PROP_SEND_XSI,
Boolean.FALSE);
        _call.setProperty(org.apache.axis.AxisEngine.PROP_DOMULTIREFS,
Boolean.FALSE);

_call.setSOAPVersion(org.apache.axis.soap.SOAPConstants.SOAP11_CONSTANTS);
        _call.setOperationName(new javax.xml.namespace.QName("",
"submitDTS"));



Request SOAP:

<?xml version="1.0" encoding="UTF-8"?>
<soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/"
xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:xsi="
http://www.w3.org/2001/XMLSchema-instance">
  <soapenv:Header>
     <ns1:DTSSourceId soapenv:mustUnderstand="0" xsi:type="xsd:string"
xmlns:ns1="http://www.datatransportstandard.com">AES</ns1:DTSSourceId>
     <ns2:DTSSourceIdType soapenv:mustUnderstand="0" xsi:type="xsd:string"
xmlns:ns2="http://www.datatransportstandard.com">1111</ns2:DTSSourceIdType>
     <ns3:DTSUUID soapenv:mustUnderstand="0" xsi:type="xsd:string"
xmlns:ns3="http://www.datatransportstandard.com">12345</ns3:DTSUUID>
     <ns4:DTSRecipientId soapenv:mustUnderstand="0" xsi:type="xsd:string"
xmlns:ns4="http://www.datatransportstandard.com">NelNet</ns4:DTSRecipientId
>
     <ns5:DTSTransDateTime soapenv:mustUnderstand="0" xsi:type="xsd:string"
xmlns:ns5="http://www.datatransportstandard.com">09/08/2004 11:14:22.854</
ns5:DTSTransDateTime>
     <ns6:DTSServiceExpectation soapenv:mustUnderstand="0" xsi:type="
xsd:string" xmlns:ns6="http://www.datatransportstandard.com">Immediate</
ns6:DTSServiceExpectation>
     <ns7:DTSPayloadType soapenv:mustUnderstand="0" xsi:type="xsd:string"
xmlns:ns7="http://www.datatransportstandard.com">CRC</ns7:DTSPayloadType>
  </soapenv:Header>
  <soapenv:Body>
     <submitDTS xmlns="">
       <ns8:submitDTSRequest xmlns:ns8="
http://www.datatransportstandard.com">eJzzSM3JyVcIzy/KSQEAGAsEHQ==</
ns8:submitDTSRequest>
     </submitDTS>
  </soapenv:Body>
</soapenv:Envelope>

Response Soap:

<?xml version="1.0" encoding="UTF-8"?>
<soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/"
xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:xsi="
http://www.w3.org/2001/XMLSchema-instance">
  <soapenv:Header>
     <ns1:DTSRecipientId soapenv:mustUnderstand="0" xsi:type="xsd:string"
xmlns:ns1="http://www.datatransportstandard.com">AES</ns1:DTSRecipientId>
     <ns2:DTSSourceId soapenv:mustUnderstand="0" xsi:type="xsd:string"
xmlns:ns2="http://www.datatransportstandard.com">NelNet</ns2:DTSSourceId>
     <ns3:DTSSourceIdType soapenv:mustUnderstand="0" xsi:type="xsd:string"
xmlns:ns3="http://www.datatransportstandard.com">2222</ns3:DTSSourceIdType>
     <ns4:DTSUUID soapenv:mustUnderstand="0" xsi:type="xsd:string"
xmlns:ns4="http://www.datatransportstandard.com">23456</ns4:DTSUUID>
     <ns5:DTSTransDateTime soapenv:mustUnderstand="0" xsi:type="xsd:string"
xmlns:ns5="http://www.datatransportstandard.com">09/08/2004 11:14:22:934</
ns5:DTSTransDateTime>
  </soapenv:Header>
  <soapenv:Body>
     <submitDTSResponse xmlns="">
       <ns6:submitDTSResult xmlns:ns6="http://www.datatransportstandard.com
">eJxzzs8tKEotLk5N0TG01AnNc0biGwIAnyoKPg==</ns6:submitDTSResult>
     </submitDTSResponse>
  </soapenv:Body>
</soapenv:Envelope>


Because I'm not getting the expected behavior, I know I'm doing something
wrong.  So, if someone could point me down the right road, it would
be greatly appreciated.

Thanks in advance.
Mark Malinoski
AES/PHEAA