You are viewing a plain text version of this content. The canonical link for it is here.
Posted to issues@cxf.apache.org by "Willem Jiang (JIRA)" <ji...@apache.org> on 2013/04/28 08:38:16 UTC

[jira] [Commented] (CXF-4990) When thrown the fault from logical handle, the namespace setting doesn't work

    [ https://issues.apache.org/jira/browse/CXF-4990?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13643919#comment-13643919 ] 

Willem Jiang commented on CXF-4990:
-----------------------------------

After digging the issue for a while, I found in CXF JAXWS frontend, LogicalHandlerFaultOutInterceptor replaces the Original XMLWriter with the W3CDOMStreamWriter to reread the fault message before calling the handleFault method of the LogicalHandler. 
Unfortunately the W3CDOMStreamWriter doesn't aware the root namespaces, so it uses the local prefix instead of using the namespaces from the soap envelope.
                
> When thrown the fault from logical handle, the namespace setting doesn't work 
> ------------------------------------------------------------------------------
>
>                 Key: CXF-4990
>                 URL: https://issues.apache.org/jira/browse/CXF-4990
>             Project: CXF
>          Issue Type: Bug
>          Components: JAX-WS Runtime
>    Affects Versions: 2.7.4, 2.6.7
>            Reporter: Willem Jiang
>            Assignee: Willem Jiang
>             Fix For: 2.8.0, 2.6.8, 2.7.5
>
>
> CXF support to setup the namespaces in the soap envelope by setting the property of soap.env.ns.map like the below setting, but it doesn't take effect when throwing the fault from handler like this.
> {code}
> <jaxws:endpoint
>                 id="cxfEndpoint"
>                 address="http://localhost:5555"
>                 wsdlURL="wsdl/demo.wsdl"
>                 serviceClass="lt.seb.esb.testing.HelloPortType"
>                 serviceName="s:HelloService"
>                 xmlns:s="urn:lt:seb:esb:testing">
> <jaxws:properties>
>         
>                         <entry key="soap.env.ns.map">
>                                 <map>
>                                         <entry key="esb" value="http://www.example.com/esb/20080930/header" />
>                                 </map>
>                         </entry>
>                         
>                 </jaxws:properties>
>                 <jaxws:handlers>
>                         <ref bean="faultThrowingHandler" />
>                 </jaxws:handlers>
> </jaxws:endpoint> 
> {code}
>  

--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators
For more information on JIRA, see: http://www.atlassian.com/software/jira