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

Colm O hEigeartaigh commented on CXF-8977:
------------------------------------------

It's a working draft from 2007, was it ever published? 
[https://www.w3.org/TR/soap12-mtom-policy/]

 

> Add support for MTOM Serialization Policy Assertion 1.1
> -------------------------------------------------------
>
>                 Key: CXF-8977
>                 URL: https://issues.apache.org/jira/browse/CXF-8977
>             Project: CXF
>          Issue Type: New Feature
>          Components: WS-* Components
>    Affects Versions: 4.0.3
>            Reporter: Daniel Spilker
>            Priority: Major
>
> When trying to consume a WSDL containing a MTOM Serialization Policy 
> Assertion 1.1 (https://www.w3.org/TR/soap12-mtom-policy/) a warning is logged 
> and an exception is thrown.
> {code}
> Feb. 13, 2024 7:10:47 AM 
> org.apache.cxf.ws.policy.AssertionBuilderRegistryImpl 
> handleNoRegisteredBuilder
> WARNUNG: No assertion builder for type 
> {http://www.w3.org/2007/08/soap12-mtom-policy}MTOM registered.
> jakarta.xml.ws.soap.SOAPFaultException: None of the policy alternatives can 
> be satisfied.
>       at 
> org.apache.cxf.jaxws.JaxWsClientProxy.mapException(JaxWsClientProxy.java:195)
>       at 
> org.apache.cxf.jaxws.JaxWsClientProxy.invoke(JaxWsClientProxy.java:145)
>       at jdk.proxy2/jdk.proxy2.$Proxy48.listShipments(Unknown Source)
>       at 
> com.example.shipment.adapters.TransferServiceAdapter.listShipments(TransferServiceAdapter.java:52)
>       at 
> com.example.shipment.adapters.TransferServiceAdapterTest.testListShipments(TransferServiceAdapterTest.java:39)
>       at java.base/java.lang.reflect.Method.invoke(Method.java:580)
>       at java.base/java.util.ArrayList.forEach(ArrayList.java:1596)
>       at java.base/java.util.ArrayList.forEach(ArrayList.java:1596)
> Caused by: org.apache.cxf.ws.policy.PolicyException: None of the policy 
> alternatives can be satisfied.
>       at 
> org.apache.cxf.ws.policy.EndpointPolicyImpl.chooseAlternative(EndpointPolicyImpl.java:172)
>       at 
> org.apache.cxf.ws.policy.EndpointPolicyImpl.finalizeConfig(EndpointPolicyImpl.java:146)
>       at 
> org.apache.cxf.ws.policy.EndpointPolicyImpl.initialize(EndpointPolicyImpl.java:142)
>       at 
> org.apache.cxf.ws.policy.PolicyEngineImpl.createEndpointPolicyInfo(PolicyEngineImpl.java:614)
>       at 
> org.apache.cxf.ws.policy.PolicyEngineImpl.getEndpointPolicy(PolicyEngineImpl.java:326)
>       at 
> org.apache.cxf.ws.policy.PolicyEngineImpl.getClientEndpointPolicy(PolicyEngineImpl.java:313)
>       at 
> org.apache.cxf.ws.policy.PolicyDataEngineImpl.getClientEndpointPolicy(PolicyDataEngineImpl.java:61)
>       at 
> org.apache.cxf.transport.http.HTTPConduit.updateClientPolicy(HTTPConduit.java:372)
>       at 
> org.apache.cxf.transport.http.HTTPConduit.updateClientPolicy(HTTPConduit.java:392)
>       at 
> org.apache.cxf.transport.http.HTTPConduit.getClient(HTTPConduit.java:938)
>       at 
> org.apache.cxf.transport.http.HTTPConduit.configureConduitFromEndpointInfo(HTTPConduit.java:414)
>       at 
> org.apache.cxf.transport.http.HTTPConduit.finalizeConfig(HTTPConduit.java:494)
>       at 
> org.apache.cxf.transport.http.HTTPTransportFactory.getConduit(HTTPTransportFactory.java:257)
>       at 
> org.apache.cxf.binding.soap.SoapTransportFactory.getConduit(SoapTransportFactory.java:226)
>       at 
> org.apache.cxf.endpoint.AbstractConduitSelector.createConduit(AbstractConduitSelector.java:151)
>       at 
> org.apache.cxf.endpoint.AbstractConduitSelector.getSelectedConduit(AbstractConduitSelector.java:108)
>       at 
> org.apache.cxf.endpoint.UpfrontConduitSelector.prepare(UpfrontConduitSelector.java:63)
>       at 
> org.apache.cxf.endpoint.ClientImpl.prepareConduitSelector(ClientImpl.java:885)
>       at org.apache.cxf.endpoint.ClientImpl.doInvoke(ClientImpl.java:523)
>       at org.apache.cxf.endpoint.ClientImpl.invoke(ClientImpl.java:439)
>       at org.apache.cxf.endpoint.ClientImpl.invoke(ClientImpl.java:354)
>       at org.apache.cxf.endpoint.ClientImpl.invoke(ClientImpl.java:312)
>       at org.apache.cxf.frontend.ClientProxy.invokeSync(ClientProxy.java:96)
>       at 
> org.apache.cxf.jaxws.JaxWsClientProxy.invoke(JaxWsClientProxy.java:140)
>       ... 6 more
> {code}
> WSDL:
> {code}
> <?xml version="1.0" encoding="UTF-8"?>
> <wsdl:definitions xmlns:example="http://www.example.com/namespace";
>                   
> xmlns:wsu="http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-wssecurity-utility-1.0.xsd";
>                   xmlns:wsoma="http://www.w3.org/2007/08/soap12-mtom-policy";
>                   xmlns:wsdl="http://schemas.xmlsoap.org/wsdl/";
>                   xmlns:wsp="http://schemas.xmlsoap.org/ws/2004/09/policy";
>                   targetNamespace="http://www.example.com/namespace";>
>    <!-- ... -->
>    <wsdl:binding name="TransferServiceBinding" 
> type="example:TransferServicePortType">
>       <wsp:PolicyReference URI="#MtomPolicy"/>
>       <!-- ... -->
>    </wsdl:binding>
>    <!-- ... -->
>    <wsp:Policy wsu:Id="MtomPolicy">
>       <wsoma:MTOM wsp:Optional="false"/>
>    </wsp:Policy>
> </wsdl:definitions>
> {code}



--
This message was sent by Atlassian Jira
(v8.20.10#820010)

Reply via email to