// you’re reading...

Tecnologia

Peléandome con apóstrofes y símbolos extraños

Estamos trabajando en una implementación de Business Objects donde se requiere publicar algunos reportes y consumir Web Services publicados con herramientas propias de BO. El problema es que el consumo se realiza desde una aplicación de Java, por lo que en ocasiones el paso de parámetros al Web Service, que a su vez los traduce a un Stored Procedure en DB2, se vuelve un poco truculento.

Por ejemplo, para enviar signos < (menor que) como parámetro al Web Service marca un error ya que es un caracter reservado y lo confunde con el inicio de un tag. Esto se resuelve usando entidades, de acuerdo a la definicion de ISO-8859-1 que es el estándar más utilizado en los browsers y aplicaciones.

A continuación los caracteres más utilizados y sus número de Entidad soportado (note que el caracter de comilla simple no funciona en Explorer y en otras interfaces, en mi caso nos afectaba los pasos de parámetros cadena a un Stored Procedure a través de un Web Service, por lo que en lugar de su Entity Name usamos su Entity Number):

Character Entity Number Entity Name Description
&#34; &quot; quotation mark
&#39; &apos; (does not work in IE) apostrophe
& &#38; &amp; ampersand
< &#60; &lt; less-than
> &#62; &gt; greater-than

Puede consultar la tabla completa en W3Schools

Otra tip muy útil para probar webservices desde algún cliente de SOAP es usar los campos CDATA, sobretodo para evitar hacer encoding o escribir el código de las entidades repetidamente. Estos campos CDATA (Character Data) permite poner cualquier cadena de texto incluyendo caracteres especiales:

<ejemplo>
<![CDATA[
<HTML>
<HEAD><TITLE>Rock & Roll's brothers</TITLE></HEAD>
]]>
</ejemplo>

Ejemplo 2:

<![CDATA[if (c<10)]]>

El contenido dentro de las secciones CDATA debe estar dentro del rango de caracteres permitidos para el contenido XML, los caracteres de control y los caracteres de compatibilidad no pueden escaparse de esta forma. Además, la secuencia ]]> no puede aparecer dentro de una sección CDATA porque esta secuencia señala el final de la sección. Esto significa que las secciones CDATA no pueden anidarse. La secuencia también aparece en algunas secuencias de comandos. Dentro de las secuencias de comandos, es normalmente posible sustituir] ]> por ]]>.

Add This! Blinkbits Blinklist Blogmarks BlogMemes BlueDot BlogLines co.mments Connotea del.icio.us de.lirio.us Digg Diigo DZone Facebook FeedMeLinks Folkd.com Fleck Furl Google Google Reader icio.de IndianPad Leonaut LinkaGoGo Linkarena Linkter Magnolia Mister Wong MyShare Ask.com MyStuff Ask.com Yahoo! MyWeb Netscape Netvouz Newsgator Newsvine Oneview.de RawSugar reddit Rojo Segnalo Shadows Simpy SlashDot Smarking Sphere Spurl Startaid StumbleUpon TailRank Technorati ThisNext yigg.de Webnews.de ReadMe.ru Dobavi.com Dao.bg Lubimi.com Ping.bg Pipe.bg Svejo.net Web-bg.com Plugin by Dichev.com

Califica este articulo

1 Star2 Stars3 Stars4 Stars5 Stars (4 votes, average: 3.25 out of 5)
Loading ... Loading ...

Artículos relacionados

Discussion

No comments for “Peléandome con apóstrofes y símbolos extraños”

Post a comment

Categories

 

October 2009
M T W T F S S
« Aug   Nov »
 1234
567891011
12131415161718
19202122232425
262728293031