XI HTTP Adapter Request Verb

Hi,
Does anyone know if you can change the XI HTTP Adapter verb, so that it sends the request with a different verb e.g. PUT rather then POST?
Thanks in advance,
Simon

Hello Amit,
Please find below sample URL which we have used for one of our requirements. If you are trying to communicate with XI through an exteranl application , An XIAPPLUSER is required.
http://netweaver:8000/sap/xi/adapter_plain?namespace=urn%3Aadaptive.mfg.tclproductionupdate&interface=MI_UPDATEPO&service=BS_XMII_TCL&party=&agency=&scheme=&QOS=BE&sap-user=xiappluser&sap-password=*****&sap-client=100&sap-language=EN
Thanks & Regards,
kiran

Similar Messages

  • XIAdapter/HTTP/ADAPTER.HTTP_EXCEPTION - HTTP 400 Bad Request

    Hi,
    We are doing File to WCF Scenario( SOAP ). I am trying to post the Data to WCf usingf SOAP Reciver Adapter.
    Getting the Following error.
    Message processing failed. Cause: com.sap.aii.af.ra.ms.api.RecoverableException: SOAP: response message contains an error XIAdapter/HTTP/ADAPTER.HTTP_EXCEPTION - HTTP 400 Bad Request
    Thanks in advance

    >>>  Message processing failed. Cause: com.sap.aii.af.ra.ms.api.RecoverableException: SOAP: response message contains an error XIAdapter/HTTP/ADAPTER.HTTP_EXCEPTION - HTTP 400 Bad Request
    Answer: Use the third party wsdl in SOAP UI or any soap client tool and send the request and see the response. The problem here is the message structure mismatch between your request to the webservice and webservice expecting... 
    Possible 2  reasons:
    1) You are not creating the target message based on the wsdl structure or not configured soap receiver properly.
        or
    2 ) Your wsdl is not latest or updated one or some changes have happened in the third party webservice hosting side.

  • HTTP adapter - Unable to access the following endpoint(s): REPLACE_WITH_ACTUAL_URL

    Hi All,
    Hope you all doing good.
    I had a simple but a bit unresolved issue.
    I am using soa suite 11.1.1.5 for calling a service which only accepts HTTPS POST requests.
    I used HTTP adapter to call that with required security applied.
    when I tested the process, the calling is not getting successful but the process goes in running state for 2 mins, and then fails with the error: Unable to access the following endpoint(s): REPLACE_WITH_ACTUAL_URL
    End point URL not reachable, and the URL after this.
    But there is 500 error message in the called service server log with the same user.
    I tried changing lot of things without success.
    Can anyone of you guide me, what could be going wrong here.
    Hope I get some solution .,
    Thanks in advance,
    Best Regards

    Hi,
    The process will receive the request as SOAP message. Then the process will call the service which accpets HTTPS POST message.
    I dont know, how to verify whether my service call out to service goes through POST method of HTTP adapter?
    But verb used is POST, http.payload is xml.
    Thanks & Regards
    Chandru

  • 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

  • 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

  • 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.

  • Namespace prefix problem in http adapter response

    Hi All;
    I use http adapter to call a third party service. I  post a XML request and it responses me as XML again..
    But when I call the proxy, it gives mapping error in response. because it expects namespace prefix in the first tag of the response xml.
    How can I get this xml back without any namespace?
    My response xml likefollowing  
    <?xml version="1.0" encoding="UTF-8" ?>
        <OrderLines>
           <item>
               <DocumentNo>99000140</DocumentNoitem>
        </item> 
    </OrderLines>
    but the adapter expects as
    <?xml version="1.0" encoding="UTF-8" ?>
        <ns0:OrderLines xmlns:ns0="http://company.com">
           <item>
               <DocumentNo>99000140</DocumentNoitem>
        </item> 
    </ns0:OrderLines>

    You can use the XMLAnonymizer module with your adapter (if you are using SOAP adapter for the call as HTTP adapter does not support modules) to remove the namespaces. Kindly check the following blogs for modules:
    Gabriel Sagaya Selvam - Standard Adapter Framework modules in PI 7.1 u2013Part 1
    /people/gabrielsagayaselvam.panneerselvam/blog/2009/12/07/standard-adapter-framework-modules-afmodules-in-pi-71-150part-1
    Gabriel Sagaya Selvam - Standard Adapter Framework modules in PI 7.1 u2013Part 2
    /people/gabrielsagayaselvam.panneerselvam/blog/2009/12/07/standard-adapter-framework-modules-afmodules-in-pi-71-150part-2
    Regards,
    Gökhan

  • HTTP adapter header fields

    Hai All,
       Is there any option to add header fields dynamically in the HTTp adapter header fields?
    I am doing a file to HTTp scenario.In this i have to pick a file using file adapter and add some header values(header values are both static and dynamic)and using HTTP adapter place it at a target URL.Is it possible to avoid  mapping since there is only picking up of file and adding some headers to it.I can see header fields in the HTTP reseiver adapter.Can i use these to add the static and dynamiuc header fields.specifically i have two questions.
    1)I want to include the source file name which is DYNAMIC as a field in the header fields in the target payload.How can this be achieved?Should i go for mapping and write a UDF for the same or is there any option to add dynamic values in the HTTP receiver adapter header fields?
    2)what are these header fields for?
    Can somebody explain it to me.I have gone through the Blogs like http receiver adapter configuration etc..would be of great help if anybody could explain it to me in detail.

    Thanks for the replies but my question is still un answered.please guide me on how to proceed?
    I am going to send a txt file.On top of the contents of the file i want these headers to be attached
    In the header fields of HTTP receiver adapter configuration can i give the following format?
    Header           Value
    AS2 from:    hgdfdjfhd
    AS2 to:        fhdfjdfdfnd
    subject:       hdsjdhsdsd
    will it appear in the target file as
    AS2 from:    hgdfdjfhd
    AS2 to:        fhdfjdfdfnd
    subject:       hdsjdhsdsd
    //file content starts here
    dsgdsjfgdsfggf
    hfdjhfdhfdjfdfhhdsfh
    hgdsjfgdsjfgdfdgfdg
    gfdsahdgsdfdgfgdsg
    what is to be done for acheiving this kind of target file?
    "If you choose to use HTTP Header fields then you can enter Field1 to Field 6 values. This will be embeded into the HTTP request as HeaderFieldOne and so on."
    can this HeaderFieldOne to HeaderFieldsix be populated with any valueslike
    AS2 from: ggdhfsdf and all?
    please help me out.

  • 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

  • HTTP Adapter issue

    I am using an HTTP adapter to send a message from XI to a url http://www.ustreas.gov/offices/enforcement/ofac/sdn/sdn.xml
    When I make a request to this url, my response should be a string of xml data.  This is a list of people / nations to whom my company cannot sell its products.
    The problem is that an HTTP adapter always sends a request method (GET or POST), but this website cannot accept a method.  (The error is HTTP 405 method not allowed)  The only way to retrieve the data is just to make a connection and then read the response stream.
    If you know java then you know exactly what I am talking about.
    I wrote a small java program that gets the data from this website, but I cannot find a way to do this with the HTTP adapter.
    Here is my code
    public static void main(String[] args)
        try
           String CompleteUrl = "http://www.ustreas.gov/offices/enforcement/ofac/sdn/sdn.xml";
           URL url = new URL(CompleteUrl);
           HttpURLConnection connection = (HttpURLConnection) url.openConnection();
           connection.setUseCaches(false);
           connection.setDoOutput(true);
           connection.connect();
           BufferedReader in = new BufferedReader(new InputStreamReader(connection.getInputStream()));
           String inputLine;
           while ((inputLine = in.readLine()) != null)
                System.out.println(inputLine);
           in.close();
          catch (Exception ex) {System.out.println(ex.getMessage());}
    So all I am doing here is making a connection and reading the response stream.
    The HTTP adapter always sends a GET or POST and that is not accepted by this website
    Thanks
    Vad Vayntrub

    Hi Vad,
    Have you considered implement/import your Java function into XI as internal mapping or imported archive? That way you can easily retrieve the information you need (directly from the URL you mention here) and further process it in XI.
    Thanks,
    Rob.
    Message was edited by: Rob Viana

  • HTTP Adapter - Problem sending message to XI.

    Hi,
      We have configured a scenario in IR and ID for the HTTP -> XI -> RFC message flow. We have created all the configuration objects (Receiver determination, receiver agreement, interface determination) in ID except the Sender Agreement (There is no Sender HTTP Adapter). So to trigger this interface we are sending the message to the following URL using a client HTML page.
    http://IPAddr:8000/sap/xi/adapter_plain?namespace=http://sap.com/xi/XI/TestPOC/r3&interface=MI_File_RFC_WeyPOC&service=SourceBS_XI&QOS=BE&sap-user=J2EE_GUEST&sap-password=JGUEST&sap-client=001&sap-language=EN
    After submitting the contents in HTML page, it is asking us SAP Web Application Server user id and password. Which user id shall we give here. We have tried giving the J2EE_ADMINISTRATOR user id and it's password but it gives "the requested resource does not exist" error messgage.
    How to resolve this problem ?
    Thanks and Regards,
    Lalit.

    Hi Lalit,
    try the xiappluser or a copy of it, like Sudhir said.
    But there is something else...
    You must code special characters such as forward slash (/), hyphen , period (.), or colon ( with escape characters (for example, %2F for /, %2D for -, %2E for .,and %3A for :).
    ( http://help.sap.com/saphelp_nw04/helpdata/en/14/80243b4a66ae0ce10000000a11402f/frameset.htm )
    Yours,
    Thomas

  • Configuration of http adapter to reach https-URL

    I want to configure a http Receiver Communication Channel that is supposed to call a web service with the following URL: https://api.sandbox.ebay.com/ws/api.dll.
    I did the following set-up in the http Adapter:
    Addressing Type: URL Address
    Target host: api.sandbox.ebay.com
    Service Number (Port):443 (-> Standard https Port)
    Path Prefix: /ws/api.dll
    I startet the process and received the following error message in XI:
    "ERROR: The requested URL could not be retrieved. While trying to retrieve the URL: "http://api.sandbox.ebay.com:443/ws/api.dll?"The following error was encountered: Zero Sized Reply. Squid did not receive any data for this request."
    It seems it is calling the URL via http, not with https.
    Can someone tell me how to change the configuration of the http Adapter that it uses https?
    Thanx in advance.
    Alex

    Hi Alexander,
    Create RFC Destination with Connection type ‘G’ using Tr. Code SM59 in XI System and enter all the parameters like TargetHost,(Target System), ServiceNo(external port)and path prefix. In the tab “Logon/Security” enter the login info and enable SSL. Run the transaction STRUST to setup client PSE.
    For more info on this refer to help.sap.com at the following <a href="http://help.sap.com/saphelp_nw04/helpdata/en/65/6a563cef658a06e10000000a11405a/content.htm">link</a>.
    In the HTTP Adapter communication channel config in XI ID, Select the “Addressing Type” as HTTP Destination and in the HTTP Destination field enter the HTTP Destination name you created in the above step.
    Hope this helps.
    Regards,
    Sam Raju

  • XI Http adapter receiver issue, how to change the target payload format

    Dear all,
    In my project, I need to call a servlet program using Http/xml.
    The message format accepted by the server program is like this:
    request:
    <?xml version="1.0" encoding="GBK"?>
    <PACKET type="REQUEST" version="1.0" >
    <HEAD>
      <REQUEST_TYPE>01</REQUEST_TYPE>
    </HEAD>
    <BODY>
      <BASE_PART>
        <QUERY_SEQUENCE_NO></QUERY_SEQUENCE_NO>
      </BASE_PART>
    </BODY>
    </PACKET>
    response:
    <?xml version="1.0" encoding="GB2312"?>
    <PACKET type="RESPONSE" version="1.0" >
    <HEAD>
      <REQUEST_TYPE>01</REQUEST_TYPE>
      <RESPONSE_CODE>1</RESPONSE_CODE>
      <ERROR_CODE>0000</ERROR_CODE>
      <ERROR_MESSAGE>xxx</ERROR_MESSAGE>
    </HEAD>
    <BODY>
      <BASE_PART>
        <QUERY_SEQUENCE_NO>01PICC057106001156421487812453</QUERY_SEQUENCE_NO>
      </BASE_PART.
    </BODY>
    <PACKET>
    My first question is if I can use the servie by SAP PI http adapter?
    If yes, and how to design the data type? The <HEAD> <BODY> are on the same level...
    Commonly, I only can set the data type like this:
    <?xml version="1.0" encoding="UTF-8"?>
    <MT_HTTP_IN>
       <HEAD>
          <REQUEST_TYPE>1</REQUEST_TYPE>
       </HEAD>
       <BODY>
          <BASE_PART>
             <QUERY_SEQUENCE_NO>123</QUERY_SEQUENCE_NO>
          </BASE_PART>
       </BODY>
    </MT_HTTP_IN>
    The problem is how to remove the <MT_HTTP_IN> then insert the tab <PACKET  type="REQUEST" version="1.0" >? I wonder if I need use JAVA mapping? and could u give me a related samples?
    Thanks a lot!

    Dear Xun Liu,
       If you need <PACKET type="REQUEST" version="1.0" >, then you need to create attributes 'type' and 'version' under node <PACKET>. At mapping level you can pass constant values for those attibutes.
    Regards,
    JP.

  • Sender http adapter - decoding (URL unescape)

    PI 7.0
    Incoming http request in XI is URL decoded. Currently I am using java mapping to decode it. Is there a way to set any adapter specific properties in sender http adater so that I can avoid the java mapping for decoding. Or any settings in SICF? In other words, how can XI handle encoded http requests?
    When XI makes a external http request, I can set a property "Mask Special Charcters (URL Escaping)" in the receiver http adapter. XI will make a encoded http request, meaning the xml will encoded in UT-8.

    Hi Ted,
    I'm currently trying to do something like that, but not yet totally successed with a base64 encoded payload.
    Here two documents that I really find interresting:
    How to Configure Message Level Security in SAP Exchange Infrastructure 7.0
    https://www.sdn.sap.com/irj/sdn/go/portal/prtroot/docs/library/uuid/d024ca8e-e76e-2910-c183-8ea4ba681c51
    How to handle unstructured source contents for Adapters (with Java mapping or with Module)
    https://www.sdn.sap.com/irj/sdn/go/portal/prtroot/docs/library/uuid/482aae19-0301-0010-3485-8efd618818d0
    if you find others... I'm ok to know it also
    Cheers.
    Mickael

Maybe you are looking for

  • TV Shows Season Pass New Episodes Gone from Check for Available Downloads

    I was informed today from iTunes Support that new episodes that become available will no longer come through the Store > Check for Available Downloads option in iTunes.  If you notice in your email alerts for the new episode's availability, it now sa

  • Quick Short Test & Review of X58 PRO-E

    Here is an upgrade version to the entry level X58PRO motherboard that MSI has to offer before. Model name is “X58PRO-E” and this was introduced to solve the High IOH Temp that other users encountered before with the X58 Pro. The chipset & VRM heatsin

  • MSS Calendar View - Details of employee's request displaying 0 for hours

    In MSS Calendar view when a manager views their calendar they can select the employee's time off request and the details will dispaly below.  The details consist of the type, date and hours of the request.  It appears that for some managers they are

  • Xsl not working

    Hi, When I call the below xsl in my BPEL code, I am getting the following answer. *<tempStr>oracle.xml.parser.v2.XMLNodeList@1546df5</tempStr>* my BPEL code is : ora:getContentAsString(ora:processXSLT('Hello.xsl',bpws:getVariableData('Invoke_OSTspSea

  • Title bar with end faded out to clear

    I want to create a title bar so that the color is stronger on one side and gradually fades out on the otherside. Ay suggestions? Powerbook G4   Mac OS X (10.4.1)