You are viewing a plain text version of this content. The canonical link for it is here.
Posted to issues@cxf.apache.org by "Daniel Kulp (JIRA)" <ji...@apache.org> on 2009/03/12 20:38:50 UTC
[jira] Resolved: (CXF-2101) Cannot add headers to request from
Dispatch client in async mode -- ThreadLocal issue
[ https://issues.apache.org/jira/browse/CXF-2101?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]
Daniel Kulp resolved CXF-2101.
------------------------------
Resolution: Fixed
Fix Version/s: 2.1.5
Assignee: Daniel Kulp
> Cannot add headers to request from Dispatch client in async mode -- ThreadLocal issue
> -------------------------------------------------------------------------------------
>
> Key: CXF-2101
> URL: https://issues.apache.org/jira/browse/CXF-2101
> Project: CXF
> Issue Type: Bug
> Components: JAX-WS Runtime
> Affects Versions: 2.1.4
> Environment: JDK 1.6.0_10
> Reporter: Andrew Clegg
> Assignee: Daniel Kulp
> Fix For: 2.1.5
>
>
> org.apache.cxf.jaxws.DispatchImpl extends org.apache.cxf.jaxws.BindingProviderImpl, which has a requestContext field:
> protected ThreadLocal <Map<String, Object>> requestContext =
> new ThreadLocal<Map<String, Object>>();
> Because the request context is in a ThreadLocal, changes made to it are not visible when you invoke the service via DispatchImpl's invokeAsync method.
> For example:
> dispatch.getRequestContext().put(
> BindingProvider.SOAPACTION_USE_PROPERTY, Boolean.TRUE );
> dispatch.getRequestContext().put(
> BindingProvider.SOAPACTION_URI_PROPERTY, "uri:myAction" );
> // If you call it this way, no SOAPAction header, verified by Wireshark:
> Response<StreamSource> response = dispatch.invokeAsync( request );
> // But if you call it this way, you get the header
> StreamSource result = dispatch.invoke( request );
> I can package up a test case if anyone thinks it would help fix this. Personally I know very little about CXF's internals, or the JAX-WS specs, but I can do whatever necessary to help.
--
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.