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]

Reply via email to