Consultor Eletrônico



Kbase P148137: Special characters in SOAP messages are escaped by the OpenEdge Web Service client
Autor   Progress Software Corporation - Progress
Acesso   Público
Publicação   06/07/2009
Status: Unverified

SYMPTOM(s):

Special characters in SOAP messages are escaped by the OpenEdge Web Service client

Some string characters in SOAP messages are escaped by the OpenEdge Web Service client

FACT(s) (Environment):

The characters are received or sent using an ABL CHARACTER variable
The escaped characters are part of a string parameter
The escaped characters are part of an XML element that is defined by the WSDL document as data type string
OpenEdge 10.x
All Supported Operating Systems

FIX:

If the WSDL document indicates that the parameter is a string, then the content will be escaped since characters such as < , > or & are illegal string characters according to the XML standards. For example these characters will become &lt; , &gt; and &amp; .

One workaround is to manually modify the WSDL document to use a complexType that includes the <xsd:any> element. For example:

------------------
<complexType name='MYanyType'>
<sequence>
<any/>
</sequence>
</complexType>
------------------

Then change the parameter in the WSDL document to reflect this change, for example:
------------------
<message name='MyRequest'>
<part name='parameter1' type='ns1:MYanyType'/>
</message>
------------------