axis-java-user mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Anthony Piazza" <>
Subject Re: Problem with SOAP body
Date Thu, 22 Jul 2004 16:30:45 GMT
 Maybe it will be helpful for me to provide a bit more detail. Here is the content of a web
services call that doesn't work: POST /imapi HTTP/1.0Content-Type: text/xml; charset=utf-8Accept:
application/soap+xml, application/dime, multipart/related, text/*User-Agent: Axis/1.1Host:
dev8:6070Cache-Control: no-cachePragma: no-cacheSOAPAction: "atpws_getCellInfo"Content-Length:
592&lt;?xml version="1.0" encoding="UTF-8"?&gt;&lt;soapenv:Envelope  xmlns:soapenv=""
  xmlns:xsd=""  xmlns:xsi=""&gt;
&lt;soapenv:Body&gt;  &lt;userName xmlns=""&gt;&lt;/userName&gt;
 &lt;password xmlns=""&gt;&lt;/password&gt;  &lt;imname
xmlns="pedev8"&gt;pedev8&lt;/imname&gt;  &lt;bufferType
 &lt;connectionId xsi:type="xsd:long"     xmlns="0"&gt;0&lt;/connectionId&gt;
&lt;/soapenv:Body&gt;&lt;/soapenv:Envelope&gt;Here is the content of a call
that does work: POST /imapi HTTP/1.0Content-Type: text/xml; charset=utf-8Accept: application/soap+xml,
application/dime, multipart/related, text/*User-Agent: Axis/1.0Host: dev8:6070Cache-Control:
no-cachePragma: no-cacheSOAPAction: "atpws_getCellInfo"Content-Length: 727&lt;?xml version="1.0"
encoding="UTF-8"?&gt;&lt;soapenv:Envelope   xmlns:soapenv=""
   xmlns:xsd=""   xmlns:xsi=""&gt;
&lt;soapenv:Body&gt;  &lt;userName xsi:type="xsd:string"    xmlns=""&gt;&lt;/userName&gt;
 &lt;password xsi:type="xsd:string"    xmlns=""&gt;&lt;/password&gt;
 &lt;imname xsi:type="xsd:string"    xmlns="pedev8"&gt;pedev8&lt;/imname&gt;
 &lt;ns1:bufferType xsi:type="ns1:IMBufferType" xmlns=""    xmlns:ns1="atpII_BUFFER_MODE_DEFAULT"&gt;atpII_BUFFER_MODE_DEFAULT&lt;/ns1:bufferType&gt;
 &lt;connectionId xsi:type="xsd:long"    xmlns="0"&gt;0&lt;/connectionId&gt;
&lt;/soapenv:Body&gt;&lt;/soapenv:Envelope&gt;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 did
take your advice about changing the client-config.xml file. I tried overriding it by specifying
an alternate file as well as changing the one that resides in axis.jar. After my changes,
the client-config.xml file looks like this: &lt;?xml version="1.0" encoding="UTF-8"?&gt;&lt;deployment
name="defaultClientConfig"            xmlns=""           
xmlns:java=""&gt; &lt;globalConfiguration&gt;
  &lt;parameter name="sendXsiTypes" value="true"/&gt; &lt;/globalConfiguration&gt;
&lt;transport name="http" pivot="java:org.apache.axis.transport.http.HTTPSender"/&gt;
&lt;transport name="local" pivot="java:org.apache.axis.transport.local.LocalSender"/&gt;
&lt;transport name="java" pivot=""/&gt;&lt;/deployment&gt;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 help you can offer.

To answer Anand's question about this being server or client code - my code is part of a server
product but is acting as a client to another product via it's web services interface. As I
mentioned before, the Axis 1.1 jars are already on the classpath. My understanding is that
there is no longer a separate axis-client.jar file. The axis.jar file has both a client-config.xml
and server-config.xml inside of it. Much Thanks, Tony --- On Wed 07/21, Michael Thompson &lt; &gt; wrote:From: Michael Thompson [mailto:]To:
axis-user@ws.apache.orgDate: Wed, 21 Jul 2004 15:31:08 -0500Subject: Re: Problem with SOAP
body It was my understanding that you just had to have a client-config.wsdd in the classpath.
So if you don't want to mod your axis.jar, just make sure your the directory your custom client-config.wsdd
is in your classpath.--mAnand Natrajan wrote:&gt;Anthony,&gt;&gt;My bad - I read
your email to the opposite effect. Of course, you could&gt;simply set that parameter to
true...&gt;&gt;Re: control over Axis jar - this is the _client_-side jar we're talking&gt;about,
not the server-side one in the app server. Maybe I am not following&gt;something, but
couldn't your just jar xvf the axis.jar on the _client_ side,&gt;edit client-config.wsdd
(setting the desired parameter to _true_), jar cvf&gt;the whole thing back up and proceed?&gt;&gt;Anand&gt;&gt;On
Wed, 21 Jul 2004, Anthony Piazza wrote:&gt;&gt;:&gt;: Anand,&gt;:&gt;:
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:&gt;:&gt;: call.setScopedProperty(
Call.SEND_TYPE_ATTR, Boolean.TRUE );&gt;:&gt;: call.getMessageContext().setProperty(
AxisEngine.PROP_SEND_XSI, Boolean.TRUE );&gt;:&gt;: 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.&gt;:&gt;: Does anyone know
how to force this behavior?&gt;:&gt;: Thanks again.&gt;:&gt;: Tony Piazza&gt;:&gt;:&gt;:
--- On Wed 07/21, Anand Natrajan &lt; &gt; wrote:&gt;: From:
Anand Natrajan [mailto:]&gt;: To:,;:
Date: Wed, 21 Jul 2004 13:00:59 -0400 (EDT)&gt;: Subject: Re: Problem with SOAP body&gt;:&gt;:
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 .
Inside that, add the following XML segment.&gt;:&gt;: &gt;: &gt;:&gt;:
Can't guarantee whether it'll work or not, but it may remove the xsi namespace.&gt;:&gt;:
Good luck!&gt;:&gt;: Anand&gt;:&gt;: On Tue, 20 Jul 2004, Anthony Piazza wrote:&gt;:&gt;:
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:&gt;:&gt;:
&gt;: tony&gt;: password&gt;: pedev8&gt;: &gt;: xmlns=""&gt;BUFFER_MODE_DEFAULT&gt;:
&gt;: xmlns=""&gt;0&gt;: &gt;:&gt;: Here is what the
SOAP body looks like when using Axis 1.0:&gt;:&gt;: &gt;: &gt;: xmlns=""&gt;tony&gt;:
&gt;: xmlns=""&gt;password&gt;: &gt;: xmlns=""&gt;pedev8&gt;:
&gt;: xmlns=""&gt;: xmlns:ns1=""&gt;BU
 FFER_MODE_DEFAULT&gt;: &gt;: xmlns=""&gt;0&gt;: &gt;:&gt;:
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:&gt;:&gt;: Can I make Axis 1.1 generate a SOAP
body that looks like one generated by Axis 1.0?&gt;:&gt;: Thanks in advance for your
assistance.&gt;:&gt;: Sincerely,&gt;:&gt;: Tony Piazza&gt;:&gt;:&gt;:
_______________________________________________&gt;: Join Excite! -;:
The most personalized portal on the Web!&gt;:&gt;&gt; &gt;

Join Excite! -
The most personalized portal on the Web!

View raw message