I am having problems with client code that was developed with an earlier version of Axis. Here is the content of a web services call that fails:
POST /imapi HTTP/1.0 Content-Type: text/xml; charset=utf-8 Accept: application/soap+xml, application/dime, multipart/related, text/* User-Agent: Axis/1.1 Host: dev8:6070 Cache-Control: no-cache Pragma: no-cache SOAPAction: "atpws_getCellInfo" Content-Length: 592 <?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:Body> <userName xmlns="http://imapi.atp.com"></userName> <password xmlns="http://imapi.atp.com"></password> <imname xmlns="http://imapi.atp.com">pedev8</imname> <bufferType xmlns="http://imapi.atp.com"> BUFFER_MODE_DEFAULT </bufferType> <connectionId xsi:type="xsd:long" xmlns="http://imapi.atp.com">0</connectionId> </soapenv:Body> </soapenv:Envelope> Here is the content of a call that works: POST /imapi HTTP/1.0 Content-Type: text/xml; charset=utf-8 Accept: application/soap+xml, application/dime, multipart/related, text/* User-Agent: Axis/1.0 Host: dev8:6070 Cache-Control: no-cache Pragma: no-cache SOAPAction: "atpws_getCellInfo" Content-Length: 727 <?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:Body> <userName xsi:type="xsd:string" xmlns="http://imapi.atp.com"></userName> <password xsi:type="xsd:string" xmlns="http://imapi.atp.com"></password> <imname xsi:type="xsd:string" xmlns="http://imapi.atp.com">pedev8</imname> <ns1:bufferType xsi:type="ns1:IMBufferType" xmlns="http://imapi.atp.com" xmlns:ns1="http://imapi.atp.com"> BUFFER_MODE_DEFAULT </ns1:bufferType> <connectionId xsi:type="xsd:long" xmlns="http://imapi.atp.com">0</connectionId> </soapenv:Body> </soapenv:Envelope> You can probably see that the difference has to do with the xsi:type info that is included with the string parameters and the namespace declaration that is used on the bufferType parameter. The only thing that changes on the client side is the version of the Axis-related jars I am using. That is why I was looking for some sort of configuration option that would make Axis 1.1 behave like Axis 1.0. I tried specifying an alternate configuration file (instead of client-config.xml) as well as changing the one that resides in axis.jar. After my changes, the client-config.xml file looks like this: <?xml version="1.0" encoding="UTF-8"?> <deployment name="defaultClientConfig" xmlns="http://xml.apache.org/axis/wsdd/" xmlns:java="http://xml.apache.org/axis/wsdd/providers/java"> <globalConfiguration> <parameter name="sendXsiTypes" value="true"/> </globalConfiguration> <transport name="http" pivot="java:org.apache.axis.transport.http.HTTPSender"/> <transport name="local" pivot="java:org.apache.axis.transport.local.LocalSender"/> <transport name="java" pivot="java:org.apache.axis.transport.java.JavaSender"/> </deployment> None of these changes has produced the desired result. I am starting to wonder if I am even in the ballpark. I will continue digging but would certainly appreciate any insight someone might have. The Axis 1.1 jars are bundled with our app server (which I have no control over). This means I need to find a way to use them instead of the Axis 1.0 jars that were used to develop this code. Thanks in advance, Tony Piazza _______________________________________________ Join Excite! - http://www.excite.com The most personalized portal on the Web!
