dev@jax-ws.java.net

determination of return type for Bare (non wrapped) messages

From: Kamath, Navin <navin.kamath_at_iona.com>
Date: Wed, 16 May 2007 11:12:39 +0100

Hi,

Can an expert please tell me what should be the Java mapping for the
given abstract input and output messages?

<message name="inoutHeaderRequest">
 <part element="tns:inoutHeader" name="me"/>
 <part element="tns:SOAPHeaderInfo" name="header_info"/>
</message>

<message name="inoutHeaderResponse">
 <part element="tns:inoutHeaderResponse" name="the_response"/>
 <part element="tns:SOAPHeaderInfo" name="header_info"/>
</message>

Should it be this?

public org.apache.samples.headers.InoutHeaderResponse inoutHeader(
 @WebParam(targetNamespace = "http://apache.org/samples/headers",
partName = "me", name = "inoutHeader")
org.apache.samples.headers.InoutHeader me,
 @WebParam(targetNamespace = "http://apache.org/samples/headers", header
= true, mode = Mode.INOUT, partName = "header_info", name =
"SOAPHeaderInfo")
javax.xml.ws.Holder<org.apache.samples.headers.SOAPHeaderData>
headerInfo );

I want to know the interpretation of section 2.3.2 (parameter order and
return type)

This has a paragraph about the Non wrapper style return type
determination
"If there is a single unlisted out part in the abstract output message
then it forms the method return type, otherwise the return type is
void."

So, my question is...

When we are referring to the abstract out message, are all parts treated
as out or the return type determination is a two step process where we
first figure out which are in, out and inout and then apply the 2.3.2
rule?

More specifically should the return type in above case be void?

Regards,
Navin