Using RFC or HTTP adapter
Hi All,
I want to configure a receiver adator as the receiver adaptor in the sap xi system which will receive data from a 3rd party.
In this case among the adaptors RFC, SOAP, & HTTP which one will be the best to use and why ?
Also please let me how to use the RFC adapter as a trfc call.
Regards...
Hi Santosh,
You can receive your data from the 3rd party either with soap or http adapter. You can use rfc adapter for sending data to sap.
RFCs are of 5 types. Please check this thread for detailed information:
standard RFC Vs tRFC
From SAP help:
The RFC adapter maps the following RFC calls to XML messages and the other way around:
● Synchronous RFC calls (sRFCs) in messages with Structure linkquality of service Best Effort (BE)
● Transactional RFC calls (tRFCs) in messages with quality of service Exactly Once (EO)
● The receiver RFC adapter can also process messages with quality of service Exactly Once In Order (EOIO). They are mapped to transactional RFC calls (tRFC).
You have tRFC and qRFC queues. Take a look at this blogs:
/people/sap.india5/blog/2006/01/03/xi-asynchronous-message-processing-understanding-xi-queues-part-i
Regards,
---Satish
Similar Messages
-
How to pass the SIN using a plain http adapter in sender side.
Hi all,
How to pass the SIN(System Identification Number) using a plain http adapter in sender side.
Regards,
Venu.You can set it in a specific HTTP header (as explained here : http://help.sap.com/saphelp_nw04/helpdata/en/43/64db4daf9f30b4e10000000a11466f/content.htm) ...
Rgds
Chris -
Hello Expert,
Can anyone tell me, how to check RFC and HTTP adapter setting in XI?
regards
RameshHI,
Based on channel configuration (Sender / Receiver) parameters need to be configure, if source mean some inputs need to be give meanwhile target.
RFC:
Source: No need to give any value
Target: give host, rfc destination (target sytem logical system name) name and user id & pasword
HTTP:
Source: No need to give any value
Target: Need to give hotid (receiver system name); port(receiver system port) etc parameters need to set in adapter
I hope now you clear -
Transaction code used to configure HTTP Adapter?.
What transaction code we use to configure HTTP adaptor?.
SMICM
Is this correct?.Ash,
Yes. Please see this weblog for some more help:
/people/community.user/blog/2006/12/12/http-to-rfc--a-starter-kit
Just go this url and click the first one for HTTP adapter presentation:
https://www.sdn.sap.com/irj/sdn/advancedsearch?query=http%20adapter&cat=sdn_all#
Also check this threads:
in SMICM-->How to Activate HTTP Services
SMICM services
---Satish -
How to use URL for http adapter
Hello,
Iam working on IDOC2HTTP scenario. Here the end user system they have given only url address userid and password.End user is htttp. Please can u help me how ot use that.
Thanks in Advance.
Regards,
AbhiramHi Abhiram,
you can put there the URL directly or link to a destination where you store the address.
Have a look to [Configuration of HTTP receiver adapter|http://help.sap.com/saphelp_nw2004s/helpdata/en/43/64dbb0af9f30b4e10000000a11466f/frameset.htm]
Regards,
Udo -
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-sonIn 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. -
Building arguments of URL when using HTTP Adapter
I am using the HTTP adapter in one of my interfaces and need to call an url that has arguments. For e.g.
http://dpw6716.roseville.mycompany.com:8058/accelis/servlet/publish?type=create&ItemId=1018&Name=Harshad&Desc=FromXI
In the above URL the <b>ItemID</b> and the <b>Description</b> are dynamic. Is it possible to build such dynamic urls and used in the http adapter configuration? if so how? Can context objects be used here for the dynamic part?
Thanks,
HarshadHi Harshad,
it is possible to build up dynamic URLs, but the way is quite complex. You have to configure a XI-mandant as "Application System" to use it as allocator. Your message will be received there in an inbound-proxy (ABAP), where you have to implement a dynamic WAS-Request (class CL_HTTP_CLIENT).
Regards Udo -
3rd party to sap using RFC adapter
Hi Folks,
I'm sending some IDOC to sap from the 3rd party. I have to use RFC (TRFC call) adapter as sender and IDOC as receiver adapter.
Can you please suggest me how to configure teh sender side.
Regards....>
santosh nayak wrote:
> Hi Folks,
> I'm sending some IDOC to sap from the 3rd party. I have to use RFC (TRFC call) adapter as sender and IDOC as receiver adapter.
> Can you please suggest me how to configure teh sender side.
>
> Regards....
In order to use RFC as sender need to configure the below
SAP Side
RFC destination of type T using SM59 tcode
PI side
RFC destination of TYPE t type using same tcode
Note the progid provided should be same in both RFC destionations
Then during execution of RFC in SAP side need to provide the RFC destionation created there
HTH
Rajesh -
Logon Problem in to third party HTTP Server using HTTP Adapter
Hi All,
I am trying to use a receiver HTTP Adapter to communicate to third party asp based Webserver.
The Server expects the content type as application/x-www-form-urlencoded.
So, in the HTTP receiver communication channel I gave content type as application/x-www-form-urlencoded. The Problem is that now we are getting logon error message from the application though we use the correct user and password provided by them.
They have given us a HTTP test tool which is perfectly working with the user ad password used in PI HTTP Adapter receiver channel.
kindly share your thoughts on this issue.
Thanks in advance.
Regards,
Sudharshan N ASatish,
I have used Non-SAP logon only..
I doubt that the problem may be due to some encoding issue.. since the webserver expects a different Content type (application/x-www-form-urlencoded).
I donno if my doubt is logical
thanks.
Regards,
Sudharshan N A -
Hi guys,
I use receiver plain HTTP adapter for sending SOAP request. Followinf parameters have tu be entred:
Addressing Type: URL Address
Target Host: <host>
Service Number: <port>
Path Prefix: <path>
Then final address is generated:
http://<host>:<port>/<path>
It's working fine if I use http protocol.
Now I need to send SOAP request to address https://<host>/<path>. I don't know number of port where SSL communication's running.
Is it possible to enforce using of https protocol instead of http? Is it possible to enter empty port number? Or do you have any other idea how to pass around this problem?
Thank you in advance for every advice!
Regards
Zbynek>>Is it possible to enforce using of https protocol instead of http?
Instead of using URL Addressing option, you need to start using HTTP Destination option. An RFC destination type G should then be created where the similar details of hostname and path should be provided.
>Is it possible to enter empty port number?
Yes it could be empty, but you need to confirm it from the receiver party that would they be able to receive https request or not if no port is provided. This would depend upon the type of implementation they have at their end.
Regards,
Prateek -
Hello Gurus,
we have a synchronous XI from HTTP Sender adapter to RFC. The user of the interface would like to call it using the plain HTTP adapter with HTTPS. When we use the http port with the XI user/password as part of the url, it works OK. When we switch to the HTTPS port the interface does not provide a response. When we call the https url directly in Internet Explorer we get a pop-up requesting the user/password. Once
this is entered the interface works OK until the ie session in closed.
So can you please tell me what might be d problem?
If i m calling it from http client it is not giving me response, and if m calling it directly then also it is asking for user id and password.
Any help is appriciated.
Thanks,
HetalThanks Swarup.
I already have configured SSL.
But how i can make sure that what i need to use and how can i specify from below :
HTTP with SSL (= HTTPS), but without client authentication
HTTP with SSL (= HTTPS) and with client authentication
Which i need to use?
And if what shold be the url for that?
right now m using url like :
https://hostname:httpsport/sap/xi/adapter_plain?namespace=xyz&interface=xyz&service=xyz&party=&agency=&scheme=&QOS=BE&sap-user=xyz&sap-password=xyz&sap-client=xyz&sap-language=EN
Can you please tell me how i have to specify that as we do not configure HTTP Sender adapter?
Thanks,
Hetal -
Hi all
Could you please to help. I need to use receiver with HTTP adapter which in this adapter that I need to pass dynamic URL into this. I had try follow this document
http://help.sap.com/saphelp_nw2004s/helpdata/en/43/64dbb0af9f30b4e10000000a11466f/content.htm
but when I test it I got 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"><b>ATTRIBUTE_MISSING_URL</b></SAP:Code>
<SAP:P1 />
<SAP:P2 />
<SAP:P3 />
<SAP:P4 />
<SAP:AdditionalText />
<SAP:ApplicationFaultMessage namespace="" />
<SAP:Stack>Dynamic Header - Missing Message Attributes: URL/HTTP Destination</SAP:Stack>
<SAP:Retry>N</SAP:Retry>
</SAP:Error>
I think my XML source message format that is incorrect. This is my XML source message
<?xml version="1.0" encoding="UTF-8"?>
<ns0:MT_OB xmlns:ns0="http://xxxx.com:db6">
<type>
<TargetURL>http://xx.xx.xx.xx</TargetURL>
</type>
</ns0:MT_OB>
Could you please to suggest.
Thanks
ParkHi,
Use the UDF in mapping to create the dynamic URL.
DynamicConfigurationKey keyURL = DynamicConfigurationKey.create("http://sap.com/xi/XI/System/HTTP", <b>XXXXX</b>);
// access dynamic configuration
DynamicConfiguration conf = (DynamicConfiguration) param.get (StreamTransformationConstants.DYNAMIC_CONFIGURATION);
// set value
conf.put(keyURL, url);
See the belowlinks
dynamic URL - adapter specific properties (http receiver adapter)
/people/william.li/blog/2006/04/18/dynamic-configuration-of-some-communication-channel-parameters-using-message-mapping
Regards
Chilla -
Hi ,
I am using RFC to file adapter.i am facing this error in XML.
com.sap.aii.utilxi.misc.api.BaseRuntimeException
thrown during application mapping
com/sap/xi/tf/_MM_RFC2FILE_: RuntimeException in
Message-Mapping transformatio~
<SAP:Stack>com.sap.aii.utilxi.misc.api.BaseRuntimeException thrown during application mapping com/sap/xi/tf/_MM_RFC2FILE_: RuntimeException in Message-Mapping transformatio~</SAP:Stack>
for receiver CC chanel i am using File adapter.Is there nees to use file content conversion for this.Test the mapping with the payload from MONI, check if your mapping logic works in teh test tab of MM adn do the neccessary correction.
18:46:42 Start of test
Compilation of MM_RFC2FILE successful Fatal Error: com.sap.engine.lib.xml.parser.ParserException: XMLParser: No data allowed here: (hex) 2d, 20, 3c(:main:, row:2, col:3) com.sap.aii.utilxi.misc.api.BaseRuntimeException: Fatal Error: com.sap.engine.lib.xml.parser.ParserException: XMLParser: No data allowed here: (hex) 2d, 20, 3c(:main:, row:2, col:3) at com.sap.aii.mappingtool.tf3.rt.xparser.MTSaxHandler.run(MTSaxHandler.java:157) at com.sap.aii.mappingtool.tf3.rt.xparser.XParser.run(XParser.java:73) at java.lang.Thread.run(Thread.java:832) Root Cause: com.sap.engine.lib.xml.parser.NestedSAXParserException: Fatal Error: com.sap.engine.lib.xml.parser.ParserException: XMLParser: No data allowed here: (hex) 2d, 20, 3c(:main:, row:2, col:3)(:main:, row=2, col=3) -> com.sap.engine.lib.xml.parser.ParserException: XMLParser: No data allowed here: (hex) 2d, 20, 3c(:main:, row:2, col:3) at com.sap.engine.lib.xml.parser.XMLParser.scanProlog(XMLParser.java:2787) at com.sap.engine.lib.xml.parser.XMLParser.scanDocument(XMLParser.java:2832) at com.sap.engine.lib.xml.parser.XMLParser.parse0(XMLParser.java:231) at com.sap.engine.lib.xml.parser.AbstractXMLParser.parseAndCatchException(AbstractXMLParser.java:145) at com.sap.engine.lib.xml.parser.AbstractXMLParser.parse(AbstractXMLParser.java:160) at com.sap.engine.lib.xml.parser.AbstractXMLParser.parse(AbstractXMLParser.java:261) at com.sap.engine.lib.xml.parser.Parser.parseWithoutSchemaValidationProcessing(Parser.java:280) at com.sap.engine.lib.xml.parser.Parser.parse(Parser.java:342) at com.sap.engine.lib.xml.parser.SAXParser.parse(SAXParser.java:125) at javax.xml.parsers.SAXParser.parse(Unknown Source) at com.sap.aii.mappingtool.tf3.rt.xparser.MTSaxHandler.run(MTSaxHandler.java:155) at com.sap.aii.mappingtool.tf3.rt.xparser.XParser.run(XParser.java:73) at java.lang.Thread.run(Thread.java:832) -
at com.sap.engine.lib.xml.parser.SAXParser.parse(SAXParser.java:144) at javax.xml.parsers.SAXParser.parse(Unknown Source) at com.sap.aii.mappingtool.tf3.rt.xparser.MTSaxHandler.run(MTSaxHandler.java:155) at com.sap.aii.mappingtool.tf3.rt.xparser.XParser.run(XParser.java:73) at java.lang.Thread.run(Thread.java:832) Caused by: com.sap.engine.lib.xml.parser.ParserException: XMLParser: No data allowed here: (hex) 2d, 20, 3c(:main:, row:2, col:3) at com.sap.engine.lib.xml.parser.XMLParser.scanProlog(XMLParser.java:2787) at com.sap.engine.lib.xml.parser.XMLParser.scanDocument(XMLParser.java:2832) at com.sap.engine.lib.xml.parser.XMLParser.parse0(XMLParser.java:231) at com.sap.engine.lib.xml.parser.AbstractXMLParser.parseAndCatchException(AbstractXMLParser.java:145) at com.sap.engine.lib.xml.parser.AbstractXMLParser.parse(AbstractXMLParser.java:160) at com.sap.engine.lib.xml.parser.AbstractXMLParser.parse(AbstractXMLParser.java:261) at com.sap.engine.lib.xml.parser.Parser.parseWithoutSchemaValidationProcessing(Parser.java:280) at com.sap.engine.lib.xml.parser.Parser.parse(Parser.java:342) at com.sap.engine.lib.xml.parser.SAXParser.parse(SAXParser.java:125) at javax.xml.parsers.SAXParser.parse(Unknown Source) at com.sap.aii.mappingtool.tf3.rt.xparser.MTSaxHandler.run(MTSaxHandler.java:155) at com.sap.aii.mappingtool.tf3.rt.xparser.XParser.run(XParser.java:73) at java.lang.Thread.run(Thread.java:832) Fatal Error: com.sap.engine.lib.xml.parser.ParserException: XMLParser: No data allowed here: (hex) 2d, 20, 3c(:main:, row:2, col:3)
18:46:43 End of test
are you sending a XML file or a flat file to the target.If flat file ,
what is the requirement/delimitor and the data format requested by the Receiver system.
i just passind data from R3 RFC to XI,so sujjest what is needded in receiver file adapter. -
Hi,
We are developing one interface in which sender Torex system sends message in "HTTP Post" format.
In this sender application wants the url in following format.
http://server:port/sap/xi/adapter_plain?service=<xxx>&namespace=<xxx>&interface=<xxx>&sap-user=<xxx>&sap-password=<xxx>&qos=BE&ProductID=000000000000000216&uid=500014&deviceID=0725&StoreID=0004
In above "HTTP Post" format data has been sent in url without body of message.
I know the option in below blog.
https://weblogs.sdn.sap.com/pub/wlg/13639
But is there any other solution for this?
xml payload for above message is as below.
<?xml version="1.0" encoding="UTF-8"?>
<ns0:interface xmlns:ns0="namespace">
<ProductID>000000000000000216</ProductID>
<UID/>
<DeviceID/>
<StoreID>0004</StoreID>
</ns0:ExternalStockLocator_Retail_REQ>
Thanks
Edited by: darshana-PI on Feb 10, 2012 9:37 PMHello,
http://server:port/sap/xi/adapter_plain?service=<xxx>&namespace=<xxx>&interface=<xxx>&sap-user=<xxx>&sap-password=<xxx>&qos=BE&ProductID=000000000000000216&uid=500014&deviceID=0725&StoreID=0004
In above "HTTP Post" format data has been sent in url without body of message.
Please remember that when creating a sender/receiver using the Plain HTTP Adapter, the following are automatically filled out
Transport Protocol: HTTP 1.0, Message Protocol: XI Payload in HTTP Body. The transport protocol means that only HTTP 1.0 is supported and that for it to work, an HTTP Body is required.
Hope this helps,
Mark -
Changing RMI Port in HTTP adapter in interconnect
Hi
I need to change the RMI port for one of my HTTP adapters in Interconnect. I have changed it in the adapter.ini and in the web.xml files. I have then recreated the JAR/EAR files and redeployed the application to the oai component. The adapter starts ok but it still appears to be using the old port number and i can't send any messages to it (get a 500 Internal server error). Is there something else that needs changing?
CheersHello,
http://server:port/sap/xi/adapter_plain?service=<xxx>&namespace=<xxx>&interface=<xxx>&sap-user=<xxx>&sap-password=<xxx>&qos=BE&ProductID=000000000000000216&uid=500014&deviceID=0725&StoreID=0004
In above "HTTP Post" format data has been sent in url without body of message.
Please remember that when creating a sender/receiver using the Plain HTTP Adapter, the following are automatically filled out
Transport Protocol: HTTP 1.0, Message Protocol: XI Payload in HTTP Body. The transport protocol means that only HTTP 1.0 is supported and that for it to work, an HTTP Body is required.
Hope this helps,
Mark
Maybe you are looking for
-
How to give the header condition type in the Sales Order for freight?
Hi, We are creating Sales Order(SO) using FM 'CRMXIF_ORDER_SAVE'.And we are unable to track the FREIGHT condition type in the above FM to pass value. We want to check this value in CRMD_ORDER tcode. Pls let us know how to make it possib
-
Links are not working well, some do and other don't!
Because I want to have url's like www.name.nl/products/productx.html, www.name.nl/organization/personal.html etc. I made for each map a different little website. I made the menu manually and for each menu item I made links like: http://www.name.nl/p
-
Has anyone got a stable Grid Control operation going?
Has anyone managed to get their Grid Control system running smoothly that hardly ever needs a restart? If so please state your versions and operating systems involved and how stable it is. My team has been trying to get GC 10.2.0.4 (with a 10.2.0.3 r
-
10.4.6 - Adobe InDesign 2.0.2 quits during launch
Since the OS X 10.4.6 update, Adobe InDesign 2.0.2 crashes on launch. It seems to be crashing while scanning for plug-ins, which occurs early in the application launch process...Any ideas? I've repaired permissions and run Tiger Cache Cleaner...Perha
-
I am trying to share dimensions between an HFM application and a Planning application. Is there a way to share a dimension which needs to be the entity dimension in planning but a generic dimension in HFM? In Planning, my Department dimension is tagg