Y at-il un moyen de modifier le message SoapBody en utilisant Apache CXF? J'ai essayé d'utiliser la fonction Intercepteurs avec le mode Phase.SEND pour essayer d'ajouter un schéma XML avec un résultat dans SoapBody. Je n'ai pas eu de chance.Comment ajouter un schéma XML dans SoapBody de SoapMessage dans Apache CXF?
Le problème était que je veux valider le message de résultat avec le schéma xml. La sortie actuelle de SoapBody a envoyé un message de résultat avec le schéma xml qui utilisait la référence de l'emplacement de schéma qui n'était pas disponible à l'emplacement cible.
Afin de valider le message de réponse de résultat, j'ai ajouté "schema-validation-enabled" comme vrai dans ResponseContext dans BindingProvider; Cependant, je ne suis pas sûr que cela fonctionne ou non.
J'ai essayé d'ajouter/attacher un schéma original au lieu d'utiliser sa référence avec un message de réponse pour SoapBody. Est-il possible d'utiliser l'annotation ou toute autre méthode pour utiliser le schéma xml donné pour la validation?
Une idée, et une réponse sont appréciées.
<?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>