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ü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:createCompanyParcelResponse></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. ü) 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