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 Tony Piazza <to...@excite.com> on 2004/07/23 15:20:52 UTC

Axis 1.0 vs. Axis 1.1

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!