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]

Reply via email to