Then it is Axis2 issue , so I created a JIRA https://issues.apache.org/jira/browse/AXIS2-3199
Thanks Deepal Anne Thomas Manes wrote: > Deepal, > > Per the wrapped convention, if you have the following interface: > > public String foo(); > > java2wsdl should generate an input element called "foo": > > <w:message name="fooRequest"> > <w:part name="parameters" element="t:foo"/> > </w:message> > > And "foo" must be defined as: > > <s:element name="foo"> > </s:complexType> > </s:element> > > See the JAX-WS spec for the specific requirements of the wrapped > convention, or my blog for a quick overview: > > http://atmanes.blogspot.com/2005/03/wrapped-documentliteral-convention.html > > Anne > > > > On 9/13/07, Deepal Jayasinghe <[EMAIL PROTECTED]> wrote: > >> Simon Laws wrote: >> >>> Hi Deepal >>> >>> Some more comments/questions below. >>> >>> Thanks >>> >>> Simon >>> >>> On 9/13/07, *Deepal jayasinghe* <[EMAIL PROTECTED] >>> <mailto:[EMAIL PROTECTED]>> wrote: >>> >>> >>> > I'm not quite sure whether this in answering the question about >>> > public String foo(); >>> This does not take any method parameters , so user can send SOAP >>> message >>> with empty body . >>> >>> >>> But in this case Axis at the server has to pull the operation name >>> from the SOAPAction header. >>> >> yes . And Axis2 generate SOAP action for that , so it can find the >> operation from the generated SOAP action (if user sends that) >> >>> So when generating the Schema we do not need to >>> generate Schema element for the input. >>> >>> >>> So in this case axis is happy that the operation name arrives at the >>> server in the SOAPAction header rather than in the first child element >>> of the <body>? >>> >> It won't try to look for the body first child , so there wont be big >> difference whether you send that or not. But sometime if you send the >> body first child without sending SOAP action, that Axis2 will use its >> local name to dispatch the operation. >> >>> To put it another way. If you have parameters on you operationjava2WSL >>> generates wrapped style WSDL. However it doesn't generate wrapped >>> style WSDL if you don't have parameters on your operation (I'm using >>> the definition of wrapped WSDL from JAX-WS in this case). >>> >> Hmm , well need WSDL advice here , but as I know the WSDL we are >> generating is correct according to the WSDL validators I have used. >> >>> Sounds strange to me but I'm just trying to get confirmation that this >>> behaviour is by design. There may be a good reason that I'm just not >>> thinking of. >>> >>> But we are generating message >>> element for both input and output. So we are generating in-out mep for >>> the above operation. >>> > >>> > or the other question about >>> > public void foo(String param); >>> In this case we have method which take method parameter , so in this >>> case we generate two schema elements one for input and one for output. >>> And we generate two message elements as well. So in effect we generate >>> in-out mep. >>> >>> >>> When I runjava2WSDL on an interface with the method signature >>> >>> public void foo(String param); >>> >>> I see >>> >>> a single message >>> a single input part in this message >>> a single XSD element >>> >> That is correct , since you have in only operation. >> >>> (see the WSDL I posted earlier in this thread) >>> >>> So it seems axis is generating an in only mep. How do I tell it to >>> produce what you are saying here, i.e. an in-out mep >>> >>> > >>> > I think it's answering the former. If I have understood this >>> correctly, >>> > then I'm not clear about what is the intention of Axis2 for the >>> latter. >>> > This case does seem to generate an in-only MEP at the moment. >>> If the method is in only you need to have method with void as it >>> return >>> type. >>> >>> public void update(String id){ >>> } >>> >>> >>> Are you saying here that any message with a void return type is >>> assumed to be in-only? Or am I reading too much into this. To put it >>> another way how do I tell java2WSDL to choose between the generation >>> of in-only or in-out meps in this case. >>> >> There is no way , it pick the MEP looking at the java method , if it is >> void then it assume that as in-only , if the method is void and has a >> exception then it will generate robust-in else it will generate in-out. >> >> Thanks >> Deepal >> >> >> --------------------------------------------------------------------- >> To unsubscribe, e-mail: [EMAIL PROTECTED] >> For additional commands, e-mail: [EMAIL PROTECTED] >> >> >> > > --------------------------------------------------------------------- > To unsubscribe, e-mail: [EMAIL PROTECTED] > For additional commands, e-mail: [EMAIL PROTECTED] > > > > --------------------------------------------------------------------- To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]