axis-java-user mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Steve Pruitt" <>
Subject document style signatures
Date Wed, 13 Aug 2003 16:01:53 GMT

There are several questions, some based on my confusion surrounding message-style services.
 Sorry for overloading a single post.

The axis user's guide states there are four valid signatures for message style services:

public Element [] method(Element [] bodies);
public SOAPBodyElement [] method (SOAPBodyElement [] bodies);
public Document method(Document body);
public void method(SOAPEnvelope req, SOAPEnvelope resp);

Where archive is the name of my method...
I first implemented public Document archive(Document body) with partial success.  My service
successfully receives the xml document that I put in the body.  But when I echo the document
back, the SOAP response only contains:  14c.  To echo, my method simply returns the body.

When I tried implementing public void archive(SOAPEnvelope req, SOAPEnvelope resp) on deployment
I get:

java.lang.Exception: Method 'archive' does not match any of the valid signatures for message-style
service methods

Finally, there is some confusion on my part on exactly how the axis identifies which method
to call on my webservice.  I remember reading that for message-style services the namespace
of the first element in the body is used to identify the method.  Is this true, or just my
faulty memory?  However looking at the axis Message sample, I can find no reference that can
be mapped to the actual method to call.  The namespace is urn:foo.  The wsdd exposes only
the single method.  Does axis default to this when only one method is identified?  What if
two methods are identified in the wsdd?



View raw message