peut un corps XML valide ont échappé à caractères pour le « < » et « > » autour des noms d'éléments

StackOverflow https://stackoverflow.com/questions/2314608

Question

Mon service Web reçoit xml d'un tiers qui ressemble à ceci:

<SOAP-ENV:Envelope xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/">
    <SOAP-ENV:Body>
&lt;Foo&gt;bar&lt;/Foo&gt;
    </SOAP-ENV:Body>
</SOAP-ENV:Envelope>

Mon JAXWS service web rejette cela avec une erreur d'analyse. Aussi, si je tente de valider ce xml en utilisant SoapUI il dit corps avec-seul élément type de contenu ne peut pas avoir un élément de texte.

Ma question est, est que XML valide? Ou est le client censé me envoyer quelque chose sans échapper à la .

Toutes les références aux normes XML ou les règles sont appréciées.

Était-ce utile?

La solution

Eh bien, c'est certainement XML valide. Toutefois, votre question semble être plutôt si elle est conforme au protocole SOAP, ce qui est une question plus restrictive.

Dans l'exemple, votre corps SOAP est juste un élément de texte. Je ne suis pas expert SOAP mais dans tous les exemples SOAP que je vois, il y a des noeuds d'éléments dans le corps et pas seulement du texte. Aussi la Recommandation SOAP ( http://www.w3.org/TR/2000 / NOTE-SOAP-20000508 ) fait dire

  

"Une entrée de corps est identifié par son   Nom complet à l'élément "

qui ne suggère une exigence pour les éléments plutôt que du texte.

Autres conseils

Vous pouvez échapper à la chaîne complète en l'enfermant avec la section CDATA (données de caractères). Une section CDATA commence par le séparateur de neuf caractères [CDATA [et se termine par le séparateur]]:

  <![CDATA["Me, Myself & <I>"]]>

jetez un oeil ici http: / /xmmssc-www.star.le.ac.uk/SAS/xmmsas_20070308_1802/doc/param/node24.html

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top