Имея WSO2 ESB 4.9.0, можно ли включить WS-Security клиента, настроить политику для конечной точки, где внешняя (бэкэнд) служба возвращает приложение MTOM?WSO2 ESB WS-Security с MTOM
требование: внешняя бэкэнд-услуга требует, чтобы запрос был подписан и возвращал (необязательно) ответ MTOM, который не подписан (обычным).
Как только модуль Rampart занимается и въездной политика находится в силе, то ответ не получает через простой прокси, за исключением следующего:
Caused by: org.apache.ws.security.WSSecurityException: Error in converting SOAP Envelope to Document; nested exception is:
org.apache.axiom.om.OMException: javax.xml.stream.XMLStreamException: Expected xop:Include as the sole child of an element information item (see section 3.2 of http://www.w3.org/TR/xop10/)
at org.apache.rampart.util.Axis2Util.getDocumentFromSOAPEnvelope(Axis2Util.java:149)
at org.apache.rampart.RampartMessageData.<init>(RampartMessageData.java:268)
... 11 more
Caused by: org.apache.axiom.om.OMException: javax.xml.stream.XMLStreamException: Expected xop:Include as the sole child of an element information item (see section 3.2 of http://www.w3.org/TR/xop10/)
at org.apache.axiom.om.impl.builder.StAXOMBuilder.next(StAXOMBuilder.java:296)
at org.apache.axiom.om.impl.llom.OMSerializableImpl.build(OMSerializableImpl.java:78)
at org.apache.axiom.om.impl.llom.OMElementImpl.build(OMElementImpl.java:722)
at org.apache.rampart.util.Axis2Util.getDocumentFromSOAPEnvelope(Axis2Util.java:84)
... 12 more
Caused by: javax.xml.stream.XMLStreamException: Expected xop:Include as the sole child of an element information item (see section 3.2 of http://www.w3.org/TR/xop10/)
at org.apache.axiom.util.stax.xop.XOPDecodingStreamReader.next(XOPDecodingStreamReader.java:187)
at org.apache.axiom.om.impl.builder.StAXOMBuilder.parserNext(StAXOMBuilder.java:681)
at org.apache.axiom.om.impl.builder.StAXOMBuilder.next(StAXOMBuilder.java:214)
... 15 more
Однако - есть Включать элемент:
<inc:Include href="cid:[email protected]" xmlns:inc="http://www.w3.org/2004/08/xop/include"/>
Попытка протестировать сервис на местном уровне (создание службы макета, похожую на внешний сервис) у меня есть исключение:
Caused by: org.apache.axiom.om.OMException: Part content ID cannot be blank for non root MIME parts
at org.apache.axiom.attachments.Attachments.getNextPartDataHandler(Attachments.java:648)
at org.apache.axiom.attachments.Attachments.getDataHandler(Attachments.java:350)
, который, как я полагаю, связан с выпуском https://wso2.org/jira/browse/ESBJAVA-3585. Связано это или у меня неправильный сервис макета? Работает ли MTOM с включенной политикой безопасности?