axis-java-user mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Mathew, Jose" <jmat...@siemens-emis.com>
Subject FW: Support for SOAP Attachments in Document/Literal Service
Date Mon, 19 Sep 2005 17:36:46 GMT
I take part in an SOA project where I have to create, test and deploy web
services based on WSDL files supplied by a partner Co. We use Apache Axis
1.2. 
 
I have run into a problem with one of the services which has an attachment
as part of the request message. It is a "docment/literal" service by wsdl
definition. I generate the java classes using wsdl2java. The service
interface has 2 arguments - an object which holds information about the file
being attached, and an org.apache.axis.attachments.OctetStream object, which
is the attachment itself. When I invoke the service using the generated
JUnit testcase, I keep getting a SAXException like "Invalid element in
com.xyz.MyClass - myClass". This is an exception thrown by Axis
BeanDeserializer at the server side. 
 
Every thing magically starts working as soon as I change the binding style
in wsdl to "RPC" instead of "document". Even if I first generate the code
using wsdl with style="document" and then just change the style in
server-config.wsdd to "style=RPC" at the time of deployment, it still works
fine.
 
Is a document style web service allowed to have only one argument in the
corresponding implementation java class? Is it failing because I have 2
arguments in there? I am basically seeing that the BeanDeserializer goes for
a toss when deserializing the incoming request message. I intercepted the
outgoing request at the client side and incoming request at the server side
using Axis handlers. They look fine to me. Besides, the fact that the
deserialization works when I change server-config.wsdd to "style=RPC"
baffles me. 
 
Do you think there is anything that I am missing? Any pointers will be
greatly appreciated. I am attaching the files I used.
TIA,
 
Jose Mathew

Mime
View raw message