Hi there,

~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

My system:

- Remedy server: Remedy ARS v5.1.2
- DB server: MS SQL Server 2000 -> single-byte character encoding: Windows 
1252/Latin 1
- Mid-Tier: v5.1.2
- AR Web Service Filter Plug-in (webservice.dll): v5.1.2

~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

I'm trying to consume an external web service with encoding = "UTF-8" via a 
standard Remedy web service filter.
This works fine, except when I try to send special/accented characters like 
for example "ü" (umlaut): i.e. these special characters are not properly 
stored in the external UTF-8 system/database.

The Remedy (web service) plug-in log shows this: (partially shown)

<PLGN> <TID: 001704> <RPC ID: 0000000021> <Queue: ARFILTERAPI> <Client-RPC: 
390695> /* wo aug 23 2006 15:56:49.4570 */ +CALL  
ARFilterApiCall                  -- filter API ARSYS.ARF.WEBSERVICE
<PLGN> <TID: 001704> <RPC ID: 0000000021> <Queue: ARFILTERAPI> <Client-RPC: 
390695> /* wo aug 23 2006 15:56:49.4880 */ <> <FINE> soapService = 
CompanySOAPEdiImplService
<PLGN> <TID: 001704> <RPC ID: 0000000021> <Queue: ARFILTERAPI> <Client-RPC: 
390695> /* wo aug 23 2006 15:56:49.4880 */ <> <FINE> soapMethod = 
createCompanyParcel
<PLGN> <TID: 001704> <RPC ID: 0000000021> <Queue: ARFILTERAPI> <Client-RPC: 
390695> /* wo aug 23 2006 15:56:49.4880 */ <> <FINE> soapURL = 
https://secure2.externalsys.com/Tiger/services/TigerCompanyService
<PLGN> <TID: 001704> <RPC ID: 0000000021> <Queue: ARFILTERAPI> <Client-RPC: 
390695> /* wo aug 23 2006 15:56:49.4880 */ <> <FINE> soapNamespace = 
http://edi.externalsys.com/
<PLGN> <TID: 001704> <RPC ID: 0000000021> <Queue: ARFILTERAPI> <Client-RPC: 
390695> /* wo aug 23 2006 15:56:49.4880 */ <> <FINE> soapInputDocument = 
<ROOT xmlns="urn:CompanySOAPEdiImplService" 
xmlns:ns1="http://edi.externalsys.com/"; 
xmlns:xsd="http://www.w3.org/2001/XMLSchema"; 
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance";>
 <ns1:countryiso xsi:type="xsd:string">GB</ns1:countryiso>
 ...
 <ns1:name xsi:type="xsd:string">Müller</ns1:name>
</ROOT>
<PLGN> <TID: 001704> <RPC ID: 0000000021> <Queue: ARFILTERAPI> <Client-RPC: 
390695> /* wo aug 23 2006 15:56:49.4880 */ <> <FINE> Number of inputs = 12
<PLGN> <TID: 001704> <RPC ID: 0000000021> <Queue: ARFILTERAPI> <Client-RPC: 
390695> /* wo aug 23 2006 15:56:49.8320 */ <> <FINE> Input Env = 
<soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/"; 
xmlns:xsd="http://www.w3.org/2001/XMLSchema"; 
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance";>
 <soapenv:Body><ns1:createCompanyParcel 
xmlns="urn:CompanySOAPEdiImplService" 
xmlns:ns1="http://edi.externalsys.com/"; 
xmlns:xsd="http://www.w3.org/2001/XMLSchema"; 
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance";>
 <ns1:countryiso xsi:type="xsd:string">GB</ns1:countryiso>
 ...
 <ns1:name xsi:type="xsd:string">M&#252;ller</ns1:name>
</ns1:createCompanyParcel> </soapenv:Body>
</soapenv:Envelope>
<PLGN> <TID: 001704> <RPC ID: 0000000021> <Queue: ARFILTERAPI> <Client-RPC: 
390695> /* wo aug 23 2006 15:56:49.8320 */ <> <FINE> About to invoke
<PLGN> <TID: 001704> <RPC ID: 0000000021> <Queue: ARFILTERAPI> <Client-RPC: 
390695> /* wo aug 23 2006 15:56:50.9260 */ <> <FINE> Finished invoking
<PLGN> <TID: 001704> <RPC ID: 0000000021> <Queue: ARFILTERAPI> <Client-RPC: 
390695> /* wo aug 23 2006 15:56:50.9260 */ <> <FINE> Output Envelope = 
<soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/"; 
xmlns:xsd="http://www.w3.org/2001/XMLSchema"; 
xmlns:xsi="http://www.w3.org/2001/XMLSchema-
instance"><soapenv:Body><ns1:createCompanyParcelResponse 
soapenv:encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"; 
xmlns:ns1="http://edi.externalsys.com/";><createCompanyParcelReturn 
xsi:type="xsd:int">1</createCompanyParcelReturn></ns1:createCompanyParcelRes
ponse></soapenv:Body></soapenv:Envelope>
<PLGN> <TID: 001704> <RPC ID: 0000000021> <Queue: ARFILTERAPI> <Client-RPC: 
390695> /* wo aug 23 2006 15:56:50.9410 */ <> <FINE> <?xml version="1.0" 
encoding="UTF-8"?>
<ROOT soapenv:encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"; 
xmlns:ns1="http://edi.externalsys.com/"; 
xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/"; 
xmlns:xsd="http://www.w3.org/2001/XMLSchema"; 
xmlns:xsi="http://www.w3.org/2001/XMLSchema-
instance"><createCompanyParcelReturn 
xsi:type="xsd:int">1</createCompanyParcelReturn></ROOT>
<PLGN> <TID: 001704> <RPC ID: 0000000021> <Queue: ARFILTERAPI> <Client-RPC: 
390695> /* wo aug 23 2006 15:56:50.9410 */ -
CALL                                OK

It appears that the special characters (e.g. "ü") are posted as entity 
characters (e.g. &#252;) to the external UTF-8 web service.
The external party claims that these entity characters are INVALID UTF-8 
string data. Hence the corrupt data...

Can I configure the web service filter plug-in somehow so that these 
special characters will be encoded/posted as real/correct UTF-8 bytes?

Thanks in advance.

Kind regards,
Tommy Dhondt

_______________________________________________________________________________
UNSUBSCRIBE or access ARSlist Archives at http://www.wwrug.org

Reply via email to