Soap Receiver adapter , Target URL and Soap Action
HI all,
WIll anyone tell me regarding Soap action, casue , they have given a URL which i have put in Target URL, but i am not able to understand what is SOap action what need to be put in this
Thankign you
Sridhar
i Sridhar,
In XI SOAP adapter we need two things:
SOAP URL: which is endpoint to the webserver.
SOAP action: describes particular method name we wanted to excute on that web applicaiton hosted on the webserver.
WSDL file has normally multiple operations(methods) , so we execute particular method by giving particular action name.
Action is not mandatory parameter i guess, this is in case , when wsdl is exposing only one method(action).
:Normally you can find SOAP Action element under element <SOAP:operation name = "XXX">
Hope this clears.
Cheers,
Div
Similar Messages
-
SOAP Receiver adapter target url and method details
Hi Friends,
I am working on file to SOAP interface.
I know using SOAP receiver adapter , we need to have target URL and action.
Here, how client need to give target url and action as they are not aware of these things..please suggest.
Also if we are generating inbound service interface,how they have to handle this from their end.
Thanks
KishoreGet the WSDL file from ur Third party client and u can use the WSDL file as an External definition in PI and WSDL file also has WSDL URL which u can use in SOAP receiver adapter.
For INbound SOAP case-
Generate the WSDL file in XI and give that WSDL file to ur third party client which will send the data using the WSDL URL mentioned in the file.
refer below blog for understanding in detail:-
How to use SOAP adapter:
https://www.sdn.sap.com/irj/sdn/go/portal/prtroot/docs/library/uuid/40611dd6-e66e-2910-f383-e80fb44f9cd4
chirag -
Receiver Adapter - Target URL/SOAP Action
Hi,
Can I just confirm the following 2 values required on a SOAP Receiver adapter:
Target URL : Location within SOAP:Address tag of WSDL
SOAP Action: SoapAction within SOAP:Operation for relevant Web Service method within WSDL
Cheers,
PaulC.> Target URL : Value of SOAP:Address tag from web service WSDL
right, it is attribute "soapAction"
> SOAP Action: Value of SOAP:Operation for relevant Web Service method within web service WSDL
right. attribute "location"
check this guide:
http://www.sdn.sap.com/irj/sdn/go/portal/prtroot/docs/library/uuid/40611dd6-e66e-2910-f383-e80fb44f9cd4 -
SOAP Receiver Adapter - Target URL
Hi,
We have a web service scenario, where the Sender is a III Party Java system and PI is the middleware and ECC as our receiver system. We have a wsdl binding generated from SOAMANAGER. We are using the WSDL Endpoint as the Target URL in our SOAP Receiver Adapter. The scenario works perfect with desired results.
Now that webdispatcher comes into place for load balancing and the BASIS team has given a different URL to use in the Target URL of the SOAP Reciver Adapter. The scenario throws the following eorr:-
Adapter Framework caught exception: java.io.IOException: invalid content type for SOAP: TEXT/HTML; HTTP 302 Redirect
Has anyone come acrossed such issues. Looking forward for a solution.
Thanks & Best Regards.
Kris> Now that webdispatcher comes into place for load balancing and the BASIS team has given a different URL to use in the Target URL of the SOAP Reciver Adapter. The scenario throws the following eorr:-
>
> Adapter Framework caught exception: java.io.IOException: invalid content type for SOAP: TEXT/HTML; HTTP 302 Redirect
>
> Has anyone come acrossed such issues. Looking forward for a solution.
I wonder why your basis team is not able to help you.
It seems that the web dispatcher is not set up correctly.
http://en.wikipedia.org/wiki/HTTP_302 -
SOAP Receiver Adapter - Dynamic URL
Has anyone tried modifying SOAP URL dynamically using UDF in the mapping?. I searched Forum and couldn't get right answer. Does it work with Adapter Specific settings and variable transport binding? Please donot post links to other posts unless it got an answer or atleast close to being answered. We are on PI7.0. Thanks
Hi,
I have similar situation. My target URL lookslike this
http://devlsales.test.com:8000/soap/services/AdapterService which is a working right now.
With Variable transport binding ( TServerLocation ), Can I change http://devlsales.test.com from above URL to
http://devlprofits.test.com and remaining text same resulting
http://devlprofits.test.com:8000/soap/services/AdapterService by using UDFs.
Thanks
ST
Thanks -
SOAP Receiver Adapter Target system down
Hi All,
My scenario is SOAP Receiver adapter --- > Portal system (Target system.).
Now team is taking restart of target system. It will take around 1 hr. So my question what will happen to the messages which is received by SOAP Receiver adapter in this time frame. ?Hi Rajhans ,
All the messages during that period of time will fail with System Error ,We have to re-send these messages manually once the target system is up. In stead of selecting one by one you can set Multiple Selection On option to select the messages in RWB
.Please refer the weblog will give you some idea about the standard reports which can also be used to reprocess the messages.
http://www.sdn.sap.com/irj/scn/weblogs;jsessionid=(J2EE3414700)ID1051765250DB10924207601714756238End?blog=/pub/wlg/2728
do you have synchronous soap receiver or async?
Regards,
Srinivas -
XI SOAP receiver adapter. Java and decentral adapter engine.
Hi,
I would like to send the below to a web service... have done a custom mapping to
produce the entire message below, and turned off Use SOAP envelope option in the
receiver adapter.
Can anyone point me in the right direction (in terms of the correct why to go about this)
or to why it is not working? Because I see it in the payload option of the message fine (in RWB).
Can java mapping be used to build the entire message?
<SOAP-ENV:Envelope SOAP-ENV:encodingStyle="http://schemas.xmlsoap.org/soap/encoding/" xsi:noNamespaceSchemaLocation=" EnvelopeStructure.xsd">
<SOAP-ENV:Header>
<Q-ENV:Header>
<Q-ENV:Sender-Id>a03430170001</Q-ENV:Sender-Id>
<Q-ENV:Receiver-Id>1aa1150001</Q-ENV:Receiver-Id>
<Q-ENV:Correlation-Id>1231201109096878</Q-ENV:Correlation-Id>
<Q-ENV:Message-Id>M1231201109096878</Q-ENV:Message-Id>
<Q-ENV:Date-Sent>26 Apr 2004 18:01:08 CDT</Q-ENV:Date-Sent>
<Q-ENV:Document-Type>RequestForQuotation</Q-ENV:Document-Type>
<Q-ENV:Message-Format>Q 1.0</Q-ENV:Message-Format>
</Q-ENV:Header>
</SOAP-ENV:Header>
<SOAP-ENV:Body>
<Q-ENV:Body>
<Q-ENV:Content-Type>text/xml</Q-ENV:Content-Type>
<Q-ENV:Message-Type>xCBL</Q-ENV:Message-Type>
<Q-ENV:Encoding>UTF-8</Q-ENV:Encoding>
<Q-ENV:Message-Body>
blah blah
</Q-ENV:Message-Body>
</Q-ENV:Body>
</SOAP-ENV:Body>
</SOAP-ENV:Envelope>
thanks
Dylan.I am getting various errors, because I am not sure I understand how this adapter works exactly.
I would like to send a custom SOAP message.
I use a java mapping to create the entire soap message...
In the soap adapter I turn on "Do not Use SOAP envelope".
What should the final message sent out of the SOAP adapter look like ? Will a standard SOAP
envelope be added around it anyway?
Do I need to add beans after the XISoapAdapter bean in order to remove the soap envelope?
How do the modules work? Is there a good resource on the subject? -
HTTP Receiver Adapter : Dynamic URL
Hi,
I have a scenario where I wish to build a dynamic URL for the HTTP Receiver Adapter. The URL will contain a customer number which is present in the mapping.
The help seems to suggest that this is possible :
<i>If you want to use an HTTP destination or URL set by the mapping, set the URL or HTTP Destination indicator. (The indicator displayed depends on the Addressing Type you selected above). If you set the indicator, the URL or HTTP destination set dynamically is called by HTTP.
If the message header does not contain the URL or the HTTP destination, and you have set the Fail If Adapter-Specific Message Attributes Missing indicator, the XI message is set to status System Error. If you do not set the indicator, the URL or HTTP destination defined statically in the communication channel is used.</i>
However, it is not very clear where the URL needs to be set dynamically.
Does anyone know how to achieve this ?
Cheers
Colin.hello to all,
We have a unique issue with one of our customers that is limited to 100 character URL. The current url is http://mycompany.com/sap/xi/adapter_plain?namespace=urn%3Agoodyear%2Ecom%3AAIT%3AInventoryCheck&interface=AITInventoryCheck_Abs&service=HTTP_AIT_InvChk&QOS=BE&sap-client=010&sap-language=EN
Is there a way to have a URL like
http://mycompany.com/sap/xi/adapter_plain?namespace=urn%3Agoodyear%2Ecom%3AAIT%3AInventoryCheck
and then somewhere in the process add... &interface=AITInventoryCheck_Abs&service=HTTP_AIT_InvChk&QOS=BE&sap-client=010&sap-language=EN
So the data comes to an F5 through the DMZ to the SAP webdispatcher then to the SAP XI system.
Any ideas if this is possible or how you could start with a shorter URL?
Thanks,
Dede -
Hi,
to have to call a webservice with different operations, i do the following:
http://host:port/WebService/Config1?style=document&method=SetMaterial
and
http://host:port/WebService/Config1?style=document&method=SetMaterial
in two different comm.channels
but it didn't work.
Some help?
thanks,
Peter Hahi,
check whether any authentication is required....
regards,
Sundararamaprasad. -
HTTPS Receiver Adapter with POST and query String
Hi there,
we are currently running a http connection with an external partner. We use the plain http adapter to send documents.
Now we want to secure the whole thing and switch to https.
Currently we solely use the comm. channel in the directory. In the URL we include the required query string (http:/xxx/yyy<b>?msgtype=order</b>)
As I understand, the only way to use httpS is to use a RFC Dest. Type G in sm59.
But I am not able to add a query to the url there.
I guess that it is not an option to ask our partner to search the posted document for parameters. We were already happy that they were able to do it like we have it.
Does anyone has an idea how we could include a query in the url or give somehow the partner explicitly the info about the message type we send?
Thanks in advance,
HelgeHi Helge,
as far as I know this should be possible with SP16 by using the settings in the adapter configuration.
We had this requirement, but with SP15 it isn´t possible.
Have a look on the documentation
http://help.sap.com/saphelp_nw04/helpdata/en/14/80243b4a66ae0ce10000000a11402f/frameset.htm
Chapter Adapter-Specific Message Attributes
There you can use up to 6 URL Parameters. I never used it, if you have SP16, try it.
Regards
Thomas -
Issue while passing Target URL dynamically in SOAP Receiver Adapter
Experts,
I am stuck with an issue while passing the Target URL dynamically.
The UDF required for this works just fine. I can see the Target URL in Dynamic Configuration header(The Key is TServerLocation) in SXMB_MONI but the request that I am sending is not reaching the web service.
Some posts have suggested to hard code the Target URL as http://.
Below is the error that I am getting when I hard the Target URL as http://:
<SOAP:Envelope xmlns:SOAP="http://schemas.xmlsoap.org/soap/envelope/">
<SOAP:Body>
<SOAP:Fault>
<faultcode>SOAP:Server</faultcode>
<faultstring>Server Error</faultstring>
<detail>
<s:SystemError xmlns:s="http://sap.com/xi/WebService/xi2.0">
<context>XIAdapter</context>
<code>RecoverableException</code>
<text>com.sap.aii.af.ra.ms.api.DeliveryException: XIAdapterFramework:GENERAL:com.sap.aii.af.ra.ms.api.DeliveryException: invalid content type for SOAP: TEXT/HTML
at com.sap.aii.adapter.xi.ms.XIEventHandler.onTransmit(XIEventHandler.java:453)
at com.sap.aii.af.ra.ms.impl.core.queue.CallConsumer.onMessage(CallConsumer.java:131)
at com.sap.aii.af.ra.ms.impl.core.queue.Queue.run(Queue.java:834)
at com.sap.aii.af.ra.ms.runtime.MSWorkWrapper.run(MSWorkWrapper.java:56)
at com.sap.engine.core.thread.impl3.ActionObject.run(ActionObject.java:37)
at java.security.AccessController.doPrivileged(Native Method)
at com.sap.engine.core.thread.impl3.SingleThread.execute(SingleThread.java:100)
at com.sap.engine.core.thread.impl3.SingleThread.run(SingleThread.java:170)</text>
</s:SystemError>
</detail>
</SOAP:Fault>
</SOAP:Body>
</SOAP:Envelope>
When I hard code the Target URL as Test (any dummy value), the error that I get is different. (Detailed error shown below)
<SOAP:Envelope xmlns:SOAP="http://schemas.xmlsoap.org/soap/envelope/">
<SOAP:Body>
<SOAP:Fault>
<faultcode>SOAP:Server</faultcode>
<faultstring>Server Error</faultstring>
<detail>
<s:SystemError xmlns:s="http://sap.com/xi/WebService/xi2.0">
<context>XIAdapter</context>
<code>RecoverableException</code>
<text>com.sap.aii.af.ra.ms.api.DeliveryException: XIAdapterFramework:GENERAL:com.sap.aii.af.ra.ms.api.DeliveryException: no scheme
at com.sap.aii.adapter.xi.ms.XIEventHandler.onTransmit(XIEventHandler.java:453)
at com.sap.aii.af.ra.ms.impl.core.queue.CallConsumer.onMessage(CallConsumer.java:131)
at com.sap.aii.af.ra.ms.impl.core.queue.Queue.run(Queue.java:834)
at com.sap.aii.af.ra.ms.runtime.MSWorkWrapper.run(MSWorkWrapper.java:56)
at com.sap.engine.core.thread.impl3.ActionObject.run(ActionObject.java:37)
at java.security.AccessController.doPrivileged(Native Method)
at com.sap.engine.core.thread.impl3.SingleThread.execute(SingleThread.java:100)
at com.sap.engine.core.thread.impl3.SingleThread.run(SingleThread.java:170)</text>
</s:SystemError>
</detail>
</SOAP:Fault>
</SOAP:Body>
</SOAP:Envelope>
I've referred the post [Dynamic URL for SOAP receiver adapter;.
I am on PI 7.0.
Any help in this regard is highly appreciated.
Best Regards,
VijayIssue resolved... by doing this:
DynamicConfigurationKey key2 = DynamicConfigurationKey.create("http://sap.com/xi/XI/System/SOAP", "TAuthKey");
conf.put (key2, "username");
In the advanced tab of the communication channel, set the flag "View Authorization keys", and then added "username" (user to access the dynamic target url) and the password (2 times).
That's it... -
No SOAP Envelope error in SOAP Receiver Adapter
Hello Friends,
Informaiton:-
I have configured one Synchronous scenarion for SAP R/3 to PI 7.1 to Java based web applicaiton.
On the Receiver/Outbound side, i have configured the SOAP Receiver Adapter with the Target URL and SOAP Action.
Outbound and Inbound service interfaces have Request/Response and Fault messages.
Issue:-
While sending the Message, Below error is noticed in ABAP stack SXMB_MONI during the Call Adapter Stage and also in RWB (Channel Monitoring) .
com.sap.engine.interfaces.messaging.api.exception.MessagingException: java.io.IOException: No SOAP Envelope but 1 {}RESPONSES; HTTP 200 OK
I also found that Request message is not reaching to the Java Web server.
I am taking the Same message Payload (found at Call Adapter Stage) and ussing it in XML Altova SPY Web client tool. There it is running scuccessfully and getting the Response message.
please suggest.
Thanks & Regards
JageshHi,
Yesterday i consumed the same WSDL file in Altova XML SPY and there it is working, getting the Response.
Now comparing the SOAP Request message reaching to the Third party Web server (which fall within the same Lane network)
from SAP PI and Altova XML SPY tool. I used TCP Gateway for the below scenarios.
(1)First i sent the SOAP message from PI and observed the RESPONSE message without the SOAP Envelope in TCP Gatway Trace and hence i am getting the No SOAP Envelope Error in PI.
(2)I consumed the same WSDLfile in Altova XML SPY and sent the SOAP message, here i got the Proper SOAP Response message and hence success in this case. (Used the same Data Payload as used in point 1)
(3)Now to identify the issue in the SOAP Request message being sent from PI, i used the same SOAP message sent in step 1 here, that means copy the entire SOAP ENvelope from the TCP gateway Trace and pasted it in Alota Spy and sent, there it is found running (got the response message from Third Party server).
One difference i found in HTTP Protocol statements in SOAP Request message in Point no 1 and Point no 2 above.
HTTP Protocols in Point 1 (Through PI).
POST HTTP/1.0
Accept: /
Host: 172.24.138.142:4544
User-Agent: SAP-Messaging-com.sap.aii.af.sdk.xi/1.0505
CallingType: SA
content-id: <soap-00306EEAC2051ED1839136CEE8564900 sap.com>
Content-Type: text/xml; charset=utf-8
Content-Length: 1195
SOAPACTION: "Action1"
HTTP Protocols in Point 2 (Through Altova).
POST / HTTP/1.1
Content-Type: text/xml
User-Agent: XML Spy
SOAPAction: "Action1"
Host: 172.24.138.142:4544
Content-Length: 1195
Connection: Keep-Alive
Cache-Control: no-cache
Thanks to Mr. Stefan Grube for writting such a nice blog.
Troubleshooting SOAP, HTTP and Mail Adapter Scenarios with TCPGateway
Experts, please suggest me further.
Thansk & Regards
Jagesh -
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 -
Mail Body Formatting - Mail Receiver Adapter
Hello,
I use the Mail Receiver Adapter (SMTP) with and use Mail Package to set Attributes during Mapping.
My Question: Is there any possibility to format the body of the Email Message (e.g. line feeds) when mapping the field "Content" of the target structure?If you use the graphical mapping tool, then you can use a user defined function for this issue. In this function you add the line feeds.
Regards
Stefan -
Use of SOAP Receiver Adapter in a recursive way with dynamic Target URLs
Hi all,
I have a following scenario.
1. I have to call a webservice with a URL http://myserver.com/default.aspx?action=index
This will return a list of xml filenames as below
<?xml version="1.0" encoding="UTF-8"?>
<filelist>
<file uuid="test1" />
<file uuid="test2" />
<file uuid="test3" />
<file uuid="test4" />
</filelist>
2. Now I have to call the same webservice with a change in action so that the url looks like
URL - http://myserver.com/default.aspx?action=fetch&uuid=
for all the filenames in the list
So in essence, I have to create a dynamic URLs recursively like
http://myserver.com/default.aspx?action=fetch&uuid=test1
http://myserver.com/default.aspx?action=fetch&uuid=test2 and so on
3. And with each call to the URL in step 2, the incoming xml is to be mapped to an IDoc.
I will be creating a ABAP proxy to initiate the calls.
I would like some ideas so as to have a less complex approach to the solution.
Regards,
NeerajHi,
dynamic SOAP URL - adapter specific properties (http receiver adapter)
Dynamic configuration payload - https://media.sdn.sap.com/javadocs/NW04/SPS15/pi/com/sap/aii/mapping/api/DynamicConfiguration.html
DynamicConfiguration conf = (DynamicConfiguration) container.getTransformationParameters().get
(StreamTransformationConstants.DYNAMIC_CONFIGURATION);
DynamicConfigurationKey key = DynamicConfigurationKey.create("http://sap.com/xi/XI/System/SOAP","THeaderSOAPACTION");
String a = http://something.abcd/applicationName/xmlMessage //set the value of actual action here
conf.put(key, a);
return "";
Maybe you are looking for
-
Hyperion License server info req.
Hi, can anyone let me know where to get the license server? I am trying to install Hyperion products like 1)shared services 2)Essbase Client services 9.3.1 3)Essase server 9.3.1 4)Essbase administration services9.3.1 5)Planning 9.3.1 6)Planning UI 9.
-
Is it possible to include Ship to Party in order search criteria ?
Hi, we have a requirement to enhance order status search crtiteria b2b sales. Basically generic search framework needs to be enhanced. is it possible to enhance order status search criteia and include ship to party ? Please can anyone let me know. We
-
SD_SALESDOCUMENT_CREATE - Change Ship-To adress
Hi , I am using SD_SALESDOCUMENT_CREATE to create SOs. I am unable to change the address of the Ship-to. I passed the new address to the table Partneraddresses(BAPIADDR1) with the link to Address Table (BAPIPARNR), I have highlighted the tables in b
-
BTFON and Openzone all I can get
Just come over to BT the first day everything worked great, good speed etc. Now I am finding that the Hub disappears and am left with BTFON or OpenZone none of which I can connect to. Have moved the hub and re-started it many times now am thinking
-
Bought XCode 4, won't install. Error is:
Hi, I'm trying to install XCode 4 from the Mac App Store and it won't do it. I've tried several times now. It keeps saying check var/log/install.log, so I've done that and this is the part in the log that seems to be the problem: May 17 13:53:21 Some