<?xml version="1.0" encoding="UTF-8"?>
<rss xmlns:content="http://purl.org/rss/1.0/modules/content/" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:taxo="http://purl.org/rss/1.0/modules/taxonomy/" version="2.0">
  <channel>
    <title>topic Re: Using CL_HTTP_CLIENT object to send HTTP request - GB2312 encoding in Application Development and Automation Discussions</title>
    <link>https://community.sap.com/t5/application-development-and-automation-discussions/using-cl-http-client-object-to-send-http-request-gb2312-encoding/m-p/6172988#M1372041</link>
    <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;This is the header the bank is saying I am sending - note how it puts UTF-8 into it automatically!&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;POST / HTTP/1.0&lt;/P&gt;&lt;P&gt;content-type: INFOSEC_SIGN/1.0; charset=utf-8&lt;/P&gt;&lt;P&gt;content-length: 1501&lt;/P&gt;&lt;P&gt;user-agent: SAP Web Application Server (1.0;700)&lt;/P&gt;&lt;P&gt;host: 192.168.44.203:449&lt;/P&gt;&lt;P&gt;accept-encoding: gzip&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
    <pubDate>Fri, 18 Sep 2009 12:43:59 GMT</pubDate>
    <dc:creator>Former Member</dc:creator>
    <dc:date>2009-09-18T12:43:59Z</dc:date>
    <item>
      <title>Using CL_HTTP_CLIENT object to send HTTP request - GB2312 encoding</title>
      <link>https://community.sap.com/t5/application-development-and-automation-discussions/using-cl-http-client-object-to-send-http-request-gb2312-encoding/m-p/6172984#M1372037</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Hello!&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;I have to create a program that sends an xml string via HTTP to a bank server to get encoded.  The bank server then sends me the encoded data back.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;I am trying to implement this using the CL_HTTP_CLIENT object, but it does not appear to be sending chinese characters correctly.  (There will always be Chinese characters in the xml body string I am sending)&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;I am using the following code to build and execute the POST (please note, the content type is not standard - I'm not sure if this matters or not).&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;After my code executes, I am able to check a log file that is generated by the bank - and apparently my request is always being send as "utf-8" encoding.  This causes the chinese characters to be read incorrectly by the bank.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Is there anything special I need to do to be able to send "gb2312" charset with my HTTP post??  Please help... I will greatly appreciate it!&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;My current code to send the request (after the code, i'll show you what the bank is saying it received):&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt; Create the HTTP client object&lt;/P&gt;&lt;P&gt;  CALL METHOD CL_HTTP_CLIENT=&amp;gt;CREATE_BY_URL&lt;/P&gt;&lt;P&gt;    EXPORTING&lt;/P&gt;&lt;P&gt;      URL         = url_string&lt;/P&gt;&lt;P&gt;    IMPORTING&lt;/P&gt;&lt;P&gt;      CLIENT        = HTTP_CLIENT_XML&lt;/P&gt;&lt;P&gt;    EXCEPTIONS&lt;/P&gt;&lt;P&gt;      ARGUMENT_NOT_FOUND = 1&lt;/P&gt;&lt;P&gt;      INTERNAL_ERROR     = 2&lt;/P&gt;&lt;P&gt;      PLUGIN_NOT_ACTIVE  = 3&lt;/P&gt;&lt;P&gt;      OTHERS             = 4.&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Error checking&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;  IF SY-SUBRC &amp;lt;&amp;gt; 0.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  ENDIF.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;UL&gt;&lt;UL&gt;&lt;UL&gt;&lt;UL&gt;&lt;UL&gt;&lt;UL&gt;&lt;UL&gt;&lt;UL&gt;&lt;UL&gt;&lt;UL&gt;&lt;UL&gt;&lt;UL&gt;&lt;UL&gt;&lt;UL&gt;&lt;UL&gt;&lt;UL&gt;&lt;UL&gt;&lt;UL&gt;&lt;LI level="19" type="ul"&gt;&lt;P&gt;Set HTTP header properites&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;/UL&gt;&lt;/UL&gt;&lt;/UL&gt;&lt;/UL&gt;&lt;/UL&gt;&lt;/UL&gt;&lt;/UL&gt;&lt;/UL&gt;&lt;/UL&gt;&lt;/UL&gt;&lt;/UL&gt;&lt;/UL&gt;&lt;/UL&gt;&lt;/UL&gt;&lt;/UL&gt;&lt;/UL&gt;&lt;/UL&gt;&lt;/UL&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Set REQUEST METHOD&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;  CALL METHOD HTTP_CLIENT_XML-&amp;gt;REQUEST-&amp;gt;SET_HEADER_FIELD&lt;/P&gt;&lt;P&gt;    EXPORTING&lt;/P&gt;&lt;P&gt;      NAME  = '~request_method'&lt;/P&gt;&lt;P&gt;      VALUE = 'POST'.&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Set SERVER PROTOCOL&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;  CALL METHOD HTTP_CLIENT_XML-&amp;gt;REQUEST-&amp;gt;SET_HEADER_FIELD&lt;/P&gt;&lt;P&gt;    EXPORTING&lt;/P&gt;&lt;P&gt;      NAME  = '~server_protocol'&lt;/P&gt;&lt;P&gt;      VALUE = 'HTTP/1.0'.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Set CONTENT-TYPE&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;  CALL METHOD HTTP_CLIENT_XML-&amp;gt;REQUEST-&amp;gt;SET_HEADER_FIELD&lt;/P&gt;&lt;P&gt;    EXPORTING&lt;/P&gt;&lt;P&gt;      NAME  = 'Content-Type'&lt;/P&gt;&lt;P&gt;      VALUE = 'INFOSEC_SIGN/1.0; charset=GB2312'.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;UL&gt;&lt;UL&gt;&lt;UL&gt;&lt;UL&gt;&lt;UL&gt;&lt;UL&gt;&lt;UL&gt;&lt;UL&gt;&lt;UL&gt;&lt;UL&gt;&lt;UL&gt;&lt;UL&gt;&lt;UL&gt;&lt;UL&gt;&lt;UL&gt;&lt;UL&gt;&lt;UL&gt;&lt;UL&gt;&lt;LI level="19" type="ul"&gt;&lt;P&gt;end of HTTP header properites&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;/UL&gt;&lt;/UL&gt;&lt;/UL&gt;&lt;/UL&gt;&lt;/UL&gt;&lt;/UL&gt;&lt;/UL&gt;&lt;/UL&gt;&lt;/UL&gt;&lt;/UL&gt;&lt;/UL&gt;&lt;/UL&gt;&lt;/UL&gt;&lt;/UL&gt;&lt;/UL&gt;&lt;/UL&gt;&lt;/UL&gt;&lt;/UL&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;UL&gt;&lt;UL&gt;&lt;UL&gt;&lt;UL&gt;&lt;UL&gt;&lt;UL&gt;&lt;UL&gt;&lt;UL&gt;&lt;UL&gt;&lt;UL&gt;&lt;UL&gt;&lt;UL&gt;&lt;UL&gt;&lt;UL&gt;&lt;UL&gt;&lt;UL&gt;&lt;UL&gt;&lt;LI level="18" type="ul"&gt;&lt;P&gt;set my XML string as the CDATA&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;/UL&gt;&lt;/UL&gt;&lt;/UL&gt;&lt;/UL&gt;&lt;/UL&gt;&lt;/UL&gt;&lt;/UL&gt;&lt;/UL&gt;&lt;/UL&gt;&lt;/UL&gt;&lt;/UL&gt;&lt;/UL&gt;&lt;/UL&gt;&lt;/UL&gt;&lt;/UL&gt;&lt;/UL&gt;&lt;/UL&gt;&lt;P&gt;  CALL METHOD HTTP_CLIENT_XML-&amp;gt;REQUEST-&amp;gt;SET_CDATA&lt;/P&gt;&lt;P&gt;    EXPORTING&lt;/P&gt;&lt;P&gt;      DATA   = big_xml&lt;/P&gt;&lt;P&gt;      OFFSET = 0&lt;/P&gt;&lt;P&gt;      LENGTH = xml_length.&lt;/P&gt;&lt;P&gt;******************************************&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;UL&gt;&lt;UL&gt;&lt;UL&gt;&lt;UL&gt;&lt;UL&gt;&lt;UL&gt;&lt;UL&gt;&lt;UL&gt;&lt;UL&gt;&lt;UL&gt;&lt;UL&gt;&lt;UL&gt;&lt;UL&gt;&lt;UL&gt;&lt;UL&gt;&lt;UL&gt;&lt;UL&gt;&lt;UL&gt;&lt;UL&gt;&lt;UL&gt;&lt;UL&gt;&lt;UL&gt;&lt;UL&gt;&lt;UL&gt;&lt;UL&gt;&lt;UL&gt;&lt;UL&gt;&lt;UL&gt;&lt;UL&gt;&lt;UL&gt;&lt;UL&gt;&lt;UL&gt;&lt;UL&gt;&lt;UL&gt;&lt;UL&gt;&lt;UL&gt;&lt;UL&gt;&lt;LI level="38" type="ul"&gt;&lt;P&gt;Send the HTTP request&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;/UL&gt;&lt;/UL&gt;&lt;/UL&gt;&lt;/UL&gt;&lt;/UL&gt;&lt;/UL&gt;&lt;/UL&gt;&lt;/UL&gt;&lt;/UL&gt;&lt;/UL&gt;&lt;/UL&gt;&lt;/UL&gt;&lt;/UL&gt;&lt;/UL&gt;&lt;/UL&gt;&lt;/UL&gt;&lt;/UL&gt;&lt;/UL&gt;&lt;/UL&gt;&lt;/UL&gt;&lt;/UL&gt;&lt;/UL&gt;&lt;/UL&gt;&lt;/UL&gt;&lt;/UL&gt;&lt;/UL&gt;&lt;/UL&gt;&lt;/UL&gt;&lt;/UL&gt;&lt;/UL&gt;&lt;/UL&gt;&lt;/UL&gt;&lt;/UL&gt;&lt;/UL&gt;&lt;/UL&gt;&lt;/UL&gt;&lt;/UL&gt;&lt;P&gt;  CALL METHOD HTTP_CLIENT_XML-&amp;gt;SEND&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;  EXPORTING&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;    timeout =&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;    EXCEPTIONS&lt;/P&gt;&lt;P&gt;      HTTP_COMMUNICATION_FAILURE = 1&lt;/P&gt;&lt;P&gt;      HTTP_INVALID_STATE         = 2&lt;/P&gt;&lt;P&gt;      HTTP_PROCESSING_FAILED     = 3&lt;/P&gt;&lt;P&gt;      OTHERS                     = 4.&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Error checking&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;  IF SY-SUBRC &amp;lt;&amp;gt; 0.&lt;/P&gt;&lt;P&gt;    CALL METHOD HTTP_CLIENT_XML-&amp;gt;GET_LAST_ERROR&lt;/P&gt;&lt;P&gt;      IMPORTING&lt;/P&gt;&lt;P&gt;        CODE    = SUBRC&lt;/P&gt;&lt;P&gt;        MESSAGE = ERRORTEXT.&lt;/P&gt;&lt;P&gt;  ENDIF.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;UL&gt;&lt;UL&gt;&lt;UL&gt;&lt;UL&gt;&lt;UL&gt;&lt;UL&gt;&lt;UL&gt;&lt;UL&gt;&lt;UL&gt;&lt;UL&gt;&lt;UL&gt;&lt;UL&gt;&lt;UL&gt;&lt;UL&gt;&lt;UL&gt;&lt;UL&gt;&lt;UL&gt;&lt;UL&gt;&lt;UL&gt;&lt;UL&gt;&lt;UL&gt;&lt;UL&gt;&lt;UL&gt;&lt;UL&gt;&lt;UL&gt;&lt;UL&gt;&lt;UL&gt;&lt;UL&gt;&lt;UL&gt;&lt;UL&gt;&lt;UL&gt;&lt;UL&gt;&lt;UL&gt;&lt;UL&gt;&lt;UL&gt;&lt;UL&gt;&lt;UL&gt;&lt;UL&gt;&lt;UL&gt;&lt;UL&gt;&lt;UL&gt;&lt;UL&gt;&lt;UL&gt;&lt;UL&gt;&lt;UL&gt;&lt;UL&gt;&lt;UL&gt;&lt;UL&gt;&lt;LI level="49" type="ul"&gt;&lt;P&gt;Receive HTTP response&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;/UL&gt;&lt;/UL&gt;&lt;/UL&gt;&lt;/UL&gt;&lt;/UL&gt;&lt;/UL&gt;&lt;/UL&gt;&lt;/UL&gt;&lt;/UL&gt;&lt;/UL&gt;&lt;/UL&gt;&lt;/UL&gt;&lt;/UL&gt;&lt;/UL&gt;&lt;/UL&gt;&lt;/UL&gt;&lt;/UL&gt;&lt;/UL&gt;&lt;/UL&gt;&lt;/UL&gt;&lt;/UL&gt;&lt;/UL&gt;&lt;/UL&gt;&lt;/UL&gt;&lt;/UL&gt;&lt;/UL&gt;&lt;/UL&gt;&lt;/UL&gt;&lt;/UL&gt;&lt;/UL&gt;&lt;/UL&gt;&lt;/UL&gt;&lt;/UL&gt;&lt;/UL&gt;&lt;/UL&gt;&lt;/UL&gt;&lt;/UL&gt;&lt;/UL&gt;&lt;/UL&gt;&lt;/UL&gt;&lt;/UL&gt;&lt;/UL&gt;&lt;/UL&gt;&lt;/UL&gt;&lt;/UL&gt;&lt;/UL&gt;&lt;/UL&gt;&lt;/UL&gt;&lt;P&gt;  CALL METHOD HTTP_CLIENT_XML-&amp;gt;RECEIVE&lt;/P&gt;&lt;P&gt;    EXCEPTIONS&lt;/P&gt;&lt;P&gt;      HTTP_COMMUNICATION_FAILURE = 1&lt;/P&gt;&lt;P&gt;      HTTP_INVALID_STATE         = 2&lt;/P&gt;&lt;P&gt;      HTTP_PROCESSING_FAILED     = 3&lt;/P&gt;&lt;P&gt;      OTHERS                     = 4.&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Error checking&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;  IF SY-SUBRC &amp;lt;&amp;gt; 0.&lt;/P&gt;&lt;P&gt;    CALL METHOD HTTP_CLIENT_XML-&amp;gt;GET_LAST_ERROR&lt;/P&gt;&lt;P&gt;      IMPORTING&lt;/P&gt;&lt;P&gt;        CODE    = SUBRC&lt;/P&gt;&lt;P&gt;        MESSAGE = ERRORTEXT.&lt;/P&gt;&lt;P&gt;ERRORTEXT.&lt;/P&gt;&lt;P&gt;  ENDIF.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;This code works, but the bank server isn't interpreting the chinese characters correctly...&lt;/P&gt;&lt;P&gt;When the bank gets the POST, this is the header it receives from my program:&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;POST / HTTP/1.0&lt;/P&gt;&lt;P&gt;content-type: INFOSEC_SIGN/1.0; charset=utf-8&lt;/P&gt;&lt;P&gt;content-length: 1501&lt;/P&gt;&lt;P&gt;user-agent: SAP Web Application Server (1.0;700)&lt;/P&gt;&lt;P&gt;host: 192.168.44.203:449&lt;/P&gt;&lt;P&gt;accept-encoding: gzip&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;This all looks correct, except for the "charset-utf-8" it appended to the header.  How do I get rid of this?  I do not want to send the HTTP post request as utf-8 because of the chinese characters!&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;See my code... I assign my content type like this, but it has not worked - it ignores my "gb2312" and puts the utf-8 back in the header:&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Set CONTENT-TYPE&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;  CALL METHOD HTTP_CLIENT_XML-&amp;gt;REQUEST-&amp;gt;SET_HEADER_FIELD&lt;/P&gt;&lt;P&gt;    EXPORTING&lt;/P&gt;&lt;P&gt;      NAME  = 'Content-Type'&lt;/P&gt;&lt;P&gt;      VALUE = 'INFOSEC_SIGN/1.0; charset=GB2312'.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Any ideas?&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Fri, 18 Sep 2009 12:32:01 GMT</pubDate>
      <guid>https://community.sap.com/t5/application-development-and-automation-discussions/using-cl-http-client-object-to-send-http-request-gb2312-encoding/m-p/6172984#M1372037</guid>
      <dc:creator>Former Member</dc:creator>
      <dc:date>2009-09-18T12:32:01Z</dc:date>
    </item>
    <item>
      <title>Re: Using CL_HTTP_CLIENT object to send HTTP request - GB2312 encoding</title>
      <link>https://community.sap.com/t5/application-development-and-automation-discussions/using-cl-http-client-object-to-send-http-request-gb2312-encoding/m-p/6172985#M1372038</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;I'm sorry for the formatting above!  I typed everything in paragraphs very neatly, but it does not show that way in my original post. &lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN __jive_emoticon_name="sad"&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Fri, 18 Sep 2009 12:33:29 GMT</pubDate>
      <guid>https://community.sap.com/t5/application-development-and-automation-discussions/using-cl-http-client-object-to-send-http-request-gb2312-encoding/m-p/6172985#M1372038</guid>
      <dc:creator>Former Member</dc:creator>
      <dc:date>2009-09-18T12:33:29Z</dc:date>
    </item>
    <item>
      <title>Re: Using CL_HTTP_CLIENT object to send HTTP request - GB2312 encoding</title>
      <link>https://community.sap.com/t5/application-development-and-automation-discussions/using-cl-http-client-object-to-send-http-request-gb2312-encoding/m-p/6172986#M1372039</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;(Apparently the code I copied and pasted into the post caused my formatting issue - here is the post without the code)&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;I have to create a program that sends an xml string via HTTP to a bank server to get encoded.  The bank server then sends me the encoded data back.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;I am trying to implement this using the CL_HTTP_CLIENT object, but it does not appear to be sending chinese characters correctly.  (There will always be Chinese characters in the xml body string I am sending)&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;I am using the following code to build and execute the POST (please note, the content type is not standard - I'm not sure if this matters or not).&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;After my code executes, I am able to check a log file that is generated by the bank - and apparently my request is always being send as "utf-8" encoding.  This causes the chinese characters to be read incorrectly by the bank.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Is there anything special I need to do to be able to send "gb2312" charset with my HTTP post??  Please help... I will greatly appreciate it!&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;My current code to send the request (after the code, i'll show you what the bank is saying it received):&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Any ideas?&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Edited by: Matt Sprague on Sep 18, 2009 2:35 PM&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Edited by: Matt Sprague on Sep 18, 2009 2:37 PM&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Fri, 18 Sep 2009 12:35:17 GMT</pubDate>
      <guid>https://community.sap.com/t5/application-development-and-automation-discussions/using-cl-http-client-object-to-send-http-request-gb2312-encoding/m-p/6172986#M1372039</guid>
      <dc:creator>Former Member</dc:creator>
      <dc:date>2009-09-18T12:35:17Z</dc:date>
    </item>
    <item>
      <title>Re: Using CL_HTTP_CLIENT object to send HTTP request - GB2312 encoding</title>
      <link>https://community.sap.com/t5/application-development-and-automation-discussions/using-cl-http-client-object-to-send-http-request-gb2312-encoding/m-p/6172987#M1372040</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;OK - here is the code - should be formatted ok now.  Sorry for that!&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Create the HTTP client object&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;  CALL METHOD CL_HTTP_CLIENT=&amp;gt;CREATE_BY_URL&lt;/P&gt;&lt;P&gt;    EXPORTING&lt;/P&gt;&lt;P&gt;      URL         = url_string&lt;/P&gt;&lt;P&gt;    IMPORTING&lt;/P&gt;&lt;P&gt;      CLIENT        = HTTP_CLIENT_XML&lt;/P&gt;&lt;P&gt;    EXCEPTIONS&lt;/P&gt;&lt;P&gt;      ARGUMENT_NOT_FOUND = 1&lt;/P&gt;&lt;P&gt;      INTERNAL_ERROR     = 2&lt;/P&gt;&lt;P&gt;      PLUGIN_NOT_ACTIVE  = 3&lt;/P&gt;&lt;P&gt;      OTHERS             = 4.&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Error checking&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;  IF SY-SUBRC &amp;lt;&amp;gt; 0.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  ENDIF.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;UL&gt;&lt;UL&gt;&lt;UL&gt;&lt;UL&gt;&lt;UL&gt;&lt;UL&gt;&lt;UL&gt;&lt;UL&gt;&lt;UL&gt;&lt;UL&gt;&lt;UL&gt;&lt;UL&gt;&lt;UL&gt;&lt;UL&gt;&lt;UL&gt;&lt;UL&gt;&lt;UL&gt;&lt;UL&gt;&lt;UL&gt;&lt;UL&gt;&lt;UL&gt;&lt;LI level="22" type="ul"&gt;&lt;P&gt;Set HTTP header properites&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;/UL&gt;&lt;/UL&gt;&lt;/UL&gt;&lt;/UL&gt;&lt;/UL&gt;&lt;/UL&gt;&lt;/UL&gt;&lt;/UL&gt;&lt;/UL&gt;&lt;/UL&gt;&lt;/UL&gt;&lt;/UL&gt;&lt;/UL&gt;&lt;/UL&gt;&lt;/UL&gt;&lt;/UL&gt;&lt;/UL&gt;&lt;/UL&gt;&lt;/UL&gt;&lt;/UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Set REQUEST METHOD&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;  CALL METHOD HTTP_CLIENT_XML-&amp;gt;REQUEST-&amp;gt;SET_HEADER_FIELD&lt;/P&gt;&lt;P&gt;    EXPORTING&lt;/P&gt;&lt;P&gt;      NAME  = '~request_method'&lt;/P&gt;&lt;P&gt;      VALUE = 'POST'.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Set SERVER PROTOCOL&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;  CALL METHOD HTTP_CLIENT_XML-&amp;gt;REQUEST-&amp;gt;SET_HEADER_FIELD&lt;/P&gt;&lt;P&gt;    EXPORTING&lt;/P&gt;&lt;P&gt;      NAME  = '~server_protocol'&lt;/P&gt;&lt;P&gt;      VALUE = 'HTTP/1.0'.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Set CONTENT-TYPE&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;  CALL METHOD HTTP_CLIENT_XML-&amp;gt;REQUEST-&amp;gt;SET_HEADER_FIELD&lt;/P&gt;&lt;P&gt;    EXPORTING&lt;/P&gt;&lt;P&gt;      NAME  = 'Content-Type'&lt;/P&gt;&lt;P&gt;      VALUE = 'INFOSEC_SIGN/1.0; charset=GB2312'.&lt;/P&gt;&lt;P&gt;***********************************************&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;  CALL METHOD HTTP_CLIENT_XML-&amp;gt;REQUEST-&amp;gt;SET_CDATA&lt;/P&gt;&lt;P&gt;    EXPORTING&lt;/P&gt;&lt;P&gt;      DATA   = big_xml&lt;/P&gt;&lt;P&gt;      OFFSET = 0&lt;/P&gt;&lt;P&gt;      LENGTH = xml_length.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Send the HTTP request&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;  CALL METHOD HTTP_CLIENT_XML-&amp;gt;SEND&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;  EXPORTING&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;    timeout =&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;    EXCEPTIONS&lt;/P&gt;&lt;P&gt;      HTTP_COMMUNICATION_FAILURE = 1&lt;/P&gt;&lt;P&gt;      HTTP_INVALID_STATE         = 2&lt;/P&gt;&lt;P&gt;      HTTP_PROCESSING_FAILED     = 3&lt;/P&gt;&lt;P&gt;      OTHERS                     = 4.&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Error checking&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;  IF SY-SUBRC &amp;lt;&amp;gt; 0.&lt;/P&gt;&lt;P&gt;    CALL METHOD HTTP_CLIENT_XML-&amp;gt;GET_LAST_ERROR&lt;/P&gt;&lt;P&gt;      IMPORTING&lt;/P&gt;&lt;P&gt;        CODE    = SUBRC&lt;/P&gt;&lt;P&gt;        MESSAGE = ERRORTEXT.&lt;/P&gt;&lt;P&gt;  ENDIF.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Receive HTTP response&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;  CALL METHOD HTTP_CLIENT_XML-&amp;gt;RECEIVE&lt;/P&gt;&lt;P&gt;    EXCEPTIONS&lt;/P&gt;&lt;P&gt;      HTTP_COMMUNICATION_FAILURE = 1&lt;/P&gt;&lt;P&gt;      HTTP_INVALID_STATE         = 2&lt;/P&gt;&lt;P&gt;      HTTP_PROCESSING_FAILED     = 3&lt;/P&gt;&lt;P&gt;      OTHERS                     = 4.&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Error checking&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;  IF SY-SUBRC &amp;lt;&amp;gt; 0.&lt;/P&gt;&lt;P&gt;    CALL METHOD HTTP_CLIENT_XML-&amp;gt;GET_LAST_ERROR&lt;/P&gt;&lt;P&gt;      IMPORTING&lt;/P&gt;&lt;P&gt;        CODE    = SUBRC&lt;/P&gt;&lt;P&gt;        MESSAGE = ERRORTEXT.&lt;/P&gt;&lt;P&gt;  ENDIF.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Move response string into variable&lt;/P&gt;&lt;/LI&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt; RESULT = HTTP_CLIENT_XML-&amp;gt;RESPONSE-&amp;gt;GET_CDATA( ).&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Close HTTP connection&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;  CALL METHOD HTTP_CLIENT_XML-&amp;gt;CLOSE&lt;/P&gt;&lt;P&gt;    EXCEPTIONS&lt;/P&gt;&lt;P&gt;      HTTP_INVALID_STATE = 1&lt;/P&gt;&lt;P&gt;      OTHERS             = 2.&lt;/P&gt;&lt;UL&gt;&lt;LI level="1" type="ul"&gt;&lt;P&gt;Error checking&lt;/P&gt;&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;  IF SY-SUBRC &amp;lt;&amp;gt; 0.&lt;/P&gt;&lt;P&gt;    CALL METHOD HTTP_CLIENT_XML-&amp;gt;GET_LAST_ERROR&lt;/P&gt;&lt;P&gt;      IMPORTING&lt;/P&gt;&lt;P&gt;        CODE    = SUBRC&lt;/P&gt;&lt;P&gt;        MESSAGE = ERRORTEXT.&lt;/P&gt;&lt;P&gt;  ENDIF.&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Fri, 18 Sep 2009 12:41:07 GMT</pubDate>
      <guid>https://community.sap.com/t5/application-development-and-automation-discussions/using-cl-http-client-object-to-send-http-request-gb2312-encoding/m-p/6172987#M1372040</guid>
      <dc:creator>Former Member</dc:creator>
      <dc:date>2009-09-18T12:41:07Z</dc:date>
    </item>
    <item>
      <title>Re: Using CL_HTTP_CLIENT object to send HTTP request - GB2312 encoding</title>
      <link>https://community.sap.com/t5/application-development-and-automation-discussions/using-cl-http-client-object-to-send-http-request-gb2312-encoding/m-p/6172988#M1372041</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;This is the header the bank is saying I am sending - note how it puts UTF-8 into it automatically!&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;POST / HTTP/1.0&lt;/P&gt;&lt;P&gt;content-type: INFOSEC_SIGN/1.0; charset=utf-8&lt;/P&gt;&lt;P&gt;content-length: 1501&lt;/P&gt;&lt;P&gt;user-agent: SAP Web Application Server (1.0;700)&lt;/P&gt;&lt;P&gt;host: 192.168.44.203:449&lt;/P&gt;&lt;P&gt;accept-encoding: gzip&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Fri, 18 Sep 2009 12:43:59 GMT</pubDate>
      <guid>https://community.sap.com/t5/application-development-and-automation-discussions/using-cl-http-client-object-to-send-http-request-gb2312-encoding/m-p/6172988#M1372041</guid>
      <dc:creator>Former Member</dc:creator>
      <dc:date>2009-09-18T12:43:59Z</dc:date>
    </item>
    <item>
      <title>Re: Using CL_HTTP_CLIENT object to send HTTP request - GB2312 encoding</title>
      <link>https://community.sap.com/t5/application-development-and-automation-discussions/using-cl-http-client-object-to-send-http-request-gb2312-encoding/m-p/6172989#M1372042</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;I solved the issue:&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;If I assign the xml to the request using the HTTP_CLIENT_XML-&amp;gt;REQUEST-&amp;gt;SET_CDATA method it seems to always assign UTF-8 as the encoding scheme.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;If I convert my xml string to a '8400' encoded byte string, and assign it to the request with the HTTP_CLIENT_XML-&amp;gt;REQUEST-&amp;gt;SET_DATA method it transmits the data correctly and the UTF-8 encoding is NOT used.&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Fri, 18 Sep 2009 17:09:32 GMT</pubDate>
      <guid>https://community.sap.com/t5/application-development-and-automation-discussions/using-cl-http-client-object-to-send-http-request-gb2312-encoding/m-p/6172989#M1372042</guid>
      <dc:creator>Former Member</dc:creator>
      <dc:date>2009-09-18T17:09:32Z</dc:date>
    </item>
  </channel>
</rss>

