cancel
Showing results for 
Search instead for 
Did you mean: 

ISO-8859-1 encoding a character set conversion is not possible

Former Member
0 Kudos

Hi all,

okay encoding is always fun the response to the Web Service is being sent with ISO-8859-1 encoding to SAP 702 ABAP Proxy Web Service.

The characters being sent are portuguese "çã"

Sorry but at a loss as to why I am getting this error as in I thought SAP could cope with this codepage. The SOAManager full trace cant provide the payload. Testing the wsdl in the portal test everything is fine and response is returned the first two elements are interpreted but the array is not...however this appears to be because we receive <item> tags for the Array instead of the proprietary name <myArray> tags as defined in the original wsdl.

should I get them to send UTF-8 from php instead?

Really at a loss with this. I have searched on service.sap.com and here with no answers really making sense to me so far.

Accepted Solutions (1)

Accepted Solutions (1)

MichalKrawczyk
Active Contributor
0 Kudos

Hi,

>>>should I get them to send UTF-8 from php instead?

Please use UTF as SAP 7.0 is a unicode system,

Regards,

Michal Krawczyk

Former Member
0 Kudos

So we tried to change the encoding and test in the portal still nothing good reported.

HTTP/1.1 200 OK
Date: Mon, 02 Apr 2012 16:56:42 GMT
Server: Apache/2.2.21 (Unix) mod_ssl/2.2.21 OpenSSL/0.9.8e-fips-rhel5 PHP/5.2.17
X-Powered-By: PHP/5.2.17
X-SOAP-Server: NuSOAP/0.9.5 (1.123)
Content-Length: 2584
Connection: close
Content-Type: text/xml; charset=UTF-8

<?xml version="1.0" encoding="UTF-8"?><SOAP-ENV:Envelope xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:SOAP-ENC="http://schemas.xmlsoap.org/soap/encoding/"><SOAP-ENV:Body><getResponse xmlns="myURL"><erroMsg xmlns="">Correu bem</erroMsg><valid xmlns="">TRUE</valid><output xmlns="">

<item><MyTag

>Distribui��o</MyTag><Est>017;;Data limite expirou.</Est></item></output></getResponse></SOAP-ENV:Body></SOAP-ENV:Envelope>

Still getting the issue as far as I can see as when I test the webservice from SAP proxy it reports still the same error and I cannot view the Payload trace on SOAManager which is also frsutrating.

Get the following message still

  • The following error occurred in system C1D : A character set conversion is not possible.
  • The error occurred on application server c1d_C1D_17 and in work process 10 .
  • The termination type was: RABAX_STATE
  • The ABAP call stack was:
    Method: READ of program CL_ABAP_CONV_IN_CE============CP
    Method: LOAD_TRACE_PAYLOAD of program /1BCWDY/56XPG9RSQQE9U61K3L8U==CP
    Method: IF_CALL_DETAILS~LOAD_TRACE_PAYLOAD of program /1BCWDY/56XPG9RSQQE9U61K3L8U==CP
    Method: HANDLEIN_CALL_DETAILS of program /1BCWDY/56XPG9RSQQE9U61K3L8U==CP
    Method: IF_WDR_VIEW_DELEGATE~WD_INVOKE_EVENT_HANDLER of program /1BCWDY/56XPG9RSQQE9U61K3L8U==CP
    Method: INVOKE_EVENTHANDLER of program CL_WDR_DELEGATING_VIEW========CP
    Method: NAVIGATE of program CL_WDR_CLIENT_APPLICATION=====CP
    Method: DO_NAVIGATION of program CL_WDR_WINDOW_PHASE_MODEL=====CP
    Method: PROCESS_REQUEST of program CL_WDR_WINDOW_PHASE_MODEL=====CP
    Method: PROCESS_REQUEST of program CL_WDR_WINDOW=================CP

Answers (2)

Answers (2)

baskar_gopalakrishnan2
Active Contributor
0 Kudos

This link talks abt CCC converter program for the converting one encoding to other. See whether it is helpful.

http://wiki.sdn.sap.com/wiki/display/ABAP/Character+encoding+conversion

refer SAP NOTE  1563857 (check whether it is applicable, not sure)

Former Member
0 Kudos

Thankyou for the suggestions, I have checked these but I have the issue that this is a WebService Proxy Consumer. The Server now only sends English texts and still I am getting the error message.

I have wrote a program to encode the request from the ABAP send the request and receive a response as per a blog on SDN...but I have hit a few snags. The transformation generated by the Proxy I have tried to use the Abaptoxml, standard etc etc and it keeps failing at the Request stage...on interpreting the <Days> element...I dont wnat to have to write my own transformation for it really.

When I debug to where the error gets generated I can see the Hexadecimal string where the error gets generated but as its kernel code that performs the read of the node etc I am having a hard time working out how far it got etc etc.

Error text is no Valid "<###"

debugging point is

SAP Debugging

CL_SOAP_MESSAGE_NEW===========CM00R

DESERIALIZE_HEADER_NEW      CL_SOAP_MESSAGE_NEW===========CP

IF_SOAP_TRANSPORT_BINDING~RECEIVE         CL_SOAP_HTTP_TPBND_ROOT=======CP                CL_SOAP_HTTP_TPBND_ROOT=======CM00E

And hexadecimal in body starts with

1F8B080000 and its this that seems to be causing all the trouble???

Any ideas how I can try to work out whats going on...SOAMANAGER payload trace cant interpret it either

Former Member
0 Kudos

I know the basic Response works as when there is an error in the data request I receive the response and understand it fine. So maybe I am still facing issues with the way SAP interprets the WSDL to generate the Proxy and Transformations...but how to identify this??

Former Member
0 Kudos

The answer is the encoding issue is being generated by the length of the string. When we shorten the message we have no issues and we can see the payload.

This is a Direct Web Service call to Consumer Proxy. I have one webservice working fine as the response message is short now we have two displaying this issue.

If you know anythig about buffer setting, parameter settings we may need to make in ERP 702 then I would welcome advice to sort this out.

baskar_gopalakrishnan2
Active Contributor
0 Kudos

you  have to convert ISO-8859-1 to Unicode.  Just for reference google or wiki UTF-8 for this. You can also reference this link

http://www.biega.com/special-char.html