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

Sabiya Kazi commented on CXF-6605:
----------------------------------

Hi,
I tried similar use case,
But service invocation failed from SOAP-UI for metadata namespace 
"http://www.w3.org/2007/05/addressing/metadata";.
However, it works fine for "http://www.w3.org/2007/02/addressing/metadata";.

I just looked into cxf code and found that namespace was not added to QName 
types
and MAPAggregatorImpl.hasAddressingAssertion method was missing condition to 
check against MetadataConstants.ADDRESSING_ASSERTION_QNAME_0705.
I have fixed this issue and tested locally.
After this change, I was able to trigger service from SOAP-UI as well as CXF 
client.
I am attaching patch for this fix.



> WS-Addressing 07/05 not working
> -------------------------------
>
>                 Key: CXF-6605
>                 URL: https://issues.apache.org/jira/browse/CXF-6605
>             Project: CXF
>          Issue Type: Bug
>          Components: WS-* Components
>    Affects Versions: 3.1.2
>         Environment: Win 8, current Spring Boot, Embedded Tomcat
>            Reporter: Stefan Kuhn
>              Labels: easyfix
>   Original Estimate: 2h
>  Remaining Estimate: 2h
>
> using 
> xmlns:wsam="http://www.w3.org/2007/05/addressing/metadata"; instead of 
> xmlns:wsam="http://www.w3.org/2007/02/addressing/metadata";
> invalidates valid WS requests.
> e.g. in my usecase, the WSDL uses
>     <wsp:Policy wss:Id="WSAddressing_policy">
>          <wsam:Addressing>
>             <wsp:policy/>
>         </wsam:Addressing> 
>     </wsp:Policy>
> and
>  <wsdl:binding name="OrderManagementServiceOutboundBinding" 
> type="tns:OrderManagementServiceOutboundPortType">
>         <soap:binding style="document" 
> transport="http://schemas.xmlsoap.org/soap/http"/>
>         <wsp:PolicyReference URI="#WSAddressing_policy"/>
> Springs CXF configuration uses the policy interceptor with
>     <cxf:bus>
>         <cxf:features>
>               <p:policies ignoreUnknownAssertions="true"/>
>               <cxf:logging/>
>         </cxf:features>
>     </cxf:bus>
> and
>       <jaxws:endpoint id="outboundService"
>               publish="true"
>               implementor="#outbound" 
>               address="/OrderManagementServiceOutbound"
>               serviceName="s:OrderManagementServiceOutbound" 
>               endpointName="s:OrderManagementResponsePort"
>               wsdlLocation="/wsdl/OrderManagementServiceOutbound.wsdl"
>               xmlns:s="urn:OrderManagementServiceOutbound">
>               
>               <jaxws:properties>
>                       <entry key="faultStackTraceEnabled" 
> value="${ws.stacktrace-enabled:false}" />
>                       <entry key="exceptionMessageCauseEnabled" 
> value="${ws.exception-message-cause-enabled:false}" />
>                       <entry key="schema-validation-enabled" value="true" />
>               </jaxws:properties>
>               
>               <jaxws:features>
>                       <cxf:logging />
>                       <wsa:addressing /> 
>               </jaxws:features>
>       </jaxws:endpoint>
> I've used CXF and SOAP-UI as a client for the server application, both 
> successful for 2007/02, both unsuccessful for 2007/05.
> CXF replies to the same request with 
> <soap:Fault>
>          <faultcode 
> xmlns:ns1="http://www.w3.org/2005/08/addressing";>ns1:MessageAddressingHeaderRequired</faultcode>
>          <faultstring>A required header representing a Message Addressing 
> Property is not present</faultstring>
>       </soap:Fault>
> It seems to me, that the qualified name of ADDRESSING_ASSERTION_QNAME_0705 is 
> not added to the QName[] types in 
> org.apache.cxf.ws.addressing.impl.MAPAggregatorImpl.assertAddressing(Message, 
> EndpointReferenceType, EndpointReferenceType), Line 334.
>   



--
This message was sent by Atlassian JIRA
(v6.3.4#6332)

Reply via email to