HTTP Receiver adapter with post
Hello,
I have following scenario.
XI (http receiver adapater) -
> 3rd party web based application.
The 3rd party application expects XI payload to be part of URL with POST Method.
When HTTP receiver adapter sends request to 3rd party application, the URL looks like as follows.
http://myserver:6789/myapplication/name1=value1&name2=value2&.....&name27=value27
I looked at HTTP receiver adpater document on SDN. I see some attributes such as headerfiled1, headerfiled2..... headerfield6 and urlfield1....urlfield6. I have about over 25 fields to be passed with URL.
Now I have following questions.
1. How to make XI payload as name value pairs and part of URL.?
2. I think the default for http adapater is GET, How to configure http adaper to use POST?
I appreciate your help.
Thank you,
Balaji
> 1. How to make XI payload as name value pairs and part of URL.?
You should create the whole URL in a user defined function in mapping.
> 2. I think the default for http adapater is GET, How to configure http adaper to use POST?
HTTP adapter (and SOAP adapter) use HTTP POST. GET is not supported.
Regards
Stefan
Similar Messages
-
HTTPS Receiver Adapter with POST and query String
Hi there,
we are currently running a http connection with an external partner. We use the plain http adapter to send documents.
Now we want to secure the whole thing and switch to https.
Currently we solely use the comm. channel in the directory. In the URL we include the required query string (http:/xxx/yyy<b>?msgtype=order</b>)
As I understand, the only way to use httpS is to use a RFC Dest. Type G in sm59.
But I am not able to add a query to the url there.
I guess that it is not an option to ask our partner to search the posted document for parameters. We were already happy that they were able to do it like we have it.
Does anyone has an idea how we could include a query in the url or give somehow the partner explicitly the info about the message type we send?
Thanks in advance,
HelgeHi Helge,
as far as I know this should be possible with SP16 by using the settings in the adapter configuration.
We had this requirement, but with SP15 it isn´t possible.
Have a look on the documentation
http://help.sap.com/saphelp_nw04/helpdata/en/14/80243b4a66ae0ce10000000a11402f/frameset.htm
Chapter Adapter-Specific Message Attributes
There you can use up to 6 URL Parameters. I never used it, if you have SP16, try it.
Regards
Thomas -
PI 7.11 - Sync HTTP receiver adapter with response XML file
Hi
We have a File to HTTP scenario in which we need a sync HTTP interface. We send a file to the HTTP address and receive a XML acknowledge. As I read in this forum: sync HTTP interfaces are not possible with the "standard" HTTP adapter. So I found an entry which recommended to use the SOAP adapter instead.
I configured it:
- Do Not Use SOAP envelope
- modules: RequestResponseBeans, CallSapAdapter, ResponseOneWayBean
If i use this scenario, i get following error in the RWB - Message Display Tool:
Delivering the message to the application using connection SOAP_http://sap.com/xi/XI/System failed, due to: com.sap.engine.interfaces.messaging.api.exception.MessagingException: java.lang.NullPointerException: while trying to invoke the method com.sap.engine.interfaces.messaging.api.Message.getMessageId() of an object loaded from local variable 'message1'.
I testet this scenario using CURL and it worked properly. Should this kind of scenario work with the SOAP adapter or do I need to buy/develop an own adapter? Is in NW7.3 possible to configure sync HTTP scenarios?
Thanks in advance
MichaelHi
actually i use a simple HTTP receiver CC with the setting "XI Payload in HTTP Body" to send a XML datafile to a webpage (java servlet). This part works fine by now. But, this servlet would also send back a status information to the state of the received datafile, which I like to catch.
e.g. HTTP response from the servlet (catched using CURL):
HTTP/1.0 403 Forbidden
Server: Apache-Coyote/1.1
X-Powered-By: Servlet 2.4; JBoss-4.3.0.GA (build: SVNTag=JBPAPP_4_3_0_GA date=200801031548)/Tomcat-5.5
Set-Cookie: JSESSIONID=OALHMomjR9TVgIATi8SrPQ**.ajp13_ls_1; Path=/ls
Content-Type: text/xml
Date: Tue, 06 Mar 2012 16:19:56 GMT
X-Cache: MISS from proxy.xxxx.com
Via: 1.0 proxy.xxxx.com:xxxx (http_scan/4.0.2.6.19)
Proxy-Connection: close
<?xml version="1.0" encoding="UTF-8" standalone="yes"?><!DOCTYPE transportordersfromls [ <!ELEMENT transportordersfromls (userid, clntid, msgid, (transportorderfromls+ | error))> <!ATTLIST transportordersfromls vers CDATA #REQUIRED> <!ELEMENT userid (#PCDATA)> <!ELEMENT clntid (#PCDATA)> <!ELEMENT msgid (#PCDATA)> <!ELEMENT transportorderfromls (refid, status)> <!ELEMENT refid (#PCDATA)> <!ELEMENT status (ok | error+)> <!ELEMENT ok EMPTY> <!ELEMENT error EMPTY> <!ATTLIST error reason (XMLError | SystemNotAvailable | ApplicationError | OTHER) #REQUIRED message CDATA #REQUIRED> ]>
<transportordersfromls vers="1.0">
<userid/>
<clntid>XXXXX</clntid>
<msgid>0</msgid>
<error reason="OTHER" message="Access denied"/>
</transportordersfromls>
Michael -
HTTPS Receiver Adapter POST with FILE TYPE parameter
Hello,
I need to do a POST to a URL service that validates content of a file. It receives user and password as string parameters and a FILE as a mime type parameter.
I'll appreciate any help.
Regards,
Diego.Hi.
Using Http Receiver Adapter , you can try out this.
This blog may give some idea-
/people/amol.joshi2/blog/2006/06/28/must-fire-a-http-get-from-xi---try-this
Otherwise, try out with callinng this service via SOAP Adapter i.e webservice.
Rgds,
moorthy -
HTTP Receiver Adapter payload as single line plain text with out any tags.
Hi PI experts,
I have a strange problem in http receiver adapter.
Sender RFC (SAP) Receiver: HTTP.
Receiver system expects the output from XI in the below format in a single line plain text with out any tags in the payload. and the content type should be application/x-www-form-urlencoded
Group=Test&Sentinel=Web%20Server&Facility=5345&Order Number=XT-XWHM-Y-NA&Serial Number=123456&@LABEL_QUANTITY=5&@LABEL_NAME=111114_Q
Is there any way to achieve this using http receiver adapter. Business is not ready to accept the output from XI not even in a single element instead they only need it as a JUST a plain text.
Appreciate early response on this.
Thanks in Advance,
JitenderDear Ola,
Could you elaborate how you achieved in catching the response data from the receiver in case of HTTP receiver adapter?
The target service is not a WebService but some python script that must to receive some paramters via POST request.
HOW can I post this parameters?
Here you entered the fields of the message type of the request in the header parameters of the receiver adapter? Thats fine.
But what about the message type and vice versa of the response from the receiver?
Regards
Rebecca -
How to set HTTP header field "cookie" with http receiver adapter?
Hi,
I am using http receiver adapter (not axis) in a scenario. I could not set a parameter with key cookie in http header. Is there some kind of restriction to set it? I am able to set others like connection and create custom fields using ASMA and dynamic key configuration via UDF on mapping.
Could you please comment on, is cookie http parameter special or noneditable by PI's http adapter? I am looking for a solution without editing any abap code...
Regards,I believe it is possible since axis adapter provides very same functionality. Let me summarize my scenario may be it helps:
I am trying to call series of webservice lets say in a BPM. First service (login service) will provide me with a session id (in http header with key Set-Cookie) then I will call another service which has that session id in its http header with key cookie then I am going to logout. So I am testing the second part now, but it doest let me send cookie http header parameter.
I hope I clarified a bit more my problem.
Regards, -
How to trace HTTP receiver adapter error
Hi All,
My scenario is to send PO details to vendor site (HTTPS URL). MY SSL configuration is complete and I have used the SSL certificates in RFC destination of type 'G'. When I test RFC destination connection, it gives me the correct response as '200'.
This RFC destination is used in HTTP receiver adapter of XI to connect to site and post PO xml document. It is passing successfully through Integration Server, as I get success flag in 'SXMB_MONI'. But, it is not reaching our vendor's site.
Can someone help me, with what's going wrong, or how can I trace the error.
Thanks & Regards,
AmitHi Sadhna,
It's a B2B scenario, where my sender is configured correctly and the receiver as well.
In sxmb_moni, I am getting successfull status. But, it is not reaching receiver.
Thanks & Regards,
Amit -
Paramter setting in URL in the case of HTTP receiver adapter
I have the following requirment: Can you anyone please help me how to define DATATYPE and configure in HTTP adapter:
The web page is developed in JSP page its body contains parameter(for example:<textarea name="xml" cols="70" rows="150" wrap="off">) to pass to the URL.
In this suitation,1) how can define my datatype in XI repository. ,Root element should be start with "xml" tag? 2). what are configuration parameters in HTTP receiver adapter.
3). Using HTTP post application.
Your response is highly appreciated.
Thanks
VenkatI have the following requirment: Can you anyone please help me how to define DATATYPE and configure in HTTP adapter:
The web page is developed in JSP page its body contains parameter(for example:<textarea name="xml" cols="70" rows="150" wrap="off">) to pass to the URL.
In this suitation,1) how can define my datatype in XI repository. ,Root element should be start with "xml" tag? 2). what are configuration parameters in HTTP receiver adapter.
3). Using HTTP post application.
Your response is highly appreciated.
Thanks
Venkat -
Hi,
I am working on a scenario, where I am posting xml message on https url, for which I am using HTTP receiver adapter.
I have created RFC destination of type 'G' in sm59 to make an https call, where I have provided following details:
In Technical Settings:
Target Host - <Hostname>
Service No. - 443
Path Prefix - <url path>
Logon Security:
SSL - Active
SSL Client Certificate - Default SSL Client (Standard)
UserName - <Username>
Password - <Password>
I have used this RFC destination in 'HTTP Destination' of HTTP receiver adapter.
When I test this interface, I am getting this error.
- <SAP:Error xmlns:SAP="http://sap.com/xi/XI/Message/30" xmlns:SOAP="http://schemas.xmlsoap.org/soap/envelope/" SOAP:mustUnderstand="">
<SAP:Category>XIAdapter</SAP:Category>
<SAP:Code area="PLAINHTTP_ADAPTER">ATTRIBUTE_CLIENT</SAP:Code>
<SAP:P1>110</SAP:P1>
<SAP:P2 />
<SAP:P3 />
<SAP:P4 />
<SAP:AdditionalText />
<SAP:ApplicationFaultMessage namespace="" />
<SAP:Stack>HTTP client. Code 110 reason</SAP:Stack>
<SAP:Retry>A</SAP:Retry>
</SAP:Error>
Can you please help me resolve this issue. Please let me know, if I am following the right steps.
Thanks in advance
Regards,
AmitHi -
Since you're using the http destination option in the channel, you just specify the user/pwd in the destination.
Regarding the issue, first, for the Logon/Security option in the destination, unless you'll be using a client certificate to authenticate, you should choose option ANONYM SSL Client (Anonymous) - you still provide the user/pwd in the Logon section. Make sure you have imported the root cert of the CA verifying the server's identity into the client certificate list within STRUST (node SSL Client (Anonymous)).
Also, for some hints on the issue, look at the ICM trace - tcode SMICM->Goto->Trace File... you may need to increase the trace level - SMICM->Goto->Trace Level... After resolving the issue, make sure to set the trace level back to default.
Regards,
Jin -
HTTP receiver Adapter configuration
Hi All,
I want to post an XML message using HTTP Receiver Adapter for my BPM scenario (Idoc to HTTP service)
The receiver has Oracle gateway and it expects message in following format.
HTTP Header
HttpVersion: HTTP/1.1
Authorization: Digest username=myusername,
realm=[email protected],
nonce=dcd98b7102dd2f0e8b11d0f600bfb0c093,
uri=/dir/index.html,
qop=auth,
nc=00000001,
cnonce=0a4f113b,
response=6629fae49393a05397450978507c4ef1,
opaque=5ccc069c403ebaf9f0171e9517f40e41
Contentlength: 12345
Contenttype: text/html
HTTP Body
TRANSPORT_PROTOCOL=OXTA
TRANSPORT_PROTOCOL_VERSION=1.0
REQUEST_TYPE=SEND
MESSAGE_ID=A1234567890ZZ0987654321
MESSAGE_TYPE=XML
MESSAGE_STANDARD=OAG
TRANSACTION_TYPE=PO
TRANSACTION_SUBTYPE=PROCESS
DOCUMENT_NUMBER=12345
PARTYID=9999
PARTY_SITE_ID=8888
PROTOCOL_TYPE=HTTPSOXTA
PROTOCOL_ADDRESS=HTTPS://www.me.com/servlets/oracle.ecx.oxta.
transportAgentServer
USERNAME=myusername
PASSWORD=myloginpassword
ATTRIBUTE1=
ATTRIBUTE2=
ATTRIBUTE3=
ATTRIBUTE4=
ATTRIBUTE5=
PAYLOAD=<xml ... ...>
I think this is not a typical HTTP URL type of format, is it?
And I am not sure how I can build the message. Where do I put the parameters like TRANSPORT_PROTOCOL, TRANSPORT_PROTOCOL_VERSION, REQUEST_TYPE etc in the HTTP adapter?
Also is there any place where I can see the final actual XI message that is sent to HTTP service?
Any help will be really appreciated.
Thanks and regards,
Rahul.Hi Rajeev,
The receiver system should have the details about the content type it expects. I got that from the team who monitors our receiver system.
The HTTP Body of HTTP adapter is made up of PrologPayloadEpilog.
So I added the paramter list that receiver system expects as part of the Prolog. Refer to the HTTP body that I have posted in my earlier message. Out of that till ".....Payload=" is added to Prolog and XI then appends actual payload to it.
To be precise -
TRANSPORT_PROTOCOL=OXTA&TRANSPORT_PROTOCOL_VERSION=1.0&MESSAGE_TYPE=XML&MESSAGE_STANDARD=UNIVERSAL&TRANSACTION_TYPE=XXXE&TRANSACTION_SUBTYPE=ORDER_I&DOCUMENT_NUMBER=PO12345&PARTY_SITE_ID=ESAP_ORDER_I&USERNAME=***&PASSWORD=**&PAYLOAD=
So in the end it worked out well.
Cheers,
Rahul. -
HTTP Sender and HTTP Receiver adapter. Pls advice urgent
Hi All,
There is one Third Party that wants to send XML data and receive XML data with XI.
Please let me know can I use HTTP for that.
How to use HTTP Sender part?
How to use HTTP Receiver Adapter?
Pls send blogs/doc for that
Thanks and Regardshi.,
Check this thread for the code for a HTTP Client,
/message/266750#266750 [original link is broken]
Also, check these blogs. They use HTTP adapters for their configuration,
/people/siva.maranani/blog/2005/05/21/jdbc-stored-procedures
/people/sriram.vasudevan3/blog/2005/02/14/calling-stored-procs-in-maxdb-using-sap-xi
http://help.sap.com/saphelp_nw04/helpdata/en/44/79973cc73af456e10000000a114084/content.htm
Check these links for the configuration part.
http://help.sap.com/saphelp_nw04/helpdata/en/43/64db4daf9f30b4e10000000a11466f/content.htm
http://help.sap.com/saphelp_nw04/helpdata/en/bc/bb79d6061007419a081e58cbeaaf28/content.htm
http://help.sap.com/saphelp_nw04/helpdata/en/44/79973cc73af456e10000000a114084/content.htm
Weblog :
/people/sriram.vasudevan3/blog/2005/01/11/demonstrating-use-of-synchronous-asynchronous-bridge-to-integrate-synchronous-and-asynchronous-systems-using-ccbpm-in-sap-xi - although this weblog is
aimed at explaining the sync-async bridge.. Sriram has taken http-to-file scenario as the example
note:reward points if solution found helpfull.....
regards
chandrakanth.k -
How to Call HTTP Sender Adapter of Other Scenar from HTTP Receiver Adapter?
Hi,
I have a requirement to call HTTP Sender Adapter of Other Scenario from HTTP Receiver Adapter?
or
call SOAP Sender Adapter of Other Scenario from SOAP Receiver Adapter?
i.e
SOME SENDER - > PI - > HTTP Receiver - > calling -> HTTP Sender -> PI -> SOME RECEIVER
SOME SENDER - > PI - > SOAP Receiver - > calling -> SOAP Sender -> PI -> SOME RECEIVER
if any one can provide me the screen shot for those SOAP / HTTP Sender or Receiver ADAPTER.
or Point me to Some article with Screenshots .
That would be appreciated with Point.
Regards
PS.Solved . .
-
HTTP receiver adapter: dynamic configuration
I was told that if I have a URL and some parameters, I can use a sync HTTP receiver adapter to call a site.
I know this can be done using some kind of dynamic configuration, but I am not familiar with this adapter.
The most important question here is that I need to know if this can be done throw PI, so my question is:
Is there a parameter limit in the HTTP adapter? If so, what is the quantity of parameters that I can give to the adapter?for the ASMA parameters you can use for the HTTP receiver adapter check
Configuring the Receiver Plain HTTP Adapter - http://help.sap.com/saphelp_nw04/helpdata/en/43/64dbb0af9f30b4e10000000a11466f/frameset.htm -
HTTP Receiver Adapter : Dynamic URL
Hi,
I have a scenario where I wish to build a dynamic URL for the HTTP Receiver Adapter. The URL will contain a customer number which is present in the mapping.
The help seems to suggest that this is possible :
<i>If you want to use an HTTP destination or URL set by the mapping, set the URL or HTTP Destination indicator. (The indicator displayed depends on the Addressing Type you selected above). If you set the indicator, the URL or HTTP destination set dynamically is called by HTTP.
If the message header does not contain the URL or the HTTP destination, and you have set the Fail If Adapter-Specific Message Attributes Missing indicator, the XI message is set to status System Error. If you do not set the indicator, the URL or HTTP destination defined statically in the communication channel is used.</i>
However, it is not very clear where the URL needs to be set dynamically.
Does anyone know how to achieve this ?
Cheers
Colin.hello to all,
We have a unique issue with one of our customers that is limited to 100 character URL. The current url is http://mycompany.com/sap/xi/adapter_plain?namespace=urn%3Agoodyear%2Ecom%3AAIT%3AInventoryCheck&interface=AITInventoryCheck_Abs&service=HTTP_AIT_InvChk&QOS=BE&sap-client=010&sap-language=EN
Is there a way to have a URL like
http://mycompany.com/sap/xi/adapter_plain?namespace=urn%3Agoodyear%2Ecom%3AAIT%3AInventoryCheck
and then somewhere in the process add... &interface=AITInventoryCheck_Abs&service=HTTP_AIT_InvChk&QOS=BE&sap-client=010&sap-language=EN
So the data comes to an F5 through the DMZ to the SAP webdispatcher then to the SAP XI system.
Any ideas if this is possible or how you could start with a shorter URL?
Thanks,
Dede -
ICM_HTTP_TIMEOUT error in HTTP Receiver adapter
Hi
I am doing HTTP Receiver adapter and File Sender adapter for my scenario.
I am getting the following error in SXMB_MONI.
- <!-- Call Adapter
-->
- <SAP:Error xmlns:SAP="http://sap.com/xi/XI/Message/30" xmlns:SOAP="http://schemas.xmlsoap.org/soap/envelope/" SOAP:mustUnderstand="">
<SAP:Category>XIAdapter</SAP:Category>
<SAP:Code area="PLAINHTTP_ADAPTER">ATTRIBUTE_CLIENT</SAP:Code>
<SAP:P1>402</SAP:P1>
<SAP:P2>ICM_HTTP_TIMEOUT</SAP:P2>
<SAP:P3 />
<SAP:P4 />
<SAP:AdditionalText />
<SAP:ApplicationFaultMessage namespace="" />
<SAP:Stack>HTTP client. Code 402 reason ICM_HTTP_TIMEOUT</SAP:Stack>
<SAP:Retry>M</SAP:Retry>
</SAP:Error
Help needed,Hi Ganesh,
Check this weblog...
/people/michal.krawczyk2/blog/2006/06/08/xi-timeouts-timeouts-timeouts
Check this thread with similar issue...
ICM_HTTP_TIMEOUT
Regards,
Sridhar
Maybe you are looking for
-
I created a link to an image in a slideshow that opens a single image in a new _Blank page. The original gallery page stays open and the slide show continues. On the newly opened page, I have order buttons and additional information about the image.
-
Help with reading information coming from a software into LabVIEW through Serial port
Hi, I am new to LabVIEW and also an amateur in using RS232 for communication. I have this software that has these icons like speed increase/decrease, elevation up/down, start/stop. Now, when I click these buttons on the software, they perform the app
-
Just installed 10.0.8? Check Software Update for updated QT codecs
New ProApps Quicktime codecs [1.0.2] This update adds the following video codecs for use by QuickTime-based applications: Apple Intermediate Codec Apple ProRes AVC-Intra DVCPRO HD HDV XDCAM HD / EX / HD422 MPEG IMX Uncompressed 4:2:2 XAVC This update
-
Displaying Date types in the grid control
I have a grid control and one of the column is displaying 'Date' type data. I am able to see the Date values in the grid, if I define the return type of the getter function as String format. But the problem with this is, when I click on the Date colu
-
Which Date for Sales Date in Demantra
Hi Experts, For 'Shipment History – requested items –shipped date' option for collecting actual quantity, which date is picked from oe_order_lines_all table. I assume it is Actual_shipment_date . Initially I was thinking of scheduled_arrival_date or