HTTP adapter URL Parameter
HI we are currently integrating a http to rfc connection with the URL in the format of
http://sdn.sap.com?name=Joe&country=India
we want to pass the url parameters name and country to a rfc in sap but we are having difficulties using the apply URL Parameters on the sender http adapter when it comes to message mapping. can you give a sample xml that will be generated when we received the said URL and how we can map these on the receiver RFC. Thank you in advance'
Hello,
we want to pass the url parameters name and country to a rfc in sap but we are having difficulties using the apply URL Parameters on the sender http adapter when it comes to message mapping.
You need to tick ASMA and then under apply URL parameters your entry should be like this:
Parameter1 name
Parameter2 country
http://help.sap.com/saphelp_nwpi71/helpdata/EN/43/64db4daf9f30b4e10000000a11466f/content.htm
And then retrieve the name and country via dynamic configuration in message mapping using the technical name specified by SAP Help above
DynamicConfiguration conf = (DynamicConfiguration) container
.getTransformationParameters()
.get(StreamTransformationConstants.DYNAMIC_CONFIGURATION);
DynamicConfigurationKey name = DynamicConfigurationKey.create(
"http://sap.com/xi/XI/System/HTTP","URLParamOne");
DynamicConfigurationKey country = DynamicConfigurationKey.create(
"http://sap.com/xi/XI/System/HTTP","URLParamTwo");
String uName = conf.get(name);
String uCountry = conf.get(country);
PS: You cannot test dynamic configuration in ESR. You have to do at least the HTTP to PI testing on your part to see if your config works.
Hope this helps,
Mark
Edited by: Mark Dihiansan on Apr 7, 2011 7:27 AM
Similar Messages
-
Hello Gurus,
Just wanted to know that we are doing load balancing in our XI server, so for HTTP adaper can i use the same url or i need to change it?
Right now i am using 8000 port, will it be same after doing load balancing?
Thanks,
Hetalthe architecture of an XI installation in load balancing depends from the flow that XI have to manage in load balancing, because the JAVA stack and the ABAP stack have different way to implement load balancing and also some adapter differs from other.
however,for HTTP adapter u can use same URL and port.
Configuring SLD in Sneak Preview SAP NetWeaver '04 Sneak -
Hello All,
I'm want to use the ASMA in http adapters.
I tried in file adapters and got the expected result but in HTTP couldn't get it.
In file adapter:
I have selected the ASMA option in sender communication channel and selected the filename so that filename is included in message header.
When selected the ASMA in receiver communication channel and selected the filename so that the filename which is added in message header is getting reflected here by overwriting the constant file name given in filename schema.
In HTTP adapter:
In sender communication channel i'm selecting the ASMA. But i have doubt in using the
HTTP Header Fields .
Field 1, …, 6: (technical name: HeaderFieldOne, .... HeaderFieldSix)
URL Parameters
Parameter 1, …, 6: (technical name: URLParamOne, …, URLParamSix)
here url parameters implies what? is it the optional parameters like msgguid, party....etc other than mandatory parameters namespace,interface,senderservice?
What is this HTTP fields...? is it any additional fields other than above optional and mandatory fields, which are coming in HTTP reuest url.
I have used the HTTP client tool to send payload to my PI system. I sent the xml payload to pi by providing the mandatory fields. it's fine. when i gave the optional parameters in the input filed, automatically it is including in xi message header(without selecting the option URL parameters).
Also i have added two input fields and entered value in them, they got added in fields in URL. But they are not reflecting in messgae header inspite of selecting HTTP Header Fields and gave that input field.
Please give detail description. I have checked in several blogs but didn't get enough info.
Please help me.
Regards,
Ch.VenkatHi Venkat,
Please refer the SAP Note 1386621 - Plain HTTP Adapter: Dynamic parameter.
here url parameters implies what? is it the optional parameters like msgguid, party....etc other than mandatory parameters namespace,interface,senderservice?
URL parameter is to create or retrieve URL. for receiver HTTP adapter you can set this parameter on UDF and create dynamic HTTP url at run time.
What is this HTTP fields...? is it any additional fields other than above optional and mandatory fields, which are coming in HTTP reuest url.
HTTP fileds is to create or retrieve HTTP header values (If present).
Please check the SAP note for more detail.
regards,
Harish -
Error with receiver HTTP adapter
Hi all,
my scenario is the following :
ORDERS05 -> iDoc Adapter -> XI -> HTTP adapter ->URL
I get the following error when calling the HTTP adapter :
HTTP client. Code 108 reason
Error Category = PLAINHTTP_ADAPTER
Error ID = ATTRIBUTE_CLIENT
First we thought that the problem may come from the HTTP server but we tried with these parameters :
Target Host = service.sap.com
Service Number = 80
Path = /
And we get the same error. So obviously the problem is on the XI side...
Did anyone ever had the same problem ? Or has a clue on how to solve it ?
Thank you very much in advance.
Regards,
JulienHi,
Pls check in the transacation sicf whether the http service is active or not.
Regards
Priyanka
Message was edited by: Priyanka Balagangadharan -
HTTP reciever adapter URL parameters
Hello all,
I have a question regarding passing parameters as querystring in the url of reiever HTTP adapter. This is an RFC> XI> HTTP scenario and we're posting to an external URL. Here are the details
URL: xxxx.yyyyy.com
Service Number: 80
Path: /api/company_codes
It works fine with these. I want to pass a parameter called "bulk" with value "1".
How should I do it. Should I append it to the Path directly like
Path: /api/company_codes?bulk=1
or enable Apply URL Parameters under Adapter Specific MJessage Attributes and fill in
Parameter 1 : bulk=1
Could somebody clarify this please?
Thanks
KarthikWhen the parameter is fix, so apply it to the path.
Regards
Stefan -
HTTP Sender - how to read URL Parameter USER id into Mapping
Hi,
My scenario is HTTP - XI - ABAP Proxy.
I wanted to capture USER id of the person who posted(HTTP) into XI(Mapping). How to read/evaluate the value of sap-user from querystring of URL ?
http://HOST:8008/sap/xi/adapter_plain?namespace=http%3A//abc.com/sales_oa&interface=MI_sales_OA&service=DEV_D&party=&agency=&scheme=&QOS=EO&<b>sap-user=SM9999</b>&sap-password=xxxxx&sap-client=001&sap-language=EN
please help.Mallik,
Try URL Parameters in HTTP sender communication channel.
In the sender communication channel set Adapter Specific Message Attributes. Click on Apply URL Parameters. In Parameter1 put sap-user (U can query any URL parameter by giving its name as in the HTTP URL).
Now in SXMB_MONI, in inbound payload SOAP Header, under Dynamic configuration u can see the value of the user. Query the same in Mapping using Dynamic Configuration using keyName as UrlParamOne.
Regards,
Sudharshan N A
Message was edited by:
Sudharshan Aravamudan -
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 -
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 -
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.
AlexHi 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 -
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 -
HTTP Sender Adapter - URL / Query String - Posting problems ?
Hi All,
Scenario: Partner sending order request via HTTP adapter to XI
I have configured my scenario and this is a sample URL I gave to Partner but when they try to post, they get "Connection Failed" error.
http://server.cmpny.com:1234/send/test/message?
service=Send_Order
&namespace=urn%3Asap-com%3Adocument%3Asap%3Aidoc%3Amessages
&interface=ORDERS.ORDERS05
&party=ABC&qos=EO/
Party Name : ABC
Service : Send_Order:
Interface: ORDERS.ORDERS05
Namespace: urn:sap-com:document:sap:idoc:messages
This partner has been "successfully" exchanging data for other messages using the same hostname/userid/passwd, so is there any problem my URL encoding ?
Any help is appreciated
BobHey
i m not sure how u generated the URL for the scenario but the best approach would be to use the following HTTP test tool for it
/message/266750#266750 [original link is broken]
just use the code given by Mr.Stefan Grube .
secondly instead of host name ,give the IP address of the XI server.
Thanx
Aamir -
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 -
Http receiver adapter - url parameters
I have a scenario where I'm calling a client proxy and passing a file name to xi. I have a receiver http adapter configured to post to a servlet. I want to pass the file name from payload to my query string variable. i.e PATH = parser/servlet/parsereng and I want to have a url parm like the following:
?filename=<filename from payload>
Any sap documentation walk thru would be great.
Thanks,
MarkHi,
you can set the url dynamically in this was:
/people/william.li/blog/2006/04/18/dynamic-configuration-of-some-communication-channel-parameters-using-message-mapping
read:
which Adapter-Specific Message Attributes you can use on:
http://help.sap.com/saphelp_nw04/helpdata/en/43/64dbb0af9f30b4e10000000a11466f/frameset.htm
Regards,
michal
<a href="/people/michal.krawczyk2/blog/2005/06/28/xipi-faq-frequently-asked-questions"><b>XI / PI FAQ - Frequently Asked Questions</b></a> -
Outbound HTTP adapter and URL parameters
Hi all
I'm having some trouble with a XI scenario I'm supposed to implement.
I should get invoices from a vendors webserver using a url with parameters (ex. http://myvendor.com/getinvoice.jsp?invoiceid=12345) and send it as INVOICE IDoc to the R/3.
I thought that would be an easy one using the Plain HTTP-Adapter but I can't figure out how to build the URL. Is there a way to do that, or do I need to implement my own adapter??
Thanks in advance
StefanHi 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= or should it be &test= .I tried this but it doesnt work.So please provide help on this as soon as possible or please suggest a solution at [email protected]
Thanx in advance,
Akshata -
HTTP adapter question - how to tell what URL was used in the runtime
I need to know the URL information used when sending via HTTP adapter. I cannot find this information in the SXMB_MONI trace under SOAP header or in any other place.
THanks,
PamNever mind....I found the log in ICM monitor
Maybe you are looking for
-
Good morning everyone. I am in need of some help. I am a newbie when it comes to configuring the ASA. Here is my problem. I have the asa configure and it is allowing me to get out to the internet. I have several VLANs on my network and from inside I
-
Hi, I have one report using Reuse_Alv_List_Display as output. After that I have to download the output to PDF. By using the following code I can able to download, But the Problem is I have 54 fields( total length to 900 characters) in the out put and
-
Playing a sound in a given frequency and it paly at given time
Hi, Iam pradeep i had a problem to produce sound at given frequency and it play at given time. Please help me to do that program. i tried using sound api
-
WHAT IS MY PASSWORD?
-
Has anybody tried "MSI Bluetooth Driver only for WinXP SP2" with MS-6968? I wanna skip widcomm....