есть ли способ изменить сообщение SoapBody, используя Apache CXF?Я попытался использовать функцию перехватчиков с режимом Phase.SEND, чтобы попытаться добавить схему XML с результатом в SoapBody.Мне не повезло.
Проблема заключалась в том, что я хочу проверить полученное сообщение с помощью XML-схемы.Текущий вывод SoapBody отправил сообщение о результате со схемой xml, в которой использовалась ссылка на местоположение схемы, которое было недоступно в целевом местоположении.
Чтобы проверить ответное сообщение результата, я добавил «схема-проверка-включена» как true в ResponseContext в BindingProvider;Однако я не уверен, работает ли он или нет.
Я пытался добавить / прикрепить оригинальную схему вместо того, чтобы использовать ее ссылку с ответным сообщением для SoapBody.Есть ли способ использовать аннотации или любые другие методы, чтобы использовать данную схему XML для проверки?
Любая идея и ответ приветствуются.
<?xml version="1.0" encoding="utf-8"?>
<xs:schema id="resultSet" targetNamespace="http://www.xxx.com/" xmlns:mstns="http://www.xxx.com/" xmlns="http://www.xxx.com/" xmlns:xs="http://www.w3.org/2001/XMLSchema" xmlns:msdata="urn:schemas-microsoft-com:xml-msdata" attributeFormDefault="qualified" elementFormDefault="qualified" xmlns:app1="http://www.xxx.com/ResultSet.xsd">
<xs:import namespace="http://www.xxx.com/ResultSet.xsd" schemaLocation="RalsDeviceService_app1.xsd" />
<xs:element name="resultSet" msdata:IsDataSet="true" msdata:Locale="en-US">
<xs:complexType>
<xs:choice minOccurs="0" maxOccurs="unbounded">
<xs:element ref="app1:ResultSet" />
</xs:choice>
</xs:complexType>
</xs:element>
</xs:schema>
<resultSet xmlns="http://www.xxx.com/">
<ns2:ResultSet xmlns:ns2="http://www.xxx.com/ResultSet.xsd">
<ns2:Results>
...
..
.
</resultSet>