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:08:31 UTC
xsi:type="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