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
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 -
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
Sridhari 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 -
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 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 -
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 -
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... -
Dynamic URL in SOAP Receiver adapter
Hi all,
I have a scenario where I am using a SOAP receiver adapter to send a cXML document to some vendors. I need to change the URL based on the vendor number (passed by sender SRM system). So I have created a user-defined function and used in message mapping to assign the right URL to the variable TServerLocation. But the communication channel still prompts for a static URL which appears to be a mandatory field. Even though the DynamicConfiguration tab in Message Monitoring shows that the TServerLocation was correctly assigned, the scenario does not work when I put some dummy in the static URL field like 'dummy' or '*'. Any ideas on how to make the communication channel go for the dynamic URL field and ignore the static URL field? I have already selected the'Use Adapter Specific Message attributes' and 'Variable Transport Binding' check boxes. Am I referring to the correct variable that references the target URL? Also other than the two checkboxes that I mentioned, I am not displayed anything else under "Adapter Specific Message Attributes" section in the comm. channel.
ThanksJames,
I ve just been digging into SAP help, and have tried it too ... Looks like it doesnt work the way it is supposed to.
Anotheer point i found was, in the FILE ADAPTER, when we say ADAPTER SPECIFI ATTRIBUTES , we can select the attirbutes.. This is not possible in a SOAP adapter...
Maybe, we can only access the ADAPTER SPECIIFC ATTIRIBUTES of a SOAP adapter, but cannot set them dynamically.
Let me know if you find something on this issue.
Regards,
Bhavesh -
Hi,
I was given a WSDL file which contains the following:
<wsdl:port name="ZISU_INSTLN_CREATE" binding="tns:ZISU_INSTLN_CREATE">
<soap:address location="http:// hostname:port /sap/bc/srt/rfc/sap/zisu_instln_create/100/zisu_instln_create/zisu_instln_create" />
</wsdl:port>
I've configured a SOAP receiver adapter. In the URL i put the SOAP address location from the WSDL.
Is this correct?
I am seeing the following error when i try to send a message:
Delivering the message to the application using connection SOAP_http://sap.com/xi/XI/System failed, due to: com.sap.engine.interfaces.messaging.api.exception.MessagingException: java.net.ConnectException: Connection refused: connect.
Is the error because of the url I use?
Thx
RobertHi,
I do have details in the message:
- <detail>
- <ns:SystemFault xmlns:ns="http://www.sap.com/webas/710/soap/runtime/abap/fault/system/">
<Host>undefined</Host>
<Component>COREMSG</Component>
- <ChainedException>
<Exception_Name>CX_SOAP_CORE</Exception_Name>
<Exception_Text>SRT: Wrong Content-Type and empty HTTP-Body received: ("HTTP Code 200 : OK")</Exception_Text>
</ChainedException>
and there is lot more if it helps finding the error, but maybe this is already enough.
Also i tried testing with SOAPUI now:
Result is good. I dont get error's. I get a response from my request as expected.
But if I test with XML from the RWB, with he same data as in SOAPUI, i get the error message again.
Conclusion:
SOAPUI can communicate with my SAP ISU system.
But PI cannot communicate with it.
Why?
Thx
Robert -
SOAP receiver adapter digest authentization
Hallo,
I have scenario with SOAP receiver adapter configured as follow:
Adapter Type: SOAP
Transport Protocol: HTTP
Message Protocol: SOAP 1.1
Adapter Engine: Integration Serer
Target URL: http://localhost:8099/webservices/test_v1_1_2
Configure User Authentication
User: ****
Pasword:****
but WS need digest HTTP authentication and SOAP adapter send in header Authentication: Basic.
Hou can I change authentication method for SOAP protocol?
ThxHallo,
I solved this problem by using AXIS framework. I hope that this short instruction help to someone.
1. In SOAP receiver CC you have to set up Transport Protocol to HTTP(AXIS) and Message protocol to AXIS
2. Now you can switch Authentication to Digest (NOW adapter will still send Basic!!! Digest Authorization is Supported only by the following handler: com.sap.aii.adapter.axis.ra.transport.http.CommonsHTTPSender)
3. On Module tabs in section Module configuration change type HTTPSender to CommonHTTPSender:
(trp handler.type java:com.sap.aii.adapter.axis.ra.transport.http.CommonsHTTPSender)
4. Save and Activate
Before you start to use AXIS framefork you have to deploy necessary library.
This thread help:
Re: How to install SOAP Axis adapter and where is it available ??
Be carefull, for digest authorization you have to linked Optional library "Jakarta-Commons HttpClient" too.
Good luck.
JK -
Hello there,
I am using a SOAP receiver adapter. The URL contains the format - https://<XYZ.com>/car/soap/Sync?login=username&pass=password
Now, if I configure the channel by using the "Configure User Authentication", the data is not getting posted at target.
But if I provide the user id / pwd in the URL, it gets posted.
I don't want to use the user id / pwd in the URL but at the sametime, the WS team is not ready to change the format of the URL.
Can I use "Query String" to handle that? If yes, how? If no, what options I have?
Thanks for your precious input and time.
AbhiThanks Suraj!
Have you tried this:
url : https://<XYZ.com>/car/soap/Sync
and Configure User Authentication option set
I haven't tried it that way. I am not sure whether that will work, as WS team told me that I am required to put in the whole URL. But thanks for your suggestion, I will give it a try that way.
also try specifying the SOAP action as per your wsdl file
SOAP Action is not Mandatory, so I am not using that.
Thanks,
Abhi -
Soap receiver adapter exception
Hi,
I am using SOAP receiver adapter to access a web service that is hosted on SAP Web AS (in this case it is the integration server Web AS). I use the web services navigator to test the web service and the web service works fine. The name of the web service is 'RemoteCrossReferenceProcessor' and it has one operation 'crossReference'.
But with the soap adapter, I am getting OperationNotFoundException in the logs and my web service is not getting accessed. Here is the server log:
<u><i>An error occurred while processing the message security. Reason: . See trace entry .#3#com.sap.engine.interfaces.webservices.runtime.OperationNotFoundException#Found 0 operation definitions using keys: Key name:'first-body-element-ns' key value:'urn:RemoteCrossReferenceProcessor'; Key name:'SoapRequestWrapper' key value:'crossReference'; #[no trace for com.sap.security.core.server.ws.service.ServerSecurityProtocol (severity above PATH)]#
#1.5#0003BA0FF9EA0022000000840000688D0003F9349A3C2D61#1118429251382#com.sap.aii.af.ra.ms.impl.core.queue.SendConsumer##com.sap.aii.af.ra.ms.impl.core.queue.SendConsumer.onMessage(QueueMessage)######b40aca80d9be11d994360003ba0ff9ea#SAPEngine_System_Thread[impl:5]_47##0#0#Error##Java###Transmitting the message to endpoint using connection failed, due to: .#3#AFW#com.sap.aii.af.ra.ms.api.RecoverableException: NO_BACK_SYSTEM_IN_HOPLIST:#http://sapsand1:8000/sap/xi/engine?type=entry#</i></u>
Here is adapter configuration:
Transport Protocol:HTTP
Message Protocol:SOAP 1.1
Adapter Engine:Integration Engine
Target URL: http://<server_name>>:50000/RemoteCrossReferenceProcessor/Config?style=document
User:
Password:
Default SOAP Action:
I imported the WSDL into the external definition and used the messages from the WSDL for defining my interface mappings.
I am using XI 3.0 SR1 (SP 09).
I am out of ideas as to why the SOAP adapter is not calling my web service. Please help me with your suggestions.
Thanks and Regards.HI Dani,
I was looking for this error and I found this post AXIS SOAP Receiver. This post says about other errors, but sugests many ideas to found the soluction, like:
1- non-deployed all AXIS jars; (but in this case it deployed all)
2- Exists this note for one erro in AXIS: (https://service.sap.com/sap/support/notes/1028961).
3- this document (http://www.sdn.sap.com/irj/scn/index?rid=/library/uuid/b092777b-ee47-2a10-17b3-c5f59380957f) that have sets for header parameters. This is interesting becouse one of this parameters is obligatory but isn't filled, can occur error like "null object".
By the way, you can check if have update to AXIS (http://ws.apache.org/axis/), becouse isn't a SAP application and in other systems can have this error.
I hope this helps,
Romerito Silva -
SOAP receiver adapter message: PI payload in parameter or body
Hi,
We tried to send messages via the following way to an external partner: SAP --> IDoc > XI (7.1)> HTTP(s) --> external partner.
We tried 2 techniques:
1. using a HTTP receiver communication channel with HTTP destination (using certificate).
As the path prefix in the destination, including parameters, exceeds 256 characters, we had to search for another solution
2. using the SOAP receiver communication channel with a target URL (https string) and indicator 'Do not use SOAP envelope' set
When sending the message, the body of the message, the IDoc XML payload doesn't seem to be read by the partner, probably related to the fact that they do not use the right software to do so, as decribed in forum:
SOAP receiver adapter error (SOAP receiver adapter error.)
Is this the right interpretation and is there no other solution than try to append the payload to the parameterlist ?
Regards,
Jan MackenThe partner found a way to read the body correctly
-
SOAP Receiver Adapter (Asynchronous Call)
Hi All,
Scenario is Proxy to Webservice asynchronous call.
Scenario configuration is done as follows.
1) Imported the WSDL and using as a asynchronous inbound interface.
2) SOAP receiver channel is configured with the target URL & soapAction as given in the WSDL as (soap address & soap Action).
3) Configured the proxy server details as required.
SOAP channel is successfully sending the message to the application as DLVD.
But the issue is target application not receiving the data. What could be the reason ? I am wondering , i have tried with the external tool like Altova XML Spy & SOAP UI sending data to the webservice & it's working fine.
Please suggest me if anything which can help to resolve this issue.
Thanks
AshwinIn this case you can do the following:
1. start your tcpmon or TCPGateway, add there a listener e.g. on port 9090
2. configure the target URL in TCPGateway for this listener
3. configure the target URL in your XI SOAP Receiver Adapter to http://<ip of TCPGateway>:9090
4. now execute the scenario again in XI
(make sure XI can reach your TCP Gateway, e.g. check Proxy)
I have used this method successfully for error tracking. In some cases it is necessary to add 2 listeners in TCPGateway and route e.g. 9090 to 9191 and from there to the end (I did not analyse why).
Then you will be able to see what XI is really sending and you will see the full response from the partner side. You can then compare the XI request data with those which are sent via soapUI. This should give a clue about the problem.
CSY -
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
Maybe you are looking for
-
Cannot Mount Buffalo LinkStation Pro
I've just recently purchased the new Macbook Pro (Retina). I have a Buffalo LiveStation Pro NAS to which I can connect my older Windows Vista laptop. However I cannot connect to the NAS via the Macbook. I've narrowed it down to an issue with the Macb
-
Adobe LiveCycle ES3 Installation issue
Hi, We are facing an issue withnES3 Installation with disabling UAC. Our corporate security policies dont recommend to disable UAC on servers, We have to keep it enabled. We are unable to proceed further with this issue. Is there a way to overcome th
-
Hi Mark, I have a problem with my thinkpad. upon loading xp i get an error message ORDINAL 522 MISSING FROM LIBRARY. I don't have any icons on my desktop and my control panel and start menu is also missing. I backed up my laptop as i had a virus an
-
How to format a USB drive to FAT 16 on Mac OS X 10.7?
How to format a USB drive to FAT 16 on Mac OS X 10.7? Disk utility does only FAT32 formatting.
-
Disk Utility Cant Repair my OS X Drive
Hello There, I Had A Problem With my OS X Basic 3TB Hard Drive. It Has Two Partition 1tb Is My OS X drive And 2tb Is For My Data. When I Start Up My I Mac It Gives Me A Loading Sign After That When It Completes My I Mac Shutdown. I Goto Power on By C