Plain HTTP Adapter - How to add CR/LF into Prolog?
Hi all!
I have to do a multipart/formdata request to an external HTTP Server. This requires to set boundaries etc. AND
to add Carriage Returns / Line Feeds into the HTTP-Body.
I think I could solve the problem using the Prolog / Epilog functionality of the HTTP Plain adapter - the only
thing that is missing now is <b>how to add Carriage Returns / Line Feeds into the Prolog / Epilog Field</b> within the communication channel configuration. It seems
that there is no "escaping possibility" - the HTTP Adapter writes the prolog "as it is entered" into the htto-Body of the request.
Any ideas?
Many thanks in advance,
Andy
I recommend using Java Mapping.
Stefan
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 -
Plain HTTP Adapter (XML return without namespace)
Hello Experts,
I'm very new at XI.
I'm using XI 7.0 SP9.
I wanna make interface with public website using plain HTTP adapter.
The receiver url is
http://openapi.naver.com/search?key=cdb64b1f218b55acbb73105b3b6f68a9&query=news&target=rank
It returns XML like
<?xml version="1.0" encoding="UTF-8" ?>
<result>
<item>
<R1>
<K>CHOICE</K>
<S>new</S>
<V>0</V>
</R1>
</item>
</result>
How I can specify namespace and root document type ?
I learned that I can specify namespace and root document type in JDBC communication channel.
In plain HTTP, Is there any possibility to specify namespace like JDBC?Ji,
look at this it will help u.
/people/prasad.ulagappan2/blog/2005/06/29/java-mapping-part-i
/people/prasad.ulagappan2/blog/2005/06/29/java-mapping-part-ii
/people/prasad.ulagappan2/blog/2005/06/29/java-mapping-part-iii
/people/stefan.grube/blog/2006/10/23/testing-and-debugging-java-mapping-in-developer-studio
/people/alessandro.guarneri/blog/2007/03/25/xi-java-mapping-helper-dom
Sreeram Reddy -
Plain HTTP adapter error: Bad Gateway, Proxy Error, please help !
hello all,
i have the following scenario:
filesystem->file adapter->XI->plain http adapter-> receiver system.
the following error occurred while calling plain http adapter:
<SAP:Category>XIAdapter</SAP:Category>
<SAP:Code area="PLAINHTTP_ADAPTER">ATTRIBUTE_Server</SAP:Code>
<SAP:P1>502</SAP:P1>
<SAP:P2>Bad Gateway</SAP:P2>
<SAP:P3> Proxy Error</SAP:P3>
<SAP:P4 />
<SAP:AdditionalText />
<SAP:ApplicationFaultMessage namespace="" />
<SAP:Stack>HTTP-Server Code 502 Reason Bad Gateway Explanation Proxy Error</SAP:Stack>
A RFC-Destination with SSL is used in this scenario. Connection test to the destination machine is also succeeded. some files have been transported to the receiver system, yet without payload. data is lost.
anyone has encountered such problem or anybody can tell me please how to solve this problem.
thanks for your help
regardsHi,
I´ve found a SAP-Note concerning this error-message 692057
There is the note 450226 gives an overview over error codes
Probably below solution may help you.........
As an administrator on your portal go to:
System Configuration > Service Configuration >applications
Under: com.sap.portal.ivs.httpservice > Services > Proxy
If any proxy settings are configured you may end up with the problem, so you need to set the "nonProxyHosts" to include the trex host.
After a restart the search was working normally again.
Thanks
Swarup -
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 all!
I have a following scenario: IDoc ORDERS05 -> IDoc adapter -> XI -> Plain HTTP adapter -> receiver system.
The error arise when HTTP adapter being called.
<!-- 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_SERVER</SAP:Code>
<SAP:P1>500</SAP:P1>
<SAP:P2>Internal Server Error</SAP:P2>
<SAP:P3>Internal Server Error</SAP:P3>
<SAP:P4 />
<SAP:AdditionalText />
<SAP:ApplicationFaultMessage namespace="" />
<SAP:Stack>Http server code 500 reason Internal Server Error explanation Internal Server Error</SAP:Stack>
<SAP:Retry>M</SAP:Retry>
</SAP:Error>
Furthermore, there are two tags "Call Adapter" in XML message (transaction SXMB_MONI).
Please tell me how to solve this problem.
Thanks
AlexanderHi Seth.
Thanks for your reply.
Unfortunately, your thread didn't help me.
Let me to explain the problem more detail.
The error occurs on outbound channel when Integration Engine is calling the plain HTTP adapter. I think so because no messages appear in Adapter Engine (For check it I use Message Display Tool).
And what is more the error code changed. It is 404 now:
<!-- 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_SERVER</SAP:Code>
<SAP:P1>404</SAP:P1>
<SAP:P2>Not Found</SAP:P2>
<SAP:P3>File not found</SAP:P3>
<SAP:P4 />
<SAP:AdditionalText />
<SAP:ApplicationFaultMessage namespace="" />
<SAP:Stack>Http server code 404 reason Not Found explanation File not found</SAP:Stack>
<SAP:Retry>M</SAP:Retry>
</SAP:Error>
Regards,
Alexander -
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. -
Problem with plain http adapter on XI 2.0
Hi all,
i have a problem setting up proper communication between XI 2.0 and PI 7.0 system using plain http adapter.
Regardless of what i pass as url argument, i always receive the following error message:
HTTP-Server Code 500 Reason Internal Server Error Explanation URL-Parameter namespace (Sender Interface-namespace) is missing (see first link)
SXMB_MONI Trace:
[http://image-upload.de/image/Rv3NeE/77c11c84fc.jpeg]
Configuration:
[http://image-upload.de/image/5Z2Gwr/90c19f2074.jpeg]
[http://image-upload.de/image/hGrzQL/559bf5e566.jpeg]
[http://image-upload.de/image/2WqCqz/7513a1a366.jpeg]Hi,
the namespace of the inbound interface in the interface determination was missing. So now it kind of works. But we still have the problem, that we are not able to pass parameters via URL, the XI 2.0 just ignores them.
Is there a way to enhance the url by using the Header Fields tab. Can you give me an example for the valid params?
Best Regards
Sven -
Configure plain http adapter for receiving message from an external system
Hi,
we use Pi/700.
Now I have an external system and I have to use HTTP (plain) to send messages to XI (via plain http adapter).
I have no experiences with HTTP!
In the external system I can only configure "URL, Username, Password" for sending messages - that's all!
What do I have to configure in XI (communication channel, abap-stack, java-stack,...)?
I don't know the URL of my XI-system. Is there an transaction code to get this information?
Why do I need a Username/Pasword?
For testing I can use a "http-post test tool" I found here in this forum.
Thank you all for any help!
Regards
WolfgangHi Hummel,
In Exteranl System u have to use these values
name="myhost" value="xiserver"
name="myport" value="8000"
name="mysystem" value="XY_BSservice"
name="myinterface" value="Order_out"
name="mynamespace" value="urn:xi:hcl:powebapp"
name="myqos" value="BE"
name="myclient" value="300"
name="myuser" value="XYZCLNT"
name="mypass" value="xiuser"
Here My system is the Business service created in Integration directory of XI, Interface is the one created in Integration Repository (This is Outbaound from external sys to XI)
In XI U have to create
Data Types : 1) Source Structure data type(from extenal sys)
2) Target structure (where u want to send from XI)
Message Types : 2 with above DT's
Message Interface: 1) Outbound, Async (Order_out)
2) Inbound , Async (for the target sys)
Then Message mapping and Interface mapping as usual..
And in ID u have to create 2 services one is XY_BSservice for sending system and the other is for receiving system...
For sending system no communication channel required...
Hope u will get idea from the above..
Need any further u r welcome..
Regards
Sridhar -
Plain Http adapter Monitoring with CCMS / Alerting framework
Hello all,
Can you explain me the optimal way to monitor process using plain http adapter (Sender AND Receiver).
My goal is to push issue information as soon as possible to monitoring team (via CCMS) when the process is in error.
During my tests, I ve had a lot of messages with ICM HTTP error 110 but Integration engine did not trigger any alert.
Thanks for your help.Hi,
Check this link for ICF trace.
http://help.sap.com/saphelp_webas620/helpdata/en/2d/64d041e74911d6b2e400508b6b8a93/content.htm
/people/arulraja.ma/blog/2006/08/18/xi-reliable-messaging-150-eoio-in-abap-proxies
/people/michal.krawczyk2/blog/2005/05/10/xi-i-cannot-see-some-of-my-messages-in-the-sxmbmoni
regards
Aashish Sinha
PS : reward points if helpful -
Using plain http adapter using (SIN)---Most urgent please help me
Hi Experts,
all we need to do is call the pipeline directly using plain http adapter using (SIN) and get the output from the pipeline to the local file folders. This can help developers to verify the interfaces that have been migrated to XI , to compare the out put results generated in XI with the original output captured using existing middle ware solutions.
Could anyone help me out this UrgentHi Experts,
all we need to do is call the pipeline directly using plain http adapter using (SIN) and get the output from the pipeline to the local file folders. This can help developers to verify the interfaces that have been migrated to XI , to compare the out put results generated in XI with the original output captured using existing middle ware solutions.
Could anyone help me out this Urgent -
Plain HTTP Adapter vs SOAP Adapter with regards to SSL
Hi,
I need to setup communication channles within XI to send and receive secure xml. I am confused after reading the XI documentation and the some of the discussion forums on SDN.
Can anyone clarify the following:
1) Does the plain HTTP Adapter support SSL? According to the XI documentation is does NOT? Have I miss read it?
2) This being the case, the only way to send and receive secure XML is to use the XI/SOAP Adapter?
Thanx for your help.
Cheers
YackeenHi Yackeen,
no, that's not true. The plain HTTP Adapter supports SSL. No problem.
Regards,
Udo -
Outbound Plain HTML Adapter how to change the html-header field "host"?
Hello,
I'm using XI 3.0 SP11 and want to transmit a message to a business partner using the Plain HTML Adapter.
My problem is now that I need to change the default Html-Header field "host" because it seems that the adapter engine is converting it to lower case and is attaching the port-number which is causing trouble with the loadbalancer/applicationserver of our business partner.
I tried to set the appropriate http-header value in the communication channel configuration, but the adapter engine is ignoring this value.
Thanks in advance for any ideas.
Sascha Fuchs
Message was edited by: Sascha FuchsHi Sascha,
unfortunately the Plain HTTP adapter is not running in the J2EE, therefore you cannot extend the functionality with an adapter module.
I am not sure to understand the problem right. Why do you need to change the HTTP header? What is in it in your case and what should be?
Regards
Stefan -
How to add PDF files into a slides? (Flash 8)
I am new to flash and I am using Macromedia Flash 8. My task is simple enough: I need create a Presentation with Screens from PDF files: I have 10-12 PDF files which I want convert into flash presentation.
I have read this tutorial:
http://w3.id.tue.nl/fileadmin/id/objects/E-Atelier/Phidgets/Software/Flash/fl8_tutorials.p df
Chapter 11: Basic Tasks: Create a Presentation with Screens.
I'm having trouble how to add PDF files into a slides: I want insert a whole pdf file as separate slide, without splitting pdf file into separate elements: pictures, text, etc. I tried import pdf file into Flash, wheen import there is shown prompt how program should process this pdf file(add in stage, library, as keyframes, etc) , not clear which option is correct for my task. What I got is pdf file splitted into multiple images, text, - which is not what I want. I want keep PDF files without changes, preserve original design and formatting, just convert this pdf into flash, so presentation will consist of PDFs organized in correct order, then add navigation buttons and some effects. How to solve this task?Just to avoid potential confusion... PDF is an Adobe format, but Flash 8 is/was not. Flash 8 came out before Adobe bought Macromedia. Even today, I don't believe anything has been done to accomodate direct integration of PDF content in Flash.
-
My question is that How to add a report into the SAP-SCRIPT .
by using PERFORM ......ENDPERFORM
I don't know how to used it .Hi Sandeep,
Please check this link
http://help.sap.com/saphelp_40b/helpdata/en/d1/803279454211d189710000e8322d00/content.htm
http://www.allinterview.com/showanswers/37425.html
Calling ABAP Subroutines: PERFORM
You can use the PERFORM command to call an ABAP subroutine (form) from any program, subject to the normal ABAP runtime authorization checking. You can use such calls to subroutines for carrying out calculations, for obtaining data from the database that is needed at display or print time, for formatting data, and so on.
PERFORM commands, like all control commands, are executed when a document is formatted for display or printing. Communication between a subroutine that you call and the document is by way of symbols whose values are set in the subroutine.
Syntax in a form window:
/: PERFORM <form> IN PROGRAM <prog>
/: USING &INVAR1&
/: USING &INVAR2&
/: CHANGING &OUTVAR1&
/: CHANGING &OUTVAR2&
/: ENDPERFORM
INVAR1 and INVAR2 are variable symbols and may be of any of the four SAPscript symbol types.
OUTVAR1 and OUTVAR2 are local text symbols and must therefore be character strings.
The ABAP subroutine called via the command line stated above must be defined in the ABAP report prog as follows:
FORM <form> TABLES IN_TAB STRUCTURE ITCSY
OUT_TAB STRUCTURE ITCSY.
ENDFORM.
The values of the SAPscript symbols passed with /: USING... are now stored in the internal table IN_TAB . Note that the system passes the values as character string to the subroutine, since the field Feld VALUE in structure ITCSY has the domain TDSYMVALUE (CHAR 80). See the example below on how to access the variables.
The internal table OUT_TAB contains names and values of the CHANGING parameters in the PERFORM statement. These parameters are local text symbols, that is, character fields. See the example below on how to return the variables within the subroutine.
From within a SAPscript form, a subroutine GET_BARCODE in the ABAP program QCJPERFO is called. Then the simple barcode contained there (u2018First pageu2019, u2018Next pageu2019, u2018Last pageu2019) is printed as local variable symbol.
Definition in the SAPscript form:
/: PERFORM GET_BARCODE IN PROGRAM QCJPERFO
/: USING &PAGE&
/: USING &NEXTPAGE&
/: CHANGING &BARCODE&
/: ENDPERFORM
/ &BARCODE&
Coding of the calling ABAP program:
REPORT QCJPERFO.
FORM GET_BARCODE TABLES IN_PAR STUCTURE ITCSY
OUT_PAR STRUCTURE ITCSY.
DATA: PAGNUM LIKE SY-TABIX, "page number
NEXTPAGE LIKE SY-TABIX. "number of next page
READ TABLE IN_PAR WITH KEY u2018PAGEu2019.
CHECK SY-SUBRC = 0.
PAGNUM = IN_PAR-VALUE.
READ TABLE IN_PAR WITH KEY u2018NEXTPAGEu2019.
CHECK SY-SUBRC = 0.
NEXTPAGE = IN_PAR-VALUE.
READ TABLE IN_PAR WITH KEY u2018BARCODEu2019.
CHECK SY-SUBRC = 0.
IF PAGNUM = 1.
OUT_PAR-VALUE = u2018|u2019. "First page
ELSE.
OUT_PAR-VALUE = u2018||u2019. "Next page
ENDIF.
IF NEXTPAGE = 0.
OUT_PAR-VALUE+2 = u2018Lu2019. "Flag: last page
ENDIF.
MODIFY OUT_PAR INDEX SY-TABIX.
ENDFORM.
Best regards,
raam
Maybe you are looking for
-
How to set up set which NIC card to use for multicast?..
I just downloaded Rolling Patch 1 for WLS6.0SP2. While reading the README file it says " ISSUE 42518: Provided a way to set which NIC card to use for multicast traffic Can anyone tell me how to set this?. on my
-
IBookG4 won't boot,fixedblue screen after Mac logo, could bGoogleEarth lib?
Hi all, I have an iBook G4 with MacOS Tiger 10.4.11 (which gave me no trouble at all) and I recently got a new MBP17", so I wanted to migrate the data in my old iBook into the MBP. I tried the Migration Assistant but the FireWire connection always st
-
Re: Mail virus and Trojan issues 21-Jan-2013 14:58 (in response to Memoire) Hi please help. I have a iPad 2 , not jail broken, just 2 months old fresh from the apple store. Recently I have been directed to **** sites or a fake bad oink **** applicati
-
How do I create a shortcut to automatically load a specific page?
is it possible?
-
.:[solved]:.swap activation problem
hey, my swap doesnt activate at boot, plus i cant start it via swapon, im getting swapon: /dev/sda2: Invalid argument when i use swapon /dev/sda2 or swapon -a /dev/sda2 swap swap defaults 0 0 line from my fstab, plus i use crypto root and home, two s