<?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: HTTP Call to Google Geocode in Application Development and Automation Discussions</title>
    <link>https://community.sap.com/t5/application-development-and-automation-discussions/http-call-to-google-geocode/m-p/7716342#M1579591</link>
    <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Hi Hendrik,&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Please find my reply to James question. &lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Best regards,&lt;/P&gt;&lt;P&gt;Binil&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
    <pubDate>Tue, 30 Apr 2013 11:07:53 GMT</pubDate>
    <dc:creator>Former Member</dc:creator>
    <dc:date>2013-04-30T11:07:53Z</dc:date>
    <item>
      <title>HTTP Call to Google Geocode</title>
      <link>https://community.sap.com/t5/application-development-and-automation-discussions/http-call-to-google-geocode/m-p/7716336#M1579585</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Hi,&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;I'm trying to make an HTTP call to the Google geocode service in an 6.20 client.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;The URL for the call is &lt;A href="http://maps.googleapis.com/maps/api/geocode/xml?address=1,STREET,CITY,POSTCODE,&amp;amp;client=gme-ourclient&amp;amp;sensor=false&amp;amp;signature=fancygooglesignature=" target="test_blank"&gt;http://maps.googleapis.com/maps/api/geocode/xml?address=1,STREET,CITY,POSTCODE,&amp;amp;client=gme-ourclient&amp;amp;sensor=false&amp;amp;signature=fancygooglesignature=&lt;/A&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;(I've change the client and the signature to rubbish for the example)&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;I've put this URL (with the correct client and signature) in a web browser or a SAP html viewer it works fine and returns the required geocode.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;However, If I run it as a HTTP client call in a program it fails as google doesn't understand the client/signature pairing. The signature is getting changed somewhere in the call.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;My code is &lt;/P&gt;&lt;PRE&gt;&lt;CODE&gt;
* Creation of new IF_HTTP_Client object
  CALL METHOD cl_http_client=&amp;gt;create_by_url
    EXPORTING
      url                = l_http_url
    IMPORTING
      client             = l_http_client
    EXCEPTIONS
      argument_not_found = 1
      plugin_not_active  = 2
      internal_error     = 3
      OTHERS             = 4.

* Check this was successful
  CHECK : sy-subrc IS INITIAL.

* Set the request method
  l_http_client-&amp;gt;request-&amp;gt;set_header_field( name  = '~request_method'
                                            value = 'GET' ).

* Set the header
  l_http_client-&amp;gt;request-&amp;gt;set_header_field( name  = 'Content-Type'
                                            value = 'text/xml; charset=utf-8' ).

* Send the request
  l_http_client-&amp;gt;send( ).

* Reterive the result
  CALL METHOD l_http_client-&amp;gt;receive
    EXCEPTIONS
      http_communication_failure = 1
      http_invalid_state         = 2
      http_processing_failed     = 3
      OTHERS                     = 4.

