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 Anthony Piazza <to...@excite.com> on 2004/07/21 04:28:57 UTC

Problem with SOAP body

I am using Axis as a client to a web service that uses WASP. The problem I am having is that the service doesn't work with the more recent versions of Axis (1.1). It turns out that the app server (JBoss) we are using includes the latest version of Axis as part of it's standard deployment (which I have no control over). If I just delete the jars that are deployed with the app server, then it finds my older Axis-related jars and everything works correctly. I used a tcp monitoring tool to see what the difference is between the messages that get sent by the client.

Here is what the SOAP body looks like when using Axis 1.1:

<soapenv:Body>
 <userName xmlns="http://imapi.atp.com">tony</userName>
 <password xmlns="http://imapi.atp.com">password</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>

Here is what the SOAP body looks like when using Axis 1.0:

<soapenv:Body>
 <userName xsi:type="xsd:string" 
  xmlns="http://imapi.atp.com">tony</userName>
 <password 
xsi:type="xsd:string"xmlns="http://imapi.atp.com">password</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>

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. I am stuck with having to work with the version 1.1 Axis-related jars that are included with our app server. Here is my question:

Can I make Axis 1.1 generate a SOAP body that looks like one generated by Axis 1.0?

Thanks in advance for your assistance.

Sincerely,

Tony Piazza





_______________________________________________
Join Excite! - http://www.excite.com
The most personalized portal on the Web!

Re: Problem with SOAP body

Posted by Anand Natrajan <an...@cs.virginia.edu>.
Anthony,

I'll pass on some wisdom I learnt just a day or so ago that may be worth
trying. Find out your Axis client's client-config.wsdd file. In that, there
may be a tag called <globalConfiguration>. Inside that, add the following
XML segment.
	<!-- Attempt to send correct namespaces for string arrays. -->
	<parameter name="sendXsiTypes" value="false" />
Can't guarantee whether it'll work or not, but itmay remove the xsi
namespace. Good luck!

Anand

On Tue, 20 Jul 2004, Anthony Piazza wrote:

:
: I am using Axis as a client to a web service that uses WASP. The problem I am having is that the service doesn't work with the more recent versions of Axis (1.1). It turns out that the app server (JBoss) we are using includes the latest version of Axis as part of it's standard deployment (which I have no control over). If I just delete the jars that are deployed with the app server, then it finds my older Axis-related jars and everything works correctly. I used a tcp monitoring tool to see what the difference is between the messages that get sent by the client.
:
: Here is what the SOAP body looks like when using Axis 1.1:
:
: <soapenv:Body>
:  <userName xmlns="http://imapi.atp.com">tony</userName>
:  <password xmlns="http://imapi.atp.com">password</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>
:
: Here is what the SOAP body looks like when using Axis 1.0:
:
: <soapenv:Body>
:  <userName xsi:type="xsd:string"
:   xmlns="http://imapi.atp.com">tony</userName>
:  <password
: xsi:type="xsd:string"xmlns="http://imapi.atp.com">password</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>
:
: 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. I am stuck with having to work with the version 1.1 Axis-related jars that are included with our app server. Here is my question:
:
: Can I make Axis 1.1 generate a SOAP body that looks like one generated by Axis 1.0?
:
: Thanks in advance for your assistance.
:
: Sincerely,
:
: Tony Piazza
:
:
:
:
:
: _______________________________________________
: Join Excite! - http://www.excite.com
: The most personalized portal on the Web!
: