Using HTTP Receive ocation in BizTalk
Hi All,
I want to receive messages by using HTTP Receive location in BizTalk. Below are my steps.
1. Created App pool with .net framework 4 in IIS 7
2. Created virtual directory 'BTSHTTPReceive' with 64bit BTSHTTPReceive.dll with the above app pool in IIS 7
3. Created HTTP receive location in BizTalk with /BTSHTTPReceive/BTSHTTPReceive.dll and started in admin console of BizTalk
Correct me if I am wrong.
Now my question is,
How to send message to HTTP receive location of BizTalk?
Is there any tool to push message to BizTalk via HTTP adapter?
Thanks UK
You need to use post method. however check here what to use based on your requirement.
Also you can set the user authentication/password details in Soap UI.
Before that please go through the sub topics at here to validate if your configuration is correct and make changes if required, be it at IIS level or
at BizTalk host level or at SOAP UI, where ever needed.
Also make sure the account which you are using to post the message has proper access to IIS/Biztalk.
Please mark the post as answer if this answers your question. If this post is helpful, please vote as helpful by clicking the upward arrow mark next to my reply.
Similar Messages
-
HTTPS communication using HTTP receiver adapter URL address as Address Type
Hi All,
If some one who has tried HTTPS communication using HTTP receiver adapter using URL address as Address type can you please guide me what are the steps need to be done.
Note : Address type is a parameter in HTTP adapter setup .
Regards,
ReddyHi,
Check this,
Configurations in Integration Directory
The plain HTTP adapter gives the receiver system the following specifications:
— Specifications for addressing using a URL address:
Target host, service number, and path prefix including query string:
http://<hostname:port>/<path>?<query-string>
You can identify the target host (HTTP port) of a SAP Web Application Server using
the
ICM monitor
Host and port of the HTTP proxy (optional if there is a firewall between the plain
HTTP adapter and the receiver system)
Authentication data for the receiver system.
See also: transaction Display and Maintain RFC Destinations (SM59).
— Specifications for addressing using an HTTP destination:
HTTP destination
— Parameters from the communication channel for technical routing
Content type (the entry text/XML is expected as default)
Specifies the format that the message contents (the payload) should have.
Optional header fields for the receiver-specific protocol
Attributes for the query string
1. Sender party
2. Sender service
3. Receiver Interface
4. Message ID
5. Quality of service
6. Queue ID
All attributes are selected except for the queue ID. If you do not want a value to be
transferred to the receiver, deselect it. The queue ID is only required if the quality of
service is EOIO.
Specifications for payload manipulation
XML code (default UFT-8)
Specifies the character set.
URL escaping
Presents the XML in a URL-enabled format. Special characters that could be
interpreted as control characters are replaced with escape characters (masked).
Prolog
Enhances the payload for particular servers (optional, see below).
Epilog
Enhances the payload for particular servers (optional, see below).
Enhancing the Payload
Regards
Seshagiri -
How to convert XML message in text format by using HTTPS-Receiver adapter
Is it possible to convert XML message in text format when we use HTTPS as the receiver adapter?
If yes, how?
Thanks!
MrudulaHi Mrudula,
As far as i know there are no content conversion methodology for HTTPS as the recevier adapter.
Also you can read through these links to confirm the same:
http://help.sap.com/saphelp_nw04/helpdata/en/0d/5ab43b274a960de10000000a114084/content.htm
http://publib.boulder.ibm.com/infocenter/wbihelp/v6rxmx/index.jsp?topic=/com.ibm.wbia_adapters.doc/doc/sap_xi/sapximst30.htm
SAP NetWeaver - XML Communication Interface (CA-XML) [original link is broken]
Regards,
abhy
note: reward the helpful. -
HTTP UPLOAD using HTTP receiver adapter
Hello Experts,
I am facing a problem where i have to upload a file to webserver using POST , I am using a file adapter to pick the file and http or soap adapter to post the file to webserver. Here the request structure expected by the webserver is a file.
below is the form based web request:
<form enctype="multipart/form-data" name="Upload_File" method="POST" action="https://-------/servlet/zxcdsf">
Choose File: <input type=file name="Upload_File" value="fileUpload" ><br><br>
<input type=submit value="upload">
</form>
Please guide me how to achieve this using SOAP or HTTP.Hi Hemant
Yes you can try with proglog and epilog
Develop the Java mapping to convert the paylaod to HTML tags and replace the tags with corresponding (&, +, =, and %) . This may be able to post the data.
Try to create generic mapping to convert the payload to HTML this will help if you have more than one interface for the same requirement.
Java proxy code is having an advantage that you can always have that as a receiver for any of these request instead of dealing with individual Java mappings.
Try with epilog and prolog and as you said next step can be Java proxy.
Thanks
Gaurav -
HTTP Receive location failing to in BizTalk
Hi All,
BizTalk application receives request from external vendor using HTTP Receive location which uses HTTPReceive.dll
2 servers A and B in the production performing well, but it fails from yesterday. Could see request coming through the IIS in the IIS log, but it is not reaching to biztalk application.
I have tried these steps in both A and B machines
1. restart the biztalk app
2. restart the application pool of the website that connects this app
3. reset iis in the machines
How a request from IIS is routed to machines, I can't understand which machine handles the request, currently it reaches machine B, I could see previous IIS log where it processed successfully in machine A IIS log.
I could see error 500 in machine B IIS log for each request that comes in but cannot make it to BizTalk app
No error log in the event viewer of A and B BizTalk servers.
Can anyone guide me how to resolve it?
Regards
VivekHi Vivek,
If you get HTTP-500 error you will have eventlog entries, not just in IIS logs.
"How a request from IIS is routed to machines, I can't understand which machine handles the request, currently it
reaches machine B, I could see previous IIS log where it processed successfully in machine A IIS log." -
IIS would route to BizTalk machines, only if you have separate servers as webserver(IIS) and BizTalk. If IIS is host in the same servers as BizTalk, then when the IIS receive the message,
it would route to its standalone internal BizTalk server. The routing to different machines is due to the loadbalancer. Your statement is bit contradictory. I assume your IIS is local to the BizTalk servers. So when the client send the message to HTTPReceive.dll,
the url is bound to loadbalacer, which based on its load balancer logic route the message to anyone of the BizTalk server's IIS (machine A and machine B) hence you see two different IIS logs in machine A and machine B.
Many Load-balancers, I have seen work with a unique logic where they send the requests primary to one server always and only if that primary server is busy (or not available) then it would
send it to other server. May be load-balancer have been sending its request to mahicne-A until recently and may be due to some reasons its sending the request to machine-B now. The reason machine-B may not be working now, could be because it was never configured
properly before and when machine-B start to receive the message, it gives error(as load-balancer request are always handled by machine-A before). To prove this, stop IIS in machine-B and see machine-A receive the message.
For this HTTP-500 error, check the HTTPReceive.dll is configured correctly. Check the following articles for configuration:
Configuring BTSHTTPReceive.dll to work on IIS 7
http://www.biztalkbill.com/Home/tabid/40/EntryId/66/Configuring-BTSHTTPReceive-dll-to-work-on-IIS-7.aspx
http://social.msdn.microsoft.com/Forums/en-US/20ea5954-4ca8-40ca-b043-2e6c3d3ae105/btshttpreceivedll-remote-server-returned-an-error-500
If this answers your question please mark it accordingly. If this post is helpful, please vote as helpful by clicking the upward arrow mark next to my reply. -
HTTP Receiver interface returns with error code 110
Hi All,
We are posting the document from XI to a external server as HTTPS request.
We are able to sucessfully post the request to external server using HTTP destination as address type but not able to post sucessfully with URL as address type.
Here goes the details -
We are able to post the HTTPS request successfully on the external server using the HTTP destination as address type in HTTP receiver adapter setup.
When we setup address type as HTTP destination , we need to provide the following details -
IN SM59 , Connection type G
Target Host : host name ( with out "https://" as prefix)
Service No : 443
Path prefix : query string
SSL : Active
Certificate : Select the certifacte from the client certificate list.
We can post the request to external server using URL as address type in HTTP receiver adapter setup.
When we setup address type as URL , we need to provide the following details -
Address type : URL Address
Target Host : host name ( with out "https://" as prefix)
Service Number : 443 ( HTTPS port setup on XI)
Path : query string.
When we post the same request as we did with HTTP destination as Address type , we are getting a HTTP response code as failure HTTP response code 110
Please find the details about the return code -
If a cache returns a stale response, either because of a max-stale directive on a request, or because the cache is configured to override the expiration time of a response, the cache MUST attach a Warning header to the stale response, using Warning 110 (Response is stale).
110 Response is stale
MUST be included whenever the returned response is stale.
Please find the error message from SXMB_MONI
<?xml version="1.0" encoding="UTF-8" standalone="yes" ?>
- <!-- 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>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>N</SAP:Retry>
</SAP:Error>
Please let me know if some one has faced this issue.
Regards,
Reddy
Edited by: Nanda kishore Reddy Narapu Reddy on Mar 11, 2008 12:35 PMHi All,
Is some one can confirm that - We can use HTTPS with Address type as URL address in HTTP receiver adapter setup.
I can confirm that using HTTP destination as Address type in HTTP receiver adapter setup we can attain HTTPS communication with external server.
If some one who has tried HTTPS communication using HTTP receiver adapter using URL address as Address type can guide me what are the steps need to be done.
Address type is a parameter in HTTP adapter setup .
Regards,
Reddy -
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 -
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, -
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 -
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 -
Is it possible to use HTTPS in HTTP recv adapter using Address type as URL
Hi All,
If some one who has tried HTTPS communication using HTTP receiver adapter using URL address as Address type can you please guide me what are the steps need to be done.
Address type is a parameter in HTTP adapter setup .
Regards,
ReddyUse the below code to get the reference of EntityManagerImpl and get the reference of Session from EntityManagerImpl and then you can call the Stored Procedure.
private EntityManagerImpl emImpl;
emImpl = (EntityManagerImpl)Persistence. createEntityManagerFactory("TFDModel").createEntityManager();
Session session= emImpl.getActiveSession();
StoredProcedureCall call = new StoredProcedureCall();
call.setProcedureName("CONVERT_FEET_TO_METERs");
call.addNamedInOutputArgumentValue(
"LENGTH", // procedure parameter name
new Integer(100), // in argument value
"LENGTH", // out argument field name
Integer.class // Java type corresponding to type returned by procedure
ValueReadQuery query = new ValueReadQuery();
query.setCall(call);
Integer metricLength = (Integer) session.executeQuery(query);
Regards,
Vinay -
What to provide in HTTP Receiver Adapter ?
Hi,
I am using HTTP Receiver adapter for HTTPS connection to 3rd Party.
3rd Party system has provided URL / HOST / PORT details.
However i am not sure what i can provide as part of Target Host / Service Number / Path Prefix?
Regards,
Rakesh
Edited by: Rakesh Bhagat on Mar 11, 2009 10:03 AMHi Rakesh,
However i am not sure what i can provide as part of Target Host / Service Number / Path Prefix?
e.g http://www.sdn.sap.com:443/irj/scn/thread
Target Host: sdn.sap.com
Service Number: 443
Path Prefix: /irj/scn/thread
You can only enable SSL by:
1. creating an RFC Destination using TCODE SM59
2. install the certificates using TCODE STRUST, then restart ICM afterwards
3. call your RFC Destination in SM59 using HTTP Destination (instead of URL Address) option in HTTP Receiver Adapter
Hope this helps,
Edited by: Mark Dihiansan on Mar 11, 2009 3:14 PM -
Hi,about http receiver adapter.
i use http receiver adapter.
the message was sent from send to receiver via http adatper of integratio engine.
but how should i get payload of message?
i can not get the payload data in receiver application.
i set prolog as "&loaderXML=".
and then the parameter name of payload is "loaderXML"
but i can not get the parameter name "loaderXML" from http requesTcode - Sxmb_moni go to , Double click the message - HTTP receiver one, Right side --go to - Request Message Mapping ..go for the pay load content,
HI.
there are not "Request Messge Mapping" entry in right side. -
Regarding Http Receiver Adapter Details.
Hi Everyone.
When do we use http Receiver Adapter?
I want to configure File to HTTP Scenario.
For Receiver Adapter, What should i Specify Addressing Type .If I select the URL Address
What I need to give values for Target Host, Service Number, Path and Similarlly If I select Addressing Type as HTTP Destination, What I need to give value for HTTP Destination.
Regards,
VarunHi,
check this blog
Push Data to MVC Architectured application using XI
XI - SAP Business Connector integration using the HTTP adapter
http://help.sap.com/saphelp_nw2004s/helpdata/en/44/79973cc73af456e10000000a114084/frameset.htm
http://help.sap.com/saphelp_nw04/helpdata/en/43/64dbb0af9f30b4e10000000a11466f/content.htm
CSV File Lookup With Http Request and Response in XI
Dynamic Configuration of Some Communication Channel Parameters using Message Mapping
Regards
vasu
Maybe you are looking for
-
Is there any way not to lose the music on my phone from iTunes Match?
So my laptop died a while ago but I had all my music saved to an external harddrive. I uploaded my music files to my neew computer but for some reason some of my songs wouldn't download and now they exist on my phone but not my computer. I purchase
-
What are the userid,password, and host name for oracle 9i?
HI Guys. I am a research student at the University and the I recently downloaded Oracle 9i for my research. But the problems is also with seting it up. Please could you show me the userid, password, and host name for oracle 9i. Thanks in advance for
-
How do I program Macbook to watch it on tv?
How do I program my MacBook pro? I have the right cord hooked up to the right ports. I have the tv import set and the tv screen displays the initial screen of the makcbook pro on the tv, but I cannot get it to display the movie or anything else. H
-
I have a jsp page named security.jsp. my problem is that the below code is not working. This page shown all the values of database, and there is a update button, after clicking that we can modify rows of the table. <html> <body> <table> <tr> <td> <%@
-
Is there an easy way to find all apps on iPad , Seems like they are not all listed in general set up ? Also not all listed when search using keyword apps? Don't wamt to have to uise Mac lalptop.