[ 
https://issues.apache.org/jira/browse/TUSCANY-1658?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Simon Nash updated TUSCANY-1658:
--------------------------------

    Attachment: patch1658

This is a patch for both TUSCANY-1658 and TUSCANY-1653.  I'm not 100% confident 
in it because it doesn't look quite right when I write the WSDL to an output 
stream using the WSDLWriter (there seems to be a wsdl:message missing for the 
two-way void return case), but other evidence I have gathered while debugging 
suggests that the wsdl4j definition does in fact contain this wsdl:message.

If anyone else can make sense of this puzzle, please feel free to apply the 
patch.  There are still runtime issues, but not as bad as without the patch.  I 
did need to add a null check to Axis2BindingInvoker to make the two-way void 
return case work end to end (see below). 

        // FIXME: [rfeng] We have to pay performance penality to build the 
complete OM as the operationClient.complete() will
        // release the underlying HTTP connection. 
        // Force the response to be populated, see 
https://issues.apache.org/jira/browse/TUSCANY-1541
        if (response != null) {    <------**** i added this ****
            response.build();
        }


> Dynamically generated WSDL does not generate wsdl:output if method has void 
> return
> ----------------------------------------------------------------------------------
>
>                 Key: TUSCANY-1658
>                 URL: https://issues.apache.org/jira/browse/TUSCANY-1658
>             Project: Tuscany
>          Issue Type: Bug
>          Components: Java SCA Axis Binding Extension
>    Affects Versions: Java-SCA-Next
>         Environment: Windows XP
>            Reporter: Simon Nash
>            Priority: Critical
>             Fix For: Java-SCA-1.0
>
>         Attachments: patch1658
>
>
> I modified the simple-callback-ws sample to use dynamically generated WSDL. 
> For methods with void return types, the generated WSDL has no wsdl:output 
> element inside the wsdl:operation element.  This causes the following runtime 
> error:
> Caused by: org.apache.axis2.AxisFault: An unknown message label has been 
> encountered: In
>         at 
> org.apache.axis2.description.OutOnlyAxisOperationClient.getMessageContext(OutOnlyAxisOperation.java:211)
>         at 
> org.apache.tuscany.sca.binding.ws.axis2.Axis2BindingInvoker.invokeTarget(Axis2BindingInvoker.java:90)
>         at 
> org.apache.tuscany.sca.binding.ws.axis2.Axis2BindingInvoker.invoke(Axis2BindingInvoker.java:68)
>         at 
> org.apache.tuscany.sca.core.databinding.wire.DataTransformationInteceptor.invoke(DataTransformationInteceptor.java:68)
>         at 
> org.apache.tuscany.sca.core.invocation.JDKInvocationHandler.invoke(JDKInvocationHandler.java:320)
>         at 
> org.apache.tuscany.sca.core.invocation.JDKInvocationHandler.invoke(JDKInvocationHandler.java:117)
>         ... 34 more
> This is a similar problem to TUSCANY-1653. 

-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.


---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]

Reply via email to