Need of HTTP adapter

Hi Experts,
Can anybody pls tell me, what is the exact need of HTTP adapter?
Also, for which kind of applications this adapter is used?
Your help on this query is appreciated.
Regards,
Supriya.

Hi,
I used HTTP adapter in my scenario where i want to post data in to web apllication , (I have the URL of web application),
when i send the data to web aplication it responds with message,that means i get response.
But as per SAP , HTTP adapter used  to connect non-SAP systems to the Integration Engine using the native HTTP interface (HTTP payload without SOAP envelope). This uses the Internet Communication Framework of the AS ABAP.
The standard exchange format for data in the Integration Engine is XML. The plain HTTP adapter allows you to send and receive data in HTML and ASCII as well. In this case you must use a Java mapping.
The plain HTTP adapter is part of the Integration Engine. It comprises two parts, namely an adapter at the Integration Engine inbound channel and an adapter at the Integration Engine outbound channel.
The adapter at the inbound channel is located before the Integration Engine pipeline and calls this pipeline. The adapter at the outbound channel is called by the pipeline, and can therefore be regarded as part of the pipeline. It requires a corresponding communication channel from the technical routing for each logical receiver
Regards,
Raj

Similar Messages

  • Idoc & Http adapter

    Why do Idoc and Hppt adapters don't have sender agreement

    hi,
    The idoc and http adapters are present on the integration engine rather  than on adapter engine,like all other adapters
    Thats why sender agreement is not required.
    And in many scenarios you dont need a http adapter at the sender side.
    reward points if helpful
    regards,
    ujjwal kumar

  • How to build the "Path Prefix" HTTP Adapter at run time

    Hi All,
    I have a scenario wherein I have to call the HTTP Url of a thiird party system from R/3 via PI.
    The third party url looks liike this:
    http://gis/ias/cgi-bin/siscgi.exe?request=batch&command=<requests><request><name>sis_neighbouring_knos_for_sambandh_service</name><buffer>20</buffer><same_premise_kno>123</same_premise_kno><l
    eft_kno>331</left_kno><gis_id>4019589</gis_id><priority>same_premise_kno,left_kno,right_kno,gis_id</priority></request></requests>&user_name=sambandh.sias&pa
    ssword=sambandhsias
    I have successfully created a HTTP Recevier comm channel and provided the following in the "Path Prefix"
    /ias/cgi-bin/siscgi.exe?request=batch&command=<requests><request><name>sis_neighbouring_knos_for_sambandh_service</name><buffer>20</buffer><same_premise_kno>123</same_premise_kno><l
    eft_kno>331</left_kno><gis_id>4019589</gis_id><priority>same_premise_kno,left_kno,right_kno,gis_id</priority></request></requests>&user_name=sambandh.sias&pa
    ssword=sambandhsias
    But If I need to pass the values inside the xml tags specified above e.g. "name" at run time, How do I do that?
    I have explored the "Apply URL Parameters" option in the HTTP Comm channel but it has fixed names for the HTTP URL parameter.
    Please let me know how is this possible hopefully without a UDF
    thanks,
    Piyush

    Hi Piyush,
    Have you checked the option of ASMA of the adapter?
    http://help.sap.com/saphelp_nw04/helpdata/en/43/64dbb0af9f30b4e10000000a11466f/content.htm
    Also see Note 1101338 - Dynamic configuration of HTTP adapter
    Regards
    Suraj

  • UTF-8 encoding problem in HTTP adapter

    Hi Guys,
    I am facing problem in the UTF-8 multi-byte character conversion.
    Problem:
    I am posting data from SAP CRM to third party system using XI as middle ware. I am using HTTP adapter to communicate XI to third party system.
    in HTTP configuration i have given XML code as UT-8 in the XI payload manipulation block.
    I am trying to post Chines characters from SAP CRM to third party system. junk characters are going to third party system. my assumption is it is double encoding.
    I have checked the Xml messages in the Message monitoring in XI, i can able to see the chines charaters in XML files. But in the third party system it is showing as junk characters.
    Can you please any one help me regarding this issue.
    Please let me know if you need more info.
    Regards,
    Srini

    Srinivas
    Can you please go through the SAP Notes 856597 Question No.3 which may resolve your issue? Also have you checked SAP Notes 761608,639882, 666574, 913116, 779981 which might help you.
    ---Satish

  • Convert XML payload to HTML form data in Receiver HTTP Adapter

    Hi,
    I want to make a HTTP request ( Receiver HTTP Adapter ) to a servlet where I need to send the payload in HTML form format ( name=value ). As per the help document:
    A typical HTML form comprises named fields. When transferring a completed form to the server or a CGI program, the data must be transferred in such a way that the CGI script can recognize the fields that make up the form, and which data was entered in which field.
    The plain HTTP adapter constructs this format using a prolog and an epilog
    Has anyone done this before? I looked through all help documents and forums but in vain. I can resort to Java Mapping to do this but I do not want to re-invent the wheel if I can do it easily using HTTP Adapter Configuration. Please help.

    The parameters available in HTTP adapter for message header are:
    HeaderFieldFive     http://sap.com/xi/XI/System/HTTP
    HeaderFieldFour     http://sap.com/xi/XI/System/HTTP
    HeaderFieldOne     http://sap.com/xi/XI/System/HTTP
    HeaderFieldSix     http://sap.com/xi/XI/System/HTTP
    HeaderFieldThree     http://sap.com/xi/XI/System/HTTP
    HeaderFieldTwo     http://sap.com/xi/XI/System/HTTP
    HTTPDest     http://sap.com/xi/XI/System/HTTP
    TargetURL     http://sap.com/xi/XI/System/HTTP
    URLParamFive     http://sap.com/xi/XI/System/HTTP
    URLParamFour     http://sap.com/xi/XI/System/HTTP
    URLParamOne     http://sap.com/xi/XI/System/HTTP
    URLParamSix     http://sap.com/xi/XI/System/HTTP
    URLParamThree     http://sap.com/xi/XI/System/HTTP
    URLParamTwo     http://sap.com/xi/XI/System/HTTP

  • How to send the payload to a jsp using receiver Http adapter?

    Hi experts,
    I have this scenario from Legacy to XI to external app server.I have a test jsp to execute that functionality .Its a jsp which has 1 textarea named "test" and when I click on the submit buton I get a response back.This way I am able to test this independently.Now from XI when I am executing my scenario I am getting status code '1250' and message as ' http request(test) is null'.Now in the scenario in http adapter I just provide the target host : ip of server ,
    service number : port no ,
    path: the container or the request handler. But this scenario fails and gives me the above erroneous response.Now Basically I am not able to get how to send the value to the textarea "test"? please provide help as soon as possible.Do we have to put the name of the jsp in the "path" in http adapter and use prolog as test=.I tried this but it doesnt work.
    Is there any way to check the URL that it forms after appending the querystring in the url ...?
    So please provide help on this or suggest a solution to [email protected] as soon as possible.....
    Thanx in advance.
    Akshata

    hey Shekhar,
    thanx for that prompt reply but I have configured the communication channel in the same manner as suggested by u.
    actually I have this jsp page http://xx.xx.xx.xx:8080/abcdef/try/efg.jsp where there is a textarea "test" which has to be filled and there is a submit button.When I test this http client i.e the above jsp page independently then it goes to handler
    http://xx.xx.xx.xx:8080/abcdef/trial/    And it gives a proper response message after clicking on the submit button.
    now I want to carry out the same using receiver http adapter. I need to pass the value for this inputfield names "test" on that jsp . so right now I have configyured the adapter as
    addressing type: url
    target host : xx.xx.xx.xx
    service no:8080
    path : here I have given the path of handler i.e /abcdef/trial I tried giving the jsp page also but logically I guess it should be the handler.
    content type: text/xml; charset=iso-8859-1
    xml code: UTF-8
    Mask special characters (URL escaping) checked.
    now since the name of the inputfield is "test" in the prolog I gave test=
    But it doesnt work I get this error "http request parameter [test] is null" in the response message  which I guess suggests that it is not able to send the value for the field"test" to that handler.Please suggest how to send this and tell me if there are any other configurations that I have to do in the receiver communication channel.
    Thanx ,
    Akshata

  • SAP PI 7.1 HTTP Adapter

    In my scenario, SAP PI 7.1. needs to talk to a 3rd party EDI system via web services. SAP PI is using HTTP adapter to exchange XML messages for both inbound and outbound with the EDI system. Questions:
    1. If SAPI PI sends for example 100 (different) messages to the EDI system every day, will PI make 100 web service calls to the EDI system to send each individual message?
    2. Please explain how PI will use the HTTP URL to send the messages to the EDI system. Any document/blogs to explain how HTTP adapter works for exchanging messages with third party systems (web service capable)? Did not find anything good one in SDN.
    3. Any disadvantage of using HTTP adapter, e.g. for high volume scenarios?

    > 1. If SAPI PI sends for example 100 (different) messages to the EDI system every day, will PI make 100 web service calls to the EDI system to send each individual message?
    Yes, it will use 100 cals to process 100 individual messages.
    >
    > 2. Please explain how PI will use the HTTP URL to send the messages to the EDI system. Any document/blogs to explain how HTTP adapter works for exchanging messages with third party systems (web service capable)? Did not find anything good one in SDN.
    >
    When you use HTTP adapter in receiver side, you will specify address of the target system in URL format, that means data will be send it to specific UIRL adress.
    > 3. Any disadvantage of using HTTP adapter, e.g. for high volume scenarios?
    i prefer using SOAP adapter for web service cals..HTTP adapter give good perfomance.
    Regards,
    Raj

  • PI 7.1 HTTP Adapter - overwritte Prolog dynamically

    I use a HTTP Adapter to send XML Data via HTTP as form field. Therefore i use the prolog constant. Example: xmlfile=.... Now i need two new parameter (user and password) as post parameters. I can change to prolog like user=...&password=....&xmlfile=.. But in this case the prolog with the user is hard coded. in my scenaria the user and password should dynamically load from Message Mapping. The solution with the dynamic URL Parameter 1-6 could not be used, because this values are GET Parameters which are visible in der URI!
    Is there a solution for post parameters dynamically via HTTP Adapter?

    The operation mapping aka Interface mapping's need not only use 1 single mapping.
    In the interface mapping you can add multiple message mappings and / or other mapping programs.
    The mappings get executed sequentially and the output of first mapping is input to second mapping and so on.
    In this case, write a java mapping that will take the input as the output of your graphical mapping; add the prolog to this and make it the output of your Java Mapping and this is the final output of your Operation mapping!
    Regards
    Bhavesh

  • Using HTTP adapter with no namespaces

    Hi,
    Is there anyway to use HTTP adapter when the provider does not accept the namespaces. The HTTP binding wizard requires a targetnamespace to be defined in the request and response xsds that we have to use.
    Thanks & Regards
    Siva

    Bernd we are trying to do the same thing only with the soap adapter.  I'm convinced that no one really knows how to do it.  We can't even find an SAP CONSULTANT that has done it .. at any cost!
    If you hear anything good .. please let me know - my email is [email protected]
    I think the nightmare is coming in because when SAP bought the j2ee ( application server ) they never really have integrated it so it's very confusing if the settings need to be done on the ABAP side or the J2EE side via visual administrator.  In addition most Basis guys are only experienced in the ABAP side and not the J2EE.

  • Header Fields not picked in Http Adapter

    Hi ,
    I am sending a few custom header fields that have been set up in the HTTP adapter but for some reason they are not picked.
    Any suggestions..
    -Teresa

    Thanks Sameer,
      This note did help us pick up the header fields but on picking up it returns the header fields in lower case instead of the case Sensitive format I sent it in ..I looked at the trace log too and its in case sensitive format but when my 3rd party receives it, it is in lower case format...funny even the <?xml version="1.0" encoding="utf-8" standalone="yes" ?>
    is also in lowercase..I am running XI 3.0 SP4..Is it an XI issue or something to do with my integration server which processes my HTTP adapter??? Or any other notes also needs to be applied??
    Please help..
    Trace level="1" type="T">---- Plain HTTP Adapter Outbound----</Trace>
      <Trace level="1" type="T">----
    </Trace>
    - <Trace level="1" type="B" name="CL_HTTP_PLAIN_OUTBOUND-ENTER_PLSRV">
      <Trace level="3" type="T">Quality of Service EO</Trace>
      <Trace level="1" type="T">Get XML-Dokument from the Message-Objekt</Trace>
      <Trace level="3" type="T">URL http://xkqbdev.ampton.net:50080/abc/Web/servlet/XMLChannelServlet</Trace>
      <Trace level="3" type="T">Proxy Host: 10.69.14.98</Trace>
      <Trace level="3" type="T">Proxy Service: 80</Trace>
      <Trace level="3" type="T">Authorization: Basic NDQ0NDQ0NDQ0OjQ0NDQ0NDQ0NA==</Trace>
      <Trace level="3" type="T">~request_method POST</Trace>
      <Trace level="3" type="T">~server_protocol HTTP/1.0</Trace>
      <Trace level="3" type="T">accept: /</Trace>
      <Trace level="3" type="T">content-type: text/xml</Trace>
      <Trace level="3" type="T">Header-Fields</Trace>
      <Trace level="3" type="T">X-Extricity-Sender-ID 444444444</Trace>
      <Trace level="3" type="T">X-Extricity-BO-Type-ID http://xml.cXML.org/schemas/cXML/1.2.011/cXML.dtd</Trace>
      <Trace level="3" type="T">Prolog conversion Codepage: UTF-8</Trace>
      <Trace level="3" type="T">Epilog conversion Codepage: UTF-8</Trace>
      <Trace level="3" type="T">content-length 3023</Trace>
      <Trace level="2" type="T">HTTP-Response :</Trace>
      <Trace level="2" type="T">Code : 500</Trace>
      <Trace level="2" type="T">Reason: Internal Server Error</Trace>
      <Trace level="2" type="T">Code : 500</Trace>
      <Trace level="2" type="T">Reason: Internal Server Error</Trace>
      </Trace>
      </Trace>
    -Teresa

  • Message setup for HTTP adapter

    If the http plain adapter is used, you use the URL to post the XML file to. What I was wondering is what the complete string looks like that is send, so URL including the XML message itself? In other words, what's between the http URL (http://...&language=EN) and the XML message itself (<?xml%20...).

    Alexander
    If I understand your question right, you are wondering what is in between the URL and the XML message. If yes, you need to understand how data exchange happens using HTTP.
    When data need to be exchanged between systems (Client and Server), there are various protocols. For e.g., FTP is used for transferring data as OS files between systems. Similarly HTTP is a protocol that is use for exchanged data between systems in the form of 'Request;Response' cycle. As with any protocol there are certain rules and structure.
    In case of HTTP, you should note the following
    1. There is a URL which is used for identifying where the request should be sent, which port it should hit and other related information. You can pass some information in the URL (In case of XI HTTP adapter, maximum of 200 characters long) as well  and in case of XI it will contain information specific to interface.
    2. Then there is HTTP header which will give information to the server (the system receiving the request) about various attributes like mime type of the data etc.
    3. Then there is HTTP body that actually has the data that needs to be sent to the system. In your case the body contains the XML message. Note that the body can also contain form elements instead of XML in which case you need ABAP or Java mapping in XI to parse the data.
    To come back to your question, what is in between the URL and XML? answer is nothing, because these are two different entities within HTTP. And no, you cannot embed the XML within the URL. An analogy in real world would be when you sending mails using post. The envelope you use is like a HTTP header, the address you write on the envelope is the URL and the actual letter inside the envelope is the HTTP body.
    Please refer http://en.wikipedia.org/wiki/HTTP to understand more on what HTTP is about.
    Thanks
    KK

  • Using extra attributes in plain Http Adapter

    Hi All,
    I am using a Plain HTTP Adapter to send messages to XI. This is working fine but i'm facing a problem with HTTP variables.
    I need to send a flag as an http variable that identifies the message as a new message or not. It's important for me that this variable is reachable in the Receiver Determination so i can create a routing rule based on that. I've read this help from sap (<a href="http://help.sap.com/saphelp_nw04/helpdata/en/43/64db4daf9f30b4e10000000a11466f/content.htm">Configuring the Sender Plain HTTP Adapter</a>), but i couldn't find a place to set the "Adapter-Specific Message Attributes".
    Thanks a lot for any help.
    Regards,
    Leonardo Tayt-son

    In your Sender HTTP Adapter, check out for "Adapter-Specific Message Attributes" section (usually, it's the last section). Mark the "Use Adapter-Specific Message Attributes" checkbox. Then, mark "Apply URL Parameters" checkbox and enter a name for Parameter 1 (for example, New).
    Then, your incoming http URL shoud be something like http://<application_hostname>?New=true .
    And in your receiver determination, go to condition editor for each Business System, and enter expression editor for left expression. Check "Context Object" and select "URLParamOne" parameter from "http://sap.com/xi/XI/System/HTTP" namespace. For the right expression, use the value you want.
    Them you can use your condition like
    If (URLParamOne = true) send to BS 1
    If (URLParamOne = false) send to BS 2
    Regards,
    Henrique.

  • HTTP adapter

    i am getting HTTP 401 unthorized error when sending a file HTTP > XI > Fileadapter
    when i go to SICF and test service "engine" i am getting the following resposne. Is this correct? I have tried to add a logon information within the service.
    <SOAP:Envelope xmlns:SOAP="http://schemas.xmlsoap.org/soap/envelope/">
      <SOAP:Header />
    - <SOAP:Body>
    - <SOAP:Fault xmlns:SOAP="http://schemas.xmlsoap.org/soap/envelope/">
      <faultcode>SOAP:Client</faultcode>
      <faultstring>Pipeline specified in URL attribute (type) not existing</faultstring>
      <faultactor>http://sap.com/xi/XI/Message/30</faultactor>
    - <detail>
    - <SAP:Error xmlns:SAP="http://sap.com/xi/XI/Message/30" xmlns:SOAP="http://schemas.xmlsoap.org/soap/envelope/" SOAP:mustUnderstand="1">
      <SAP:Category>XIProtocol</SAP:Category>
      <SAP:Code area="MESSAGE">URL_PIPELINE_NOT_FOUND</SAP:Code>
      <SAP:P1>/sap/xi/engine?sap-client=100</SAP:P1>
      <SAP:P2 />
      <SAP:P3 />
      <SAP:P4 />
      <SAP:AdditionalText />
      <SAP:ApplicationFaultMessage namespace="" />
      <SAP:Stack>Pipeline ID which is expected as value of attribute &quot;type&quot; in the URL, does not exist in the Integration Engine (URL = /sap/xi/engine?sap-client=100)</SAP:Stack>
      </SAP:Error>
      </detail>
      </SOAP:Fault>
      </SOAP:Body>
      </SOAP:Envelope>
    regards,
    tony

    That is all you need to maintain. There is a sample http send message code.
    Follow this thread.
    XI http-adapter; http-post test tool?
    regards
    Shravan

  • HTTP Adapter outbound (SSL) processing

    I am trying to send a XML message (an Invoice) from XI to an external Customer via HTTP Adapter.
    The site I am posting the message to is SSL.
    I have installed the Customer's Certificate via STRUST under SSL Client (Standard) and can see it in the
    certificate list.
    Within the Communication Channel for HTTP Adapter I have tried Addressing Type of URL
    and also with a HTTP (SM59) destination.  Both do not work.
    The setting used for both are
    host : workflw.externalcustomer.xxx.com  Service: 443
    Path : /SubmitInvoiceUAT/SubmitInvoice.asmx/SubmitCXML
    HTTP Proxy : internetproxy.mycompany.com
    Proxy Servuce : 80
    SSL Active : SSL Client Certificate ANONYM SSL Client(Anonymous).  As no client cert is used for logon
    I have attempted a connection test within SM59 for the HTTP Destination and I receive the error
    ICM_HTTP_SSL_ERROR.
    1) If the SSL Client Certificate ONLY for logon then how does XI know what cert to encyrption with?.
    2) Should Verisign/Thawte etc CA certs be also installed in STRUST ?
    Does that "public" key for encryption need to be placed anywhere (eg STRUST) or will XI just do
    3) this when it does the handshake with the external HTTPS site it is posting to ?
    4) Also the transaction STRUST may (or may not depending on how the documentation is interpreted) need the installation of some certs into its PSE (Personal Security Environment).  But exactly what they mean is a mystery.  I have created what I thought was the servers cert but cannot see to create a dev.connector.boc.com named certificate.  Perhaps that is not needed.
    Here is the help <a href="http://help.sap.com/saphelp_nw70/helpdata/en/e8/1f1041a0f6f16fe10000000a1550b0/frameset.htm">SAPHelp on  PI HTTPS Config</a>
    5) Also OSS note 510007 it advises to check a number of settings.  I have had a look at what I can ..namely via transaction RZ10  and I can see one parameter and should that be changed to include a HTTPS ? .i,e  currently it is set to     <i>icm/server_port_0  PROT=HTTP,PORT=80$$,PROCTIMEOUT=3600</i>

    Hello
    As a process you have done well. I suspect the problem could be with " SSL Client Certificate  ". Check weather the SSL Client Certificate  is Valid version.
    Best practice.
       Alway when we are communicating with HTTP outbound. It is better to have a STANDALONE ftp location for both SENDER and RECEIVE xml DATA transfter files.
             I hope I answered your question. It was nice answering your question. Feel free to reach SDN if you have any questions.
    Regards

  • HTTP adapter post prolog question.

    Hi all,
      I have a scenario where I need to send an XML message through the HTTP adapter (no SOAP) to an external service. THE HTTP Service requires a user password as parameters to be passed in order to process the message. Since HTTP adapters is doing only POST I used the prolog in order to pass these parameters (&user=xxx&password=XXXX) but i get a 401 error. In order to test I created a static HTML form with hidden inputs the user and password variable and did a POST (using iexplorer) and it worked!!! Am I doing something wrong?? Isn't the prolog filed in the adapter suppose to do the same ?? i.e. post two variable user, and password??? How does the prolog field worked? Any help will be appreciated.

    Thanks for the reply,
    actually the problem was on the Content-Type. The default text/xml was the problem since the application was expecting a application/www-form-ulencode (or something like this, i don't remeber). Now it works!!!

Maybe you are looking for

  • How can I download itunes for my lenovo yoga

    how can I download itunes for my lenovo yoga? It keeps telling me that the application can't run but I need itunes on my computer for my iphone and itouch.

  • AVerMedia MiniCard Hybrid ATSC ----- Correct Driver File Needed

    I have  the HP Compaq 8200 Elite Ultra-slim PC ant the AverMedia ATSC TV Tuner Card. HP TV Tuner Kit   Hp Part number  613990-001 The tuner card is......Hp Part number 48246-001 My Question is....  What is the latest and correct driver for this card?

  • Fb08 (reversal reason)

    sir,       when we post through fb08 then massage came out Massage is                        reversal reason is not defined Pls help.                   If this is configuration problems then then pls know me how to configure this in detail. Thanks yo

  • Some of my directory buttons are being hidden

    even though the Z-index is set to 101 and the thing that's covering it up is set to 100. Anyone know what I'm doing wrong? http://friendsoflafayette.org/new_site/photos_videos.html

  • How to know which session id has acquired an object ?

    Hello, We work on database 11.2.0.2 and aw 10G style. concurrent users attach an aw in multi mode. They make update on cubes and on dimensions. They use the olap command Acquire before update changes. When an object cannot be acquired, i would like t