puede un cuerpo XML válido haber escapado caracteres para el '<' y '>' en torno a los nombres de los elementos

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

Pregunta

Mi servicio web está recibiendo XML de un tercero que es similar al siguiente:

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

Mi jaxws servicio web rechaza esto con un error de análisis. Además, si intento validar este XML utilizando soapUI se dice que el cuerpo con sólo elemento de tipo de contenido no puede tener elemento de texto.

Mi pregunta es, ¿es válido que xml? O se supone que el cliente me envía algo sin escapar de la .

Cualquier referencia a las normas o reglas XML son apreciado.

¿Fue útil?

Solución

Bueno, eso es sin duda XML válido. Sin embargo su pregunta parece ser más bien si se ajusta al protocolo SOAP, que es una pregunta más restrictiva.

En el ejemplo, el cuerpo SOAP es sólo un elemento de texto. No soy un experto jabón, pero en todos los ejemplos de SOAP que ver, hay nodos de elemento en el cuerpo y no sólo el texto. También la Recomendación de SOAP ( http://www.w3.org/TR/2000 / NOTA SOAP-20000508 ) Qué dice

  

"entrada Un cuerpo se identifica por su   plenamente cualificado nombre del elemento "

lo que sugiere un requisito para los elementos en lugar de texto.

Otros consejos

Como alternativa, puede escapar de la cadena completa encerrándolo con la sección CDATA (datos de caracteres). Una sección CDATA comienza con el delimitador de nueve caracteres [CDATA [y termina con el delimitador]]:

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

echar un vistazo aquí http: / /xmmssc-www.star.le.ac.uk/SAS/xmmsas_20070308_1802/doc/param/node24.html

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top