Header Fields not picked in Http Adapter
Hi ,
I am sending a few custom header fields that have been set up in the HTTP adapter but for some reason they are not picked.
Any suggestions..
-Teresa
Thanks Sameer,
This note did help us pick up the header fields but on picking up it returns the header fields in lower case instead of the case Sensitive format I sent it in ..I looked at the trace log too and its in case sensitive format but when my 3rd party receives it, it is in lower case format...funny even the <?xml version="1.0" encoding="utf-8" standalone="yes" ?>
is also in lowercase..I am running XI 3.0 SP4..Is it an XI issue or something to do with my integration server which processes my HTTP adapter??? Or any other notes also needs to be applied??
Please help..
Trace level="1" type="T">---- Plain HTTP Adapter Outbound----</Trace>
<Trace level="1" type="T">----
</Trace>
- <Trace level="1" type="B" name="CL_HTTP_PLAIN_OUTBOUND-ENTER_PLSRV">
<Trace level="3" type="T">Quality of Service EO</Trace>
<Trace level="1" type="T">Get XML-Dokument from the Message-Objekt</Trace>
<Trace level="3" type="T">URL http://xkqbdev.ampton.net:50080/abc/Web/servlet/XMLChannelServlet</Trace>
<Trace level="3" type="T">Proxy Host: 10.69.14.98</Trace>
<Trace level="3" type="T">Proxy Service: 80</Trace>
<Trace level="3" type="T">Authorization: Basic NDQ0NDQ0NDQ0OjQ0NDQ0NDQ0NA==</Trace>
<Trace level="3" type="T">~request_method POST</Trace>
<Trace level="3" type="T">~server_protocol HTTP/1.0</Trace>
<Trace level="3" type="T">accept: /</Trace>
<Trace level="3" type="T">content-type: text/xml</Trace>
<Trace level="3" type="T">Header-Fields</Trace>
<Trace level="3" type="T">X-Extricity-Sender-ID 444444444</Trace>
<Trace level="3" type="T">X-Extricity-BO-Type-ID http://xml.cXML.org/schemas/cXML/1.2.011/cXML.dtd</Trace>
<Trace level="3" type="T">Prolog conversion Codepage: UTF-8</Trace>
<Trace level="3" type="T">Epilog conversion Codepage: UTF-8</Trace>
<Trace level="3" type="T">content-length 3023</Trace>
<Trace level="2" type="T">HTTP-Response :</Trace>
<Trace level="2" type="T">Code : 500</Trace>
<Trace level="2" type="T">Reason: Internal Server Error</Trace>
<Trace level="2" type="T">Code : 500</Trace>
<Trace level="2" type="T">Reason: Internal Server Error</Trace>
</Trace>
</Trace>
-Teresa
Similar Messages
-
Removing HTTP header field DOCTYPE in inbound HTTP
Hello,
For an inbound HTTP message we need to remove the !DOCTYPE tag from the message since XI message mapping cannot handle it.
We had a similar issue with outbound http where we used an xslt mapping to include the DOCTYPE.
I think it should be possible to also remove the doctype with xslt, in fact I have an xslt that works in xmlspy on the inbound http message, but after deploying in XI the mapping step fails.
The xslt is small but working:
<?xml version="1.0" encoding="UTF-8"?>
<xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform" xmlns:fo="http://www.w3.org/1999/XSL/Format">
<xsl:template match="/">
<xsl:copy-of select="." />
</xsl:template>
</xsl:stylesheet>
When I test the interface mapping it gives a transformer exception.
When i test the finished product I see the following in the monitor:
com/sap/xi/tf/_IF021_Ordrsp_TD_to_Ordrsp_CCS_com.sap.aii.utilxi.misc.api.BaseRuntimeExceptionFailed to load resource from the context classloa~
Since mapping works in external tools I'm not sure what the problem is for XI and how to solve it.
Another solution for this would seem to be a java mapping although i have no clue as to how to do this.
How to proceed?
Thanks
Tomupdate:
The solution lies in note 812966 which describes the problem above, and also gives an example java mapping program as example to get rid the DOCTYPE.
Regards
Tom -
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. -
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 -
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 -
Is it possible to use HTTP adapter?
Hi All,
interface will be trigged by ECC to run once a day. The purpose of this interface is to update ECC exchange rates with the exchange rates file provided by the Central Bank of Brazil.
The file is available in the web site: http://www. XXXX and its name changes depending on the date.
The format is YYYYMMDD.csv. Example: 20100419.csv
The scenario will be Abap proxy <-> PI <-> website (Http / soapu2026 whatever) (Syncronous as the date must be sent to build the correct filename).
My main question is: how can I pick up this csv file from the website? Is it possible to use HTTP adapter?
Thanks,
Satya KumarHi ,
i am not sure about this,i wolukd prefer developing JAVA Proxy or File Adapter . try this code it read the data from website, try in you stand alone application,it is able to read or not.
you will face two problems,you have to convert CSC file to XML it is not possible in HTTP Adapter,
import java.lang.*;
import java.util.*;
import java.net.*;
import java.io.*;
class URL2AC
public static void main(String args[]) {
try {
URL url = new URL("http://www.XXXXXXX.com/raj.txt");
URLConnection uc = url.openConnection();
BufferedReader in = new BufferedReader(new InputStreamReader(uc.getInputStream()));
while (in.readLine()!=null)
System.out.println(in.readLine());
catch(Exception e) {
e.printStackTrace();
Regards,
Raj -
Hi Team,
I need to access Java web service which is simple service and accepts and returns XML over HTTP. No credentials are needed to access the service. We need to pass following two HTTP headers (Content-Type and Authorization) along with XML request message:
<GetStatus> message is being constructed in the orchestration and URI is constant to access.
Which adapter shall I use to get the response back? I tried using WCF-WSHttp with Security Mode = Transport, and different options of client credential types but every time, error returned stating:
System.Net.WebException:
The HTTP request is unauthorized with client authentication scheme 'Basic'. The
authentication header received from the server was 'Basic realm='.
Authentication failed for principal Basic. Message payload is of type:
String
In Fiddler, request looks line following
POST <https://URL/GetServiceReopnse HTTP/1.1
Content-Type: application/xml
Authorization: Basic cmVmU3RhdHN2Y19kgeRfsdfs=
Host: <Server name>
<GetStatus XMLNS="http://server.com/.....">
<OrgId>232323</OrgId>
<HubId>3232342323</HubId>
</GetStatus>
MMK-007First, you should not use the HTTP Adapter because it's been deprecated and replaced by WCF.
Start with the WCF-Custom Adapter and select the customBinding.
You should start with the textMessageEncoder and httpTransport and go from there. -
HTTP adapter - change encoding from UTF-8 to ISO-8859-1
Hi,
I am trying to change the encoding used by the HTTP sender adapter in a scenario.
However, when I enter ISO-8859-1 in the XML Code under XI Payload Manipulation on the comms channel it has no effect - the paylad still shows as UTF-8 in SXI_MONITOR.
Am I missing a step or entering the field incorrectly ??
Thanks
Colin.Hi,
From help
Enhancing the Payload
Some external systems, for example, Web servers in marketplaces, can only process data if it is sent as an HTML form using HTTP.
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. Therefore, there is a particular code method that separates form fields and their data from each other. This code method uses the following rules:
Individual form elements, including their data, are separated from each other by the character &.
The name and data of a form element are separated from each other by an equals sign (=).
Blanks in the entered data (for example, in multiple words) are replaced by a plus sign (+).
All characters with the (enhanced) ASCII values 128 to 255 (hexadecimal 80 to FF) are transcribed using a hexadecimal sequence, beginning with a percentage sign (%) followed by the hexadecimal value of the character (for example, the German umlaut ö in the character set ISO-8859-1 is transcribed as %F6).
All characters that occur in these rules as control characters (&, +, =, and %) are also transcribed hexadecimally in the same way as high value ASCII characters
http://help.sap.com/saphelp_nw2004s/helpdata/en/44/79973cc73af456e10000000a114084/content.htm
Regards
Chilla -
How to pass a filename to MQHRF2 header in IBM MQ using JMS Adapter in SAP PI
Hi Expers,
Can you please help on ...
how to pass a filename to MQHRF2 header in IBM MQ using JMS Adapter in SAP PI
Thanks,
ChandarHi Chandar,
Could you check the following post Re: Inserting custom header fields inside MQRFH2 (JMS Receiver adapter)?
I hope you find it useful.
Regards! -
XI message with Attachment using Http Adapter
Hi ,
We are using XI/PI 7.0 with Sp09 and Sender Application is SRM and Receiver is Ariba MarketPlace.
We are trying to Send PO with Attachments like Word, PDF etc from SRM to Ariba using Https adapter and from SRM we are using ABAP Proxy. When I did the testing with out any special config, I was able to send the attachments (I can see word doc as part of the payload-attachment) to XI from SRM but this attachment is not going through https adapter from XI to Ariba?
I have read some posts on this but I could not find the answer for my situation. One of the solution is that we can use SOAP adapter but we don't want to use Soap for some reasons.
Please give your thoughts.
Thanks in Advance.
-Laxman> Thanks for your replies, I am little confused, based
> on your references http can't support attachments.
That is true.
> Also sap help link says Http adapter doesn't support
> attachments and XI adapter also doesn't support.
That is not true. XI adapter (in fact we do not talk of an adapter) supports attachments.
> It means Proxy also shouldn't support because proxy is
> nothing but XI adapter.
This is true, ABAP or Java Proxy are like XI adapter. Therefore it supports attachments.
> But When I send PO with attachments from SRM using
> Proxy connection I was able to pass through XI. So
> how proxy was able to send the attachments and this
> is contradicts to the help documentation.
The online help is wrong.
> We don't want to use SOAP because we are already
> using https adapter and this scenario is in
> production also if we go with SOAP then we have to
> re-import the digital certificate in Java Engine for
> SSL. Attachments are the new enhancement only.
I do not see another solution besides using SOAP adapter in so-called non-SOAP mode. Yes you have to reimport the certificates to J2EE stack.
Regards
Stefan -
Fields not displaying on page 2 (sometimes page 1)
CR11
Please bear with me as I'm relatively new to this...
I'm working on a report that has multiple records in one report (a batch of purchase orders). The formating is quite basic, no extensive formulas. It has "reset page after" formatiing as well as some page break formating. The problem is that when there are multiple pages to a record, the page header fields (not all) disappear on one or the other. I must be missing something. There is no formating that I can see that would do this. In a previous instance, the report was rewritten and the report seemed to work just fine. Any insight would help...
Thanks
RoseHi Rose,
In the Group Options, check to see if Keep Group Together is checked. This will force a new group to begin on a new page to prevent orphaning the group.
Is there a subreport or image on the report? This will also create force a new page if Crystal believes it's too large to fit on the current page.
Good luck,
Brian -
HTTP Header fields in SOAP adapter - Part 2
Hi All,
With regards to my previous thread HTTP Header fields in SOAP adapter
my header issue is solved and hence I have closed the thread but still I am not able to make the connection successful. The new problem is below
My vendor requirement is to specify the header as "Ent-sender" but when we give the same in XI in communication channel it automatically convets into uppercase "ENT-SENDER". Due to case-sensitive in vendor server the connection is not gettingestablished.
Please help me out how to solve the problem.
<b>Note:</b> Sorry for the new thread as it was created due to new problem and also the previuos thread is already too long.
Regards,
DhillHi Neaves,
Thank you, I jave seen the note and find the below solution will be some what realated to my prblem.
<u><b>The nosoap mode lets the adapter send the XI payload directly without wrapping it in the SOAP envelope. Although the main use of this mode is to send some plain text content directly to some web server, one can use this mode to send their own SOAP message (e.g., with arbitrary headers) to an external web service (See related questions). In this case, the XI payload must be formatted in the SOAP envelope.
To use the nosoap mode, the channel must be configured to use no SOAP envelope.</b></u>
If yes, can you please let me know how to use nosoap mode otherise let me the other possibilities. I am already using tcpg2.zip to trace the SOAP adapter in which it was confirmed that XI is changing the header automatically into CAPS whatever case we give,
Regards,
Dhill -
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 Reciver Adapter Header fields
Hi all,
I have a requirement where the receiver is http adapter. I have some fields/structure to be added to the http request. One way i know is to generate entire envelope in the map and then send as request having header and body both.
Is there any option in com channel to be used to populate the header fields. I can see "Define Header fields" but do not know how to use it.
Any help will be really appriciated.
Thanks
-KulwantHi Kulwant,
> Is there any option in com channel to be used to populate the header fields. I can see "Define Header fields" but do not know how to use it.
Yes, You can easily populate Header fields in mapping using dynamic configuration. For more details, refer to /people/william.li/blog/2006/04/18/dynamic-configuration-of-some-communication-channel-parameters-using-message-mapping .
Regards,
Sunil Chandra -
HTTP Header fields in SOAP adapter
Hi All,
I have a scenario IDoc to SOAP adapter. In which my receiver given the details as
URL : https://b2b.ecsc.us.gxs.com/invoke/GXSGateway:receiveCTE
Header Name: Header Value
Ent-sender xxxx
Ent-receiver yyyyy
Ent-APRF zzzzz
Ent-filename (not sure what data need to give)
1. I request you to let me know where I need to give these headername and hader values in soap adapter.
2. my client require file as an attachment. Please let me know how I need to send the payload as an file and where the name need to be given in the header name (Ent-filename).
Currently I used MessageTransformBean to conver my XML to text structure(flatfile structure).
Please let me know if any more details required
Regards,
DhillWas out for lunch break..
Juz Rechecking
Transport Protocol : HTTP
Message Protocol: Soap 1.1
Adapter Engine -> Adapter Engine on the Integration Server
Connection Parameters
Target URL - > https://b2b.ecsc.us.gxs.com/invoke/GXSGateway:receiveCTE
Sure about no sever authentication required and they are not using any HTTP proxy for webservice >????
Conversion Parameters
Do Not Use SOAP Envelope -> Unchecked
Keep Headers -> Checked.
Keep Attachments -> Unchecked
Use Encoded Headers -> Unchecked
Use Query String -> not so sure might be Unchecked
<b>Authentication Keys</b>
If authentication is required for the receiver system, you can enter a password and a confirmation for each key value. This means that you do not need to write passwords in the enhanced message header.
If you want to specify or display authentication keys, select View Authorization Keys.
You can enter and confirm passwords for each authentication key value (TAuthKey or TproyxAuthKey).
Try once sending the message with Adapter-Specific Message Attributes
Unchecked. See if there is a hit.I knw itz not req but juz testing.
Yeah adapter stat must be active.
Last thing need to go through the whole scenario.
<b>Cheers,
*RAJ*
*REWARD POINTS IF FOUND USEFULL*</b>
Maybe you are looking for
-
How can i transfer my itunes music library to my iphone? currently it will only transfer itunes purchased songs and not my whole library.
-
Highlighting Current Day on Javascript Calendar
Good day everyone, I have the script I have worked on from a book. However, I am confused as to how I can highlight the current day of the month, so that any one looking at the calendar knows what the date is. I would like to make the current day ba
-
What do i need to save if i have reinstall windows
I have to reinstall Vista and have a rather slow, but free, DSL download speed. After i deauthorize iTunes, how can I reauthorize it without loosing data or apps locally. I know i can go to purchased, but again, Slow Download. What folders can I s
-
Difference in Lisences on Cisco PI 1.2
can someone explain the difference between Lisence types on Cisco Prime Infra 1.2 as below Base Lisence Lifecycle management Lisence compliance management lisence Automated deployment Gateway Assurance Management Lisence. Thank you
-
Hello, I have a problem when I try to start CISCO TAPS in Windows Services Window. It says: Couldn't start the Cisco TAPS service on Local Computer. Error 1069: The service did not start due to a logon failure. In Log On, I have Log on as: This accou