Anand,


Thanks for your reply. Just to clarify - I DO want the elements of the SOAP body to 
have the XSI attributes. As I mentioned in my original message, I have no control over 
the Axis jar (which includes the client-config.wsdd file) that I must use. I have 
tried several ways to force the XSI attributes to be included, including:



call.setScopedProperty( Call.SEND_TYPE_ATTR, Boolean.TRUE );



call.getMessageContext().setProperty( AxisEngine.PROP_SEND_XSI, Boolean.TRUE );



None of these cause the elements of the SOAP body to have the XSI attributes on them. 
I have started digging through the Axis source code but haven't yet figured out what I 
need to do.



Does anyone know how to force this behavior?



Thanks again.



Tony Piazza





 --- On Wed 07/21, Anand Natrajan < [EMAIL PROTECTED] > wrote:

From: Anand Natrajan [mailto: [EMAIL PROTECTED]

To: [EMAIL PROTECTED], [EMAIL PROTECTED]

Date: Wed, 21 Jul 2004 13:00:59 -0400 (EDT)

Subject: Re: Problem with SOAP body



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 it may 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!

Reply via email to