Sure, please fill a jira, and patch is always welcomed!
-------------
Freeman(Yue) Fang

Red Hat, Inc. 
FuseSource is now part of Red Hat



On 2014-2-4, at 下午8:36, Andreas Mattes wrote:

> Hi,
> 
> In a customer project, we have the following issue:
> 
> There are services with non-standard WSDL definitions, where pairs of 
> operations have the same request payload, one operation is request-response 
> for synchronous processing, one operation is one-way for collection of 
> request and later asynchronous processing. The request payloads are provided 
> as String or InputStream, and therefore the JAX-WS Dispatch shall be used for 
> service invocation. Setting the MessageContext.WSDL_OPERATION property, the 
> service invocation works properly unless WS-Addressing is activated.
> 
> With WS-Addressing, however, the WSDL_OPERATION property is ignored for 
> internal message exchange setup, and the request is always treated as the 
> one-way request, so that no response is returned. Further analysis of the CXF 
> DispatchImpl shows, that in this case the WSDL_OPERATION property is 
> overridden by the result of the lookup of a temporary request root element 
> name -> operation name table. In this case the 2nd operation definition with 
> the same payload root element wins, which in our case is the one-way version.
> 
> This problem could be overcome by a simple processing change in DispatchImpl: 
> When the WSDL_OPERATION is explicitly set, and WS-Addressing is activated, 
> the check of the payload should be performed the other way round, i.e. the 
> temporary map is created as operation name -> request payload root element 
> name and verifies that the root element name corresponds to the operation 
> name, even if the root element is not unique. If this check fails, behaviour 
> falls back to the current one.
> 
> As we assume that there may be more cases with similar situations, and with 
> explicit setting of the WSDL_OPERATION, the expected behaviour is that this 
> hint is not overridden unless it is really inconsistent, we would file a Jira 
> issue with a proposed fix.
> 
> Kind regards,
> 
> Andreas Mattes
> 
> Talend Germany
> 

Reply via email to