content = l_http_client-&amp;gt;response-&amp;gt;get_cdata( ).
&lt;/CODE&gt;&lt;/PRE&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;I've tried turing of encoding and compression, passing the parameters individually into the object but nothing works.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;However, if I try the public geocode URL ( &lt;A href="http://maps.google.com/maps/api/geocode/xml?address=1,STREET,CITY,POSTCODE,&amp;amp;sensor=false)" target="test_blank"&gt;http://maps.google.com/maps/api/geocode/xml?address=1,STREET,CITY,POSTCODE,&amp;amp;sensor=false)&lt;/A&gt; it works fine.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Any ideas how to use the URL with the signature?&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Thu, 03 Feb 2011 16:01:19 GMT</pubDate>
      <guid>https://community.sap.com/t5/application-development-and-automation-discussions/http-call-to-google-geocode/m-p/7716336#M1579585</guid>
      <dc:creator>Former Member</dc:creator>
      <dc:date>2011-02-03T16:01:19Z</dc:date>
    </item>
    <item>
      <title>Re: HTTP Call to Google Geocode</title>
      <link>https://community.sap.com/t5/application-development-and-automation-discussions/http-call-to-google-geocode/m-p/7716337#M1579586</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;(a little bit late I know) but I think this is what you are searching for: &lt;/P&gt;&lt;P&gt;&lt;A class="jive_macro jive_macro_thread" href="https://community.sap.com/" __jive_macro_name="thread" modifiedtitle="true" __default_attr="2029559"&gt;&lt;/A&gt;&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Thu, 01 Sep 2011 18:27:23 GMT</pubDate>
      <guid>https://community.sap.com/t5/application-development-and-automation-discussions/http-call-to-google-geocode/m-p/7716337#M1579586</guid>
      <dc:creator>Former Member</dc:creator>
      <dc:date>2011-09-01T18:27:23Z</dc:date>
    </item>
    <item>
      <title>Re: HTTP Call to Google Geocode</title>
      <link>https://community.sap.com/t5/application-development-and-automation-discussions/http-call-to-google-geocode/m-p/7716338#M1579587</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Hi Ewald,&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;I've got the same probleme here like Mr.MacDonald had. We're on NetWeaver 7.0 SPS 26 and I generate the signature properly (the URL works in the browser), but unfortunately the problem is, that somewhere in the cl_http_client the URL is changed or modified during the request.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;The error message we receive from Google is "Unable to authenticate the supplied URL. Please check your client and signature parameters." (HTTP 403).&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Do you have a solution for this problem? &lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Kind regards&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Hendrik Behrens&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;(P.S.: Sorry for digging out this old thread)&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Wed, 27 Mar 2013 09:42:49 GMT</pubDate>
      <guid>https://community.sap.com/t5/application-development-and-automation-discussions/http-call-to-google-geocode/m-p/7716338#M1579587</guid>
      <dc:creator>Former Member</dc:creator>
      <dc:date>2013-03-27T09:42:49Z</dc:date>
    </item>
    <item>
      <title>Re: HTTP Call to Google Geocode</title>
      <link>https://community.sap.com/t5/application-development-and-automation-discussions/http-call-to-google-geocode/m-p/7716339#M1579588</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Use Wireshark or similar on the AS ABAP server to find out what actual URL is being accessed. If the signature in fact gets altered it is a program error in the system.&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Wed, 27 Mar 2013 16:00:03 GMT</pubDate>
      <guid>https://community.sap.com/t5/application-development-and-automation-discussions/http-call-to-google-geocode/m-p/7716339#M1579588</guid>
      <dc:creator>Former Member</dc:creator>
      <dc:date>2013-03-27T16:00:03Z</dc:date>
    </item>
    <item>
      <title>Re: HTTP Call to Google Geocode</title>
      <link>https://community.sap.com/t5/application-development-and-automation-discussions/http-call-to-google-geocode/m-p/7716340#M1579589</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;How are you constructing the URL, especially it's parameters? Are you using methods FIELDS_TO_STRING and SET_QUERY of ABAP class CL_HTTP_UTILITY?&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Wed, 27 Mar 2013 19:05:27 GMT</pubDate>
      <guid>https://community.sap.com/t5/application-development-and-automation-discussions/http-call-to-google-geocode/m-p/7716340#M1579589</guid>
      <dc:creator>Former Member</dc:creator>
      <dc:date>2013-03-27T19:05:27Z</dc:date>
    </item>
    <item>
      <title>Re: HTTP Call to Google Geocode</title>
      <link>https://community.sap.com/t5/application-development-and-automation-discussions/http-call-to-google-geocode/m-p/7716341#M1579590</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Hi James,&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt; Please URL encode the address part of your URL. In your browser this is automatically done. But in SAP http client you have to expcitly do it. &lt;/P&gt;&lt;P&gt; You can use the static method ESCAPE_URL of class CL_HTTP_UTILITY&amp;nbsp; for the same.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&amp;nbsp; Careful: Only the address part!! Passing the entire URL will not work.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&amp;nbsp; After that sign the URL with kryptokey and call HTTP client.&lt;/P&gt;&lt;P&gt;&amp;nbsp; Check whether this works!!&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Best regards,&lt;/P&gt;&lt;P&gt;Binil&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Tue, 30 Apr 2013 11:06:26 GMT</pubDate>
      <guid>https://community.sap.com/t5/application-development-and-automation-discussions/http-call-to-google-geocode/m-p/7716341#M1579590</guid>
      <dc:creator>Former Member</dc:creator>
      <dc:date>2013-04-30T11:06:26Z</dc:date>
    </item>
    <item>
      <title>Re: HTTP Call to Google Geocode</title>
      <link>https://community.sap.com/t5/application-development-and-automation-discussions/http-call-to-google-geocode/m-p/7716342#M1579591</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Hi Hendrik,&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Please find my reply to James question. &lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Best regards,&lt;/P&gt;&lt;P&gt;Binil&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Tue, 30 Apr 2013 11:07:53 GMT</pubDate>
      <guid>https://community.sap.com/t5/application-development-and-automation-discussions/http-call-to-google-geocode/m-p/7716342#M1579591</guid>
      <dc:creator>Former Member</dc:creator>
      <dc:date>2013-04-30T11:07:53Z</dc:date>
    </item>
    <item>
      <title>Re: HTTP Call to Google Geocode</title>
      <link>https://community.sap.com/t5/application-development-and-automation-discussions/http-call-to-google-geocode/m-p/7716343#M1579592</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Hi&lt;/P&gt;&lt;P&gt;we have successfully interfaced from SAP ABAP to the Google API's using OAuth2 tokens.&amp;nbsp; Here's a short 8 minute high level video of our project.&lt;/P&gt;&lt;P&gt;&lt;SPAN style="font-family: 'Century Gothic','sans-serif'; color: #1f497d;"&gt;&lt;A href="http://youtu.be/uDgTxiR00cY"&gt;http://youtu.be/uDgTxiR00cY&lt;/A&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Note also the source ABAP code is out on Github.&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Tue, 24 Dec 2013 18:58:56 GMT</pubDate>
      <guid>https://community.sap.com/t5/application-development-and-automation-discussions/http-call-to-google-geocode/m-p/7716343#M1579592</guid>
      <dc:creator>Former Member</dc:creator>
      <dc:date>2013-12-24T18:58:56Z</dc:date>
    </item>
    <item>
      <title>Re: HTTP Call to Google Geocode</title>
      <link>https://community.sap.com/t5/application-development-and-automation-discussions/http-call-to-google-geocode/m-p/7716344#M1579593</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;James I am facing this EXACT same situation. Cuuld you kindly share your solution it would be GREATLY appreciated !&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Wed, 09 Apr 2014 20:15:37 GMT</pubDate>
      <guid>https://community.sap.com/t5/application-development-and-automation-discussions/http-call-to-google-geocode/m-p/7716344#M1579593</guid>
      <dc:creator>Former Member</dc:creator>
      <dc:date>2014-04-09T20:15:37Z</dc:date>
    </item>
    <item>
      <title>Re: HTTP Call to Google Geocode</title>
      <link>https://community.sap.com/t5/application-development-and-automation-discussions/http-call-to-google-geocode/m-p/7716345#M1579594</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;This is an example that works like our current solution:&lt;/P&gt;&lt;P&gt;&lt;SPAN style="font-size: 10pt; font-family: courier new,courier;"&gt;&lt;BR /&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="font-family: courier new,courier;"&gt;&lt;SPAN style="font-size: 10pt;"&gt;DATA&lt;/SPAN&gt;&lt;SPAN style="font-size: 10pt;"&gt;: &lt;/SPAN&gt;&lt;SPAN style="font-size: 10pt; color: black; background: none repeat scroll 0% 0% white;"&gt;lr_conv &lt;/SPAN&gt;&lt;SPAN style="font-size: 10pt;"&gt;TYPE REF TO &lt;/SPAN&gt;&lt;SPAN style="font-size: 10pt; color: black; background: none repeat scroll 0% 0% white;"&gt;cl_abap_conv_in_ce&lt;/SPAN&gt;&lt;SPAN style="font-size: 10pt;"&gt;,&lt;/SPAN&gt;&lt;SPAN style="font-size: 10pt; color: black; background: none repeat scroll 0% 0% white;"&gt;&lt;BR /&gt; plaintext &lt;/SPAN&gt;&lt;SPAN style="font-size: 10pt;"&gt;TYPE &lt;/SPAN&gt;&lt;SPAN style="font-size: 10pt; color: black; background: none repeat scroll 0% 0% white;"&gt;string&lt;/SPAN&gt;&lt;SPAN style="font-size: 10pt;"&gt;.&lt;/SPAN&gt;&lt;SPAN style="font-size: 10pt; color: black; background: none repeat scroll 0% 0% white;"&gt;&lt;BR /&gt; &lt;/SPAN&gt;&lt;SPAN style="font-size: 10pt;"&gt;DATA&lt;/SPAN&gt;&lt;SPAN style="font-size: 10pt;"&gt;: &lt;/SPAN&gt;&lt;SPAN style="font-size: 10pt; color: black; background: none repeat scroll 0% 0% white;"&gt;lv_sign_key_x &lt;/SPAN&gt;&lt;SPAN style="font-size: 10pt;"&gt;TYPE &lt;/SPAN&gt;&lt;SPAN style="font-size: 10pt; color: black; background: none repeat scroll 0% 0% white;"&gt;xstring&lt;/SPAN&gt;&lt;SPAN style="font-size: 10pt;"&gt;,&lt;/SPAN&gt;&lt;SPAN style="font-size: 10pt; color: black; background: none repeat scroll 0% 0% white;"&gt;&lt;BR /&gt; lv_sign_key&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;&lt;SPAN style="font-size: 10pt;"&gt;TYPE &lt;/SPAN&gt;&lt;SPAN style="font-size: 10pt; color: black; background: none repeat scroll 0% 0% white;"&gt;string&lt;/SPAN&gt;&lt;SPAN style="font-size: 10pt;"&gt;,&lt;/SPAN&gt;&lt;SPAN style="font-size: 10pt; color: black; background: none repeat scroll 0% 0% white;"&gt;&lt;BR /&gt; lv_hmac_result &lt;/SPAN&gt;&lt;SPAN style="font-size: 10pt;"&gt;TYPE &lt;/SPAN&gt;&lt;SPAN style="font-size: 10pt; color: black; background: none repeat scroll 0% 0% white;"&gt;string&lt;/SPAN&gt;&lt;SPAN style="font-size: 10pt;"&gt;,&lt;/SPAN&gt;&lt;SPAN style="font-size: 10pt; color: black; background: none repeat scroll 0% 0% white;"&gt;&lt;BR /&gt; lv_sign_string &lt;/SPAN&gt;&lt;SPAN style="font-size: 10pt;"&gt;TYPE &lt;/SPAN&gt;&lt;SPAN style="font-size: 10pt; color: black; background: none repeat scroll 0% 0% white;"&gt;string&lt;/SPAN&gt;&lt;SPAN style="font-size: 10pt;"&gt;.&lt;/SPAN&gt;&lt;SPAN style="font-size: 10pt; color: black; background: none repeat scroll 0% 0% white;"&gt;&lt;BR /&gt; &lt;/SPAN&gt;&lt;SPAN style="font-size: 10pt;"&gt;TYPE-POOLS&lt;/SPAN&gt;&lt;SPAN style="font-size: 10pt;"&gt;: &lt;/SPAN&gt;&lt;SPAN style="font-size: 10pt; color: black; background: none repeat scroll 0% 0% white;"&gt;abap&lt;/SPAN&gt;&lt;SPAN style="font-size: 10pt;"&gt;.&lt;/SPAN&gt;&lt;SPAN style="font-size: 10pt; color: black; background: none repeat scroll 0% 0% white;"&gt;&lt;BR /&gt; &lt;BR /&gt; lv_sign_string &lt;/SPAN&gt;&lt;SPAN style="font-size: 10pt;"&gt;= &lt;/SPAN&gt;&lt;SPAN style="font-size: 10pt; color: black; background: none repeat scroll 0% 0% white;"&gt;url&lt;/SPAN&gt;&lt;SPAN style="font-size: 10pt;"&gt;.&lt;/SPAN&gt;&lt;SPAN style="font-size: 10pt; color: black; background: none repeat scroll 0% 0% white;"&gt;&lt;BR /&gt; &lt;BR /&gt; lv_sign_key &lt;/SPAN&gt;&lt;SPAN style="font-size: 10pt;"&gt;= &lt;/SPAN&gt;&lt;SPAN style="font-size: 10pt;"&gt;'your_sign_key'&lt;/SPAN&gt;&lt;SPAN style="font-size: 10pt;"&gt;.&lt;/SPAN&gt;&lt;SPAN style="font-size: 10pt; color: black; background: none repeat scroll 0% 0% white;"&gt;&lt;BR /&gt; &lt;BR /&gt; &lt;/SPAN&gt;&lt;SPAN style="font-size: 10pt;"&gt;* String to SafeBase64&lt;/SPAN&gt;&lt;SPAN style="font-size: 10pt; color: black; background: none repeat scroll 0% 0% white;"&gt;&lt;BR /&gt; &lt;BR /&gt; &lt;/SPAN&gt;&lt;SPAN style="font-size: 10pt;"&gt;REPLACE ALL OCCURRENCES OF &lt;/SPAN&gt;&lt;SPAN style="font-size: 10pt;"&gt;'_' &lt;/SPAN&gt;&lt;SPAN style="font-size: 10pt;"&gt;IN &lt;/SPAN&gt;&lt;SPAN style="font-size: 10pt; color: black; background: none repeat scroll 0% 0% white;"&gt;lv_sign_key &lt;/SPAN&gt;&lt;SPAN style="font-size: 10pt;"&gt;WITH &lt;/SPAN&gt;&lt;SPAN style="font-size: 10pt;"&gt;'/'&lt;/SPAN&gt;&lt;SPAN style="font-size: 10pt;"&gt;.&lt;/SPAN&gt;&lt;SPAN style="font-size: 10pt; color: black; background: none repeat scroll 0% 0% white;"&gt;&lt;BR /&gt; &lt;/SPAN&gt;&lt;SPAN style="font-size: 10pt;"&gt;REPLACE ALL OCCURRENCES OF &lt;/SPAN&gt;&lt;SPAN style="font-size: 10pt;"&gt;'-' &lt;/SPAN&gt;&lt;SPAN style="font-size: 10pt;"&gt;IN &lt;/SPAN&gt;&lt;SPAN style="font-size: 10pt; color: black; background: none repeat scroll 0% 0% white;"&gt;lv_sign_key &lt;/SPAN&gt;&lt;SPAN style="font-size: 10pt;"&gt;WITH &lt;/SPAN&gt;&lt;SPAN style="font-size: 10pt;"&gt;'+'&lt;/SPAN&gt;&lt;SPAN style="font-size: 10pt;"&gt;.&lt;/SPAN&gt;&lt;SPAN style="font-size: 10pt; color: black; background: none repeat scroll 0% 0% white;"&gt;&lt;BR /&gt; &lt;BR /&gt; &lt;/SPAN&gt;&lt;SPAN style="font-size: 10pt;"&gt;* Do not sign the protocol/domain&lt;/SPAN&gt;&lt;SPAN style="font-size: 10pt; color: black; background: none repeat scroll 0% 0% white;"&gt;&lt;BR /&gt; &lt;/SPAN&gt;&lt;SPAN style="font-size: 10pt;"&gt;REPLACE &lt;/SPAN&gt;&lt;SPAN style="font-size: 10pt;"&gt;'&lt;A class="jive-link-external-small" href="http://maps.googleapis.com/"&gt;http://maps.googleapis.com&lt;/A&gt;' &lt;/SPAN&gt;&lt;SPAN style="font-size: 10pt;"&gt;IN &lt;/SPAN&gt;&lt;SPAN style="font-size: 10pt; color: black; background: none repeat scroll 0% 0% white;"&gt;lv_sign_string &lt;/SPAN&gt;&lt;SPAN style="font-size: 10pt;"&gt;WITH &lt;/SPAN&gt;&lt;SPAN style="font-size: 10pt;"&gt;''&lt;/SPAN&gt;&lt;SPAN style="font-size: 10pt;"&gt;.&lt;/SPAN&gt;&lt;SPAN style="font-size: 10pt; color: black; background: none repeat scroll 0% 0% white;"&gt;&lt;BR /&gt; &lt;BR /&gt; &lt;/SPAN&gt;&lt;SPAN style="font-size: 10pt;"&gt;*Convert key from String to xString (hex)&lt;/SPAN&gt;&lt;SPAN style="font-size: 10pt; color: black; background: none repeat scroll 0% 0% white;"&gt; &lt;BR /&gt; &lt;/SPAN&gt;&lt;SPAN style="font-size: 10pt;"&gt;CALL FUNCTION &lt;/SPAN&gt;&lt;SPAN style="font-size: 10pt;"&gt;'SSFC_BASE64_DECODE'&lt;/SPAN&gt;&lt;SPAN style="font-size: 10pt; color: black; background: none repeat scroll 0% 0% white;"&gt;&lt;BR /&gt; &lt;/SPAN&gt;&lt;SPAN style="font-size: 10pt;"&gt;EXPORTING&lt;/SPAN&gt;&lt;SPAN style="font-size: 10pt; color: black; background: none repeat scroll 0% 0% white;"&gt;&lt;BR /&gt; b64data &lt;/SPAN&gt;&lt;SPAN style="font-size: 10pt;"&gt;= &lt;/SPAN&gt;&lt;SPAN style="font-size: 10pt; color: black; background: none repeat scroll 0% 0% white;"&gt;lv_sign_key&lt;BR /&gt; &lt;/SPAN&gt;&lt;SPAN style="font-size: 10pt;"&gt;IMPORTING&lt;/SPAN&gt;&lt;SPAN style="font-size: 10pt; color: black; background: none repeat scroll 0% 0% white;"&gt;&lt;BR /&gt; bindata &lt;/SPAN&gt;&lt;SPAN style="font-size: 10pt;"&gt;= &lt;/SPAN&gt;&lt;SPAN style="font-size: 10pt; color: black; background: none repeat scroll 0% 0% white;"&gt;lv_sign_key_x&lt;/SPAN&gt;&lt;SPAN style="font-size: 10pt;"&gt;.&lt;/SPAN&gt;&lt;SPAN style="font-size: 10pt; color: black; background: none repeat scroll 0% 0% white;"&gt;&lt;BR /&gt; &lt;BR /&gt; &lt;/SPAN&gt;&lt;SPAN style="font-size: 10pt;"&gt;* Generate signature&lt;/SPAN&gt;&lt;SPAN style="font-size: 10pt; color: black; background: none repeat scroll 0% 0% white;"&gt; &lt;BR /&gt; cl_abap_hmac&lt;/SPAN&gt;&lt;SPAN style="font-size: 10pt;"&gt;=&amp;gt;&lt;/SPAN&gt;&lt;SPAN style="font-size: 10pt; color: black; background: none repeat scroll 0% 0% white;"&gt;calculate_hmac_for_char&lt;/SPAN&gt;&lt;SPAN style="font-size: 10pt;"&gt;(&lt;/SPAN&gt;&lt;SPAN style="font-size: 10pt; color: black; background: none repeat scroll 0% 0% white;"&gt;&lt;BR /&gt; &lt;/SPAN&gt;&lt;SPAN style="font-size: 10pt;"&gt;EXPORTING&lt;/SPAN&gt;&lt;SPAN style="font-size: 10pt; color: black; background: none repeat scroll 0% 0% white;"&gt;&lt;BR /&gt; if_algorithm&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;&lt;SPAN style="font-size: 10pt;"&gt;= &lt;/SPAN&gt;&lt;SPAN style="font-size: 10pt;"&gt;'SHA1'&lt;/SPAN&gt;&lt;SPAN style="font-size: 10pt; color: black; background: none repeat scroll 0% 0% white;"&gt;&lt;BR /&gt; if_key&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;&lt;SPAN style="font-size: 10pt;"&gt;= &lt;/SPAN&gt;&lt;SPAN style="font-size: 10pt; color: black; background: none repeat scroll 0% 0% white;"&gt;lv_sign_key_x&lt;BR /&gt; if_data&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;&lt;SPAN style="font-size: 10pt;"&gt;= &lt;/SPAN&gt;&lt;SPAN style="font-size: 10pt; color: black; background: none repeat scroll 0% 0% white;"&gt;lv_sign_string&lt;BR /&gt; &lt;/SPAN&gt;&lt;SPAN style="font-size: 10pt;"&gt;IMPORTING&lt;/SPAN&gt;&lt;SPAN style="font-size: 10pt; color: black; background: none repeat scroll 0% 0% white;"&gt;&lt;BR /&gt; ef_hmacb64string &lt;/SPAN&gt;&lt;SPAN style="font-size: 10pt;"&gt;= &lt;/SPAN&gt;&lt;SPAN style="font-size: 10pt; color: black; background: none repeat scroll 0% 0% white;"&gt;lv_hmac_result&lt;BR /&gt; &lt;/SPAN&gt;&lt;SPAN style="font-size: 10pt;"&gt;).&lt;/SPAN&gt;&lt;SPAN style="font-size: 10pt; color: black; background: none repeat scroll 0% 0% white;"&gt;&lt;BR /&gt; &lt;/SPAN&gt;&lt;SPAN style="font-size: 10pt;"&gt;* SafeBase64 -&amp;gt; Base64 again&lt;/SPAN&gt;&lt;SPAN style="font-size: 10pt; color: black; background: none repeat scroll 0% 0% white;"&gt;&lt;BR /&gt; &lt;/SPAN&gt;&lt;SPAN style="font-size: 10pt;"&gt;REPLACE ALL OCCURRENCES OF &lt;/SPAN&gt;&lt;SPAN style="font-size: 10pt;"&gt;'/' &lt;/SPAN&gt;&lt;SPAN style="font-size: 10pt;"&gt;IN &lt;/SPAN&gt;&lt;SPAN style="font-size: 10pt; color: black; background: none repeat scroll 0% 0% white;"&gt;lv_hmac_result &lt;/SPAN&gt;&lt;SPAN style="font-size: 10pt;"&gt;WITH &lt;/SPAN&gt;&lt;SPAN style="font-size: 10pt;"&gt;'_'&lt;/SPAN&gt;&lt;SPAN style="font-size: 10pt;"&gt;.&lt;/SPAN&gt;&lt;SPAN style="font-size: 10pt; color: black; background: none repeat scroll 0% 0% white;"&gt;&lt;BR /&gt; &lt;/SPAN&gt;&lt;SPAN style="font-size: 10pt;"&gt;REPLACE ALL OCCURRENCES OF &lt;/SPAN&gt;&lt;SPAN style="font-size: 10pt;"&gt;'+' &lt;/SPAN&gt;&lt;SPAN style="font-size: 10pt;"&gt;IN &lt;/SPAN&gt;&lt;SPAN style="font-size: 10pt; color: black; background: none repeat scroll 0% 0% white;"&gt;lv_hmac_result &lt;/SPAN&gt;&lt;SPAN style="font-size: 10pt;"&gt;WITH &lt;/SPAN&gt;&lt;SPAN style="font-size: 10pt;"&gt;'-'&lt;/SPAN&gt;&lt;SPAN style="font-size: 10pt;"&gt;.&lt;/SPAN&gt;&lt;SPAN style="font-size: 10pt; color: black; background: none repeat scroll 0% 0% white;"&gt;&lt;BR /&gt; &lt;BR /&gt; &lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="font-family: courier new,courier;"&gt;&lt;SPAN style="font-size: 10pt;"&gt;* Concatenate final URL&lt;/SPAN&gt;&lt;SPAN style="font-size: 10pt; color: black; background: none repeat scroll 0% 0% white;"&gt; &lt;BR /&gt; &lt;BR /&gt; &lt;/SPAN&gt;&lt;SPAN style="font-size: 10pt;"&gt;CONCATENATE &lt;/SPAN&gt;&lt;SPAN style="font-size: 10pt; color: black; background: none repeat scroll 0% 0% white;"&gt;url &lt;/SPAN&gt;&lt;SPAN style="font-size: 10pt;"&gt;'&amp;amp;signature=' &lt;/SPAN&gt;&lt;SPAN style="font-size: 10pt; color: black; background: none repeat scroll 0% 0% white;"&gt;lv_hmac_result &lt;/SPAN&gt;&lt;SPAN style="font-size: 10pt;"&gt;INTO &lt;/SPAN&gt;&lt;SPAN style="font-size: 10pt; color: black; background: none repeat scroll 0% 0% white;"&gt;url&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;SPAN style="font-size: 10.0pt; font-family: courier new,courier;"&gt;.&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="font-size: 10.0pt;"&gt;&lt;BR /&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="font-size: 10.0pt;"&gt;&lt;BR /&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="font-size: 10.0pt;"&gt;Best regards,&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="font-size: 10.0pt;"&gt;&lt;BR /&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="font-size: 10.0pt;"&gt;Hendrik Behrens&lt;BR /&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Thu, 10 Apr 2014 09:43:59 GMT</pubDate>
      <guid>https://community.sap.com/t5/application-development-and-automation-discussions/http-call-to-google-geocode/m-p/7716345#M1579594</guid>
      <dc:creator>Former Member</dc:creator>
      <dc:date>2014-04-10T09:43:59Z</dc:date>
    </item>
    <item>
      <title>Re: HTTP Call to Google Geocode</title>
      <link>https://community.sap.com/t5/application-development-and-automation-discussions/http-call-to-google-geocode/m-p/7716346#M1579595</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;I wanted to let you all know we had this EXACT same problem and we solved it so we would like to share with you all !!&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Our solution was to remove the Client and Signature from the URL and use the following code/methods to set the Client and Signature:&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; http_client&lt;SPAN class="L0S70"&gt;-&amp;gt;&lt;/SPAN&gt;request&lt;SPAN class="L0S70"&gt;-&amp;gt;&lt;/SPAN&gt;set_header_field&lt;SPAN class="L0S55"&gt;(&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; name &lt;SPAN class="L0S55"&gt;= &lt;/SPAN&gt;&lt;SPAN class="L0S33"&gt;'client'&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;SPAN class="L0S52"&gt;value &lt;/SPAN&gt;&lt;SPAN class="L0S55"&gt;= &lt;/SPAN&gt;L_GOOGLE_CLIENT_ID&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;SPAN class="L0S55"&gt;)&lt;/SPAN&gt;&lt;SPAN class="L0S55"&gt;.&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; http_client&lt;SPAN class="L0S70"&gt;-&amp;gt;&lt;/SPAN&gt;request&lt;SPAN class="L0S70"&gt;-&amp;gt;&lt;/SPAN&gt;set_header_field&lt;SPAN class="L0S55"&gt;(&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; name &lt;SPAN class="L0S55"&gt;= &lt;/SPAN&gt;&lt;SPAN class="L0S33"&gt;'signature'&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;SPAN class="L0S52"&gt;value &lt;/SPAN&gt;&lt;SPAN class="L0S55"&gt;= &lt;/SPAN&gt;L_GOOGLE_SIGNATURE&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;SPAN class="L0S55"&gt;)&lt;/SPAN&gt;&lt;SPAN class="L0S55"&gt;.&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN class="L0S55"&gt;&lt;BR /&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN class="L0S55"&gt;&lt;BR /&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN class="L0S55"&gt;This works for us!! No more 403 error !!&lt;BR /&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Thu, 17 Apr 2014 16:14:32 GMT</pubDate>
      <guid>https://community.sap.com/t5/application-development-and-automation-discussions/http-call-to-google-geocode/m-p/7716346#M1579595</guid>
      <dc:creator>Former Member</dc:creator>
      <dc:date>2014-04-17T16:14:32Z</dc:date>
    </item>
    <item>
      <title>Re: HTTP Call to Google Geocode</title>
      <link>https://community.sap.com/t5/application-development-and-automation-discussions/http-call-to-google-geocode/m-p/7716347#M1579596</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Hello Christopher,&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Thank you for sharing your solution!&lt;/P&gt;&lt;P&gt;I have the same problem: The URL is working in a web browser but in ABAP I always get this error:&lt;/P&gt;&lt;P&gt;"Unable to authenticate the request. Provided 'signature' is not valid for the provided client ID, or the provided 'client' is not valid..."&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;I tried your solution (with set_header_field) and it worked. After that I debugged my program and changed the signature to "test" to have a look if I will get the error message from google. So I would be sure that the client and signature is passed correct. Unfortunately I don't get the error message instead I get the correct Geolocation.&lt;/P&gt;&lt;P&gt;If you call the webservice without the parameters client and signature you always get correct response messages. So I guess the http_client doesn't pass the "set_header_field" parameters correct to google. I also added the address parameter as a "set_header_field" and got a "ZERO_RESULTS" back.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;I think your solution is working, but it doesn't send the client ID and signature to google...&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Maybe someoneelse has any solution or experiance with that who wants to share this with us?&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Best Regards&lt;/P&gt;&lt;P&gt;Markus&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Tue, 18 Nov 2014 09:24:15 GMT</pubDate>
      <guid>https://community.sap.com/t5/application-development-and-automation-discussions/http-call-to-google-geocode/m-p/7716347#M1579596</guid>
      <dc:creator>Former Member</dc:creator>
      <dc:date>2014-11-18T09:24:15Z</dc:date>
    </item>
  </channel>
</rss>

