[
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)