axis-java-user mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Vikas Phonsa <VPho...@suz.com>
Subject RE: Help Needed: SOAP message
Date Fri, 09 May 2003 17:05:50 GMT
Thanks a lot for your response.

 

This gives some direction.

 

We are using the client stubs generated from the WSDL2Java and majority ( if
not all ) of the Call class invocations are in those stubs.

 

Here is a chunk of code from one of those stubs called "DefaulBindingStub"

 

_call.setOperationStyle("rpc");

call.setOperationName(new
javax.xml.namespace.QName("http://siebel.com/asi/", "ASMCVehicleInsert"));

 

java.lang.Object _resp = _call.invoke(new java.lang.Object[] {statusObject,
siebelMessage.value});

 

 

So is it suggested that the code in those client stubs be modified. Just
above the line where "call.invoke" is located should we put
call.setOperationUse("encoded");

 

Those stubs are generated by the wsdl and should the wsdl not say that we
need to use "use=encoded" now.

 

And we gotta use Axis 1.0. Does that mean the issue could not be solved
without using Axis 1.1 RC1. I looked at the Axis API and I couldn't fine the
"setOperationUse()" method for the Call class. But that API could be for
Axis 1.0 only.

 

Siebel generated those stubs at their end and their DefaultBindingStub has
the following line in the code.

 

oper.setUse(org.apache.axis.enum.Use.ENCODED);

 

Does that mean they generated the stubs using Axis1.1 and not 1.0. And is
there any place I can see the API for Axis 1.1

 

I know these are too many questions but I would appreciate the help. 

 

Thanks

 

Vikas

 

 

 

 

 

-----Original Message-----
From: jchen@parasoft.com [mailto:jchen@parasoft.com] 
Sent: Friday, May 09, 2003 9:14 AM
To: axis-user@ws.apache.org
Subject: Re: Help Needed: SOAP message

 

Looks like the Server is using use="encoded" versus use="literal" now.
<FirstSaleDate>Date</FirstSaleDate>     // use ="literal"

<FirstSaleDate ns2:type="n4:string">Date</FirstSaleDate>       //
use="encoded"

If you are using the Axis Call class to generate an invocation, you can set
the "use" attribute before you call the invoke function:

call.setOperationUse("encoded");

If you have the wsdl from Siebel then you should try using SOAPtest to
generate SOAP Clients based off the wsdl. SOAPtest has Axis 1.1RC1
integrated. (Shameless plug for our product =).


John


At 08:54 AM 5/9/2003 -0700, you wrote:




 

Hi Folks

 

I am using axis to generate and send soap messages to a webservices (Siebel)
server. My whole program was working perfect until recently when some
changes where made on the target server. The target server now requires that
the soap request includes the definition of the tags in the request.

 

For Example:

 

All the tags in the previous SOAP request were like this"

<FirstSaleDate>Date</FirstSaleDate>

 

But now they are required to be like this:

<FirstSaleDate ns2:type="n4:string">Date</FirstSaleDate>

 

Please notice that in the second format the type definition is also
included.

 

The Siebel people claim that the wsdl hasn't changed and they are getting
the second type of SOAP request message using axis 1.0 in their labs.

 

Do you by any chance know how could I work with axis to generate the newer
form of SOAP messages.

 

 

Vikas Phonsa

Software Developer

 

 

 

Vikas Phonsa

Software Developer

 


Mime
View raw message