SOAP Receiver : Dynamic URL configuration vs. TAuthKey capability
Hello all,
I plan to use dynamic URL configuration of web service URL in SOAP Receiver CC. I got an idea, which is more or less described on SDN already. But one thing bothers me a lot.
In my scenario we talk about 10 and more WebServices' URLs to be called dynamically. The WS call will include also authorization username:passwd and it is expectable, that each WS will have different uname:passwd definition to be authorized with.
I made a capability analysis of SOAP Receiver CC - tab Advanced - Authetication keys and there are prepared only 10 possibilities to define password for authentication key (which I'll handle to CC via TAuthKey parameter).
In the help page http://help.sap.com/saphelp_nw04s/helpdata/en/29/5bd93f130f9215e10000000a155106/frameset.htm there is a note regarding authentication key:
If authentication is required for the receiver system, you can enter a password with confirmation for each key value. This means that you do not need to write passwords in the enhanced message header.
So in other words there should be a way, how to send to CC even the password with other adapter-specific message attributes. (or maybe I miss the meaning of this comment, like the other way is to develope own module for CC and process additional attribs from enhanced message header)
Does anyone have some experience with handling the authentication data in "enhanced message header" ?
Thanx for you info in advance.
Regards
Tom
Hi all,
I got an idea that the solution could be to use "Enhanced receiver determination" and use a set of Services-CommChannels with special naming convention. With this (little bit complicated) scenarion I'll get a possibility to define more then one SOAP Receiver CC => I'll get more than 10 options to store the logon password.
What do you think ?
Points for ideas guaranteed.
Tom
Similar Messages
-
Hi guys,
I'm having some doubts on a soap receiver adapter.
Imagine, you use the ID to define a webservice.
Two simple synchronous interfaces, meaning, you send a string and receive another string via SOAP.
In the ID you define the comm channels, the soap sender and receiver.
My doubt is in the receiver side, you have tou specify the target URL. The problem is, how can I know the target URL, since the service will only be defined later. Meaning, I want XI to answer to a sender client which will use the WSDL generated after by the ID tool.
Where should XI answer to?
I've seen some blogs concerning some similar issues, but none concerning the problem I'm facing.
Can you guys help me or give me any hints on how to work around the problem...Hi,
If you have a SOAP client sending a request message to XI and expecting a Response message, you need to configure SOAP sender adapter only. You do not need SOAP receiver adapter in this scenario. Sender adapter doesnt require any URL, moreover when you define a webservice in XI, you have to construct a URL where this web service can be reached.
You need the SOAP receiver adapter (where u need to mention the URL of teh service) if the receiver system exposes a webservice to which you are trying to connect from XI.
What are ur sender and receiver systems?
praveen -
Dynamic URL Configuration using variable range - WAD
Hi,
I am trying to configure a URL dynamically using variable range values. There are two variables which I pass to the URL, Sales Document Number and Posting Date. Sales Document Number has a single value and Posting Date is a range variable. The single value for sales document is passed to the URL but the date range is not passed and hence the web template gets the blank value for the date and shows the variable screen as this is mandatory. The URL is as follows.
CONCATENATE
l_web_protocol
l_portal_server
Initial URL
'/irj/servlet/prt/portal/prtroot/pcd!3aportal_content!2fcom.sap.pct!2fplatform_add_ons!2fcom.sap.ip.bi!2fiViews!2fcom.sap.ip.bi.bex?TEMPLATE='
l_web_template
'&BI_COMMAND_1-BI_COMMAND_TYPE=SET_VARIABLES_STATE'
'&BI_COMMAND_1-VARIABLE_VALUES-VARIABLE_VALUE_1-VARIABLE_TYPE=VARIABLE_INPUT_STRING'
'&BI_COMMAND_1-VARIABLE_VALUES-VARIABLE_VALUE_1-VARIABLE_TYPE-VARIABLE_INPUT_STRING='
l_var_value "variable value
'&BI_COMMAND_1-VARIABLE_VALUES-VARIABLE_VALUE_1-VARIABLE='
l_var_name "Variable for info object
'&BI_COMMAND_2-BI_COMMAND_TYPE=SET_SELECTION_STATE_SIMPLE'
'&BI_COMMAND_2-RANGE_SELECTION_OPERATOR=INTERVAL_SELECTION'
'&BI_COMMAND_2-RANGE_SELECTION_OPERATOR-INTERVAL_SELECTION-INTERVAL_SELECTION_LOW_MEMBER-ATTRIBUTE_MEMBER_SELECTION-
INFO_OBJECT=0PSTNG_DATE'
'&BI_COMMAND_2-RANGE_SELECTION_OPERATOR-INTERVAL_SELECTION-INTERVAL_SELECTION_LOW_MEMBER=MEMBERS_EXIT'
'&BI_COMMAND_2-RANGE_SELECTION_OPERATOR-INTERVAL_SELECTION-INTERVAL_SELECTION_LOW_MEMBER-MEMBERS_EXIT='
l_range_var_name "Customer Exit Variable
'&BI_COMMAND_2-RANGE_SELECTION_OPERATOR-INTERVAL_SELECTION-INTERVAL_SELECTION_LOW_MEMBER-MEMBER_NAME='
l_range-low "Variable Value - Low
'&BI_COMMAND_2-RANGE_SELECTION_OPERATOR-INTERVAL_SELECTION-INTERVAL_SELECTION_HIGH_MEMBER-ATTRIBUTE_MEMBER_SELECTION- INFO_OBJECT=0PSTNG_DATE'
'&BI_COMMAND_2-RANGE_SELECTION_OPERATOR-INTERVAL_SELECTION-INTERVAL_SELECTION_HIGH_MEMBER=MEMBERS_EXIT'
'&BI_COMMAND_2-RANGE_SELECTION_OPERATOR-INTERVAL_SELECTION-INTERVAL_SELECTION_HIGH_MEMBER-MEMBERS_EXIT='
l_range_var_name "Customer Exit Variable
'&BI_COMMAND_2-RANGE_SELECTION_OPERATOR-INTERVAL_SELECTION-INTERVAL_SELECTION_HIGH_MEMBER-MEMBER_NAME='
l_range-high "Variable Value - High
'&BI_COMMAND_2-RANGE_SELECTION_SIGN=INCLUDING'
'&BI_COMMAND_2-TARGET_DATA_PROVIDER_REF_LIST=DP_TAB' "Tab in the Web Template
into l_url.
Can someone tell me asto what's going wrong with this URL? I passed single value for Posting Date and it worked fine.
Thanks and Regards,
AryaThanks for the reply. However I did not understand couple of things. Should I try the URL like below?
BI_COMMAND=&
BI_COMMAND-TARGET_DIALOG_REF=l_var_name&
BI_COMMAND-BI_ADVANCED=DLG_VARIABLE_vsc_DropdownVariants& "Which value to be passed?
BI_COMMAND-BI_COMMAND_TYPE=PASSIVE_VALUE_TRANSFER& "Which value to be passed?
BI_COMMAND-PASSIVE_ID=DLG_VARIABLE_vsc_DropdownVariants_combobox& "Which value to be passed?
BI_COMMAND-PASSIVE_VALUE=l_var_value&
BI_COMMAND_1=&
BI_COMMAND_1-TARGET_DIALOG_REF=l_range_var_name&
BI_COMMAND_1-BI_ADVANCED=DLG_VARIABLE_vsc_CommonVariablesList_VAR_1_VARINPUT& "Which value to be passed?
BI_COMMAND_1-BI_COMMAND_TYPE=PASSIVE_VALUE_TRANSFER&
BI_COMMAND_1-PASSIVE_ID=DLG_VARIABLE_vsc_CommonVariablesList_VAR_1_VARINPUT_inp& "Which value to be passed?
BI_COMMAND_1-PASSIVE_VALUE=l_range_low-l_range_high&
BI_COMMAND_2=&
BI_COMMAND_2-TARGET_DIALOG_REF=l_range_var_name&
BI_COMMAND_2-BI_COMMAND_TYPE=OK
Thanks and Regars,
Arya -
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 -
SOAP receiver adapter for ASCII-7 characterset???
Hi,
Our scenario is Abap Proxy -> XI -> Web Services (SOAP Adapter). Receiver webservice will accept only the characterset of ASCII-7. But Abap Proxy will send only unicode characterset (default).
Any workaround for receiver SOAP adapter to accept ASCII-7 characterset?
Regards,
Prasad UHi -
You can set a specific encoding in the soap receiver channel module configuration. From the SOAP Adapter FAQ (Note 856597):
<i> o Q: What character encoding is supported by the SOAP receiver
adapter?
A: The SOAP receiver adapter can use any character encoding
supported by the local JDK. The request message from the SOAP
receiver is normally encoded in UTF-8. If you want to change this
encoding, for instance to iso-8859-1, you can set parameter
XMBWS.XMLEncoding to iso-8859-1 in the module configuration for
the SOAP adapter module. This setting is for the outgoing SOAP
message and has no effect on the incoming SOAP message. For the
incoming SOAP message, any code page supported by the local JDK
is accepted.</i>
Check the <a href="https://www.sdn.sap.comhttp://www.sdn.sap.comhttp://www.sdn.sap.com/irj/servlet/prt/portal/prtroot/docs/library/uuid/d23cbe11-0d01-0010-5287-873a22024f79">How to Use the XI 3.0 SOAP Adapter</a> document for an example.
Regards,
Jin -
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... -
Issue in Dynamic configuration in SOAP receiver channel
Hi All,
My scenario is file to SOAP. At receiver side I want to generate URL dynamically.
To proceed step by step, I started with passing a constant URL to Dynamic configuration UDF.
mapping:
Dynamic conf. UDF
Channel Configuration:
From testing, I found that channel always takes the url given in Target URL field and dynamic URL in TserverLocation is been ignored by the channel.
That is dynamic configuration is not working completely.
I went through a lot of blogs and also tried a lot of trial and error methods, but none helped. Every thing I configured looks perfect for me, but still not working. I don't understand where I went wrong. Please help me.Hi Experts,
I am facing similar issue,
URL --> UDF --> @dynamicvariable
I have created a variable underparent node eg: DESADV-->dynamicvariable
passed complete URL to UDF, below is the UDF
& configured SOAP Receiver Channel as well. This is IDOC to IDOC scenario, using IDOC_AAE on sender side and SOAP on receiver in single stack.
--> Checked ASMA
--> Checked Variable Transport Binding and given "TServerLocation" without quotes in XHeaderName1
--> Target URL: http://
But when I am running this interface, nothing is coming in Dynamic configuration.
Ref: Message Log:
MM and OM is also perfect in ESR.
Any suggestions? Please advice.
Regards
Singh -
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 ""; -
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 -
Dynamic URL for SOAP receiver adapter
Hey!
I've been looking all over the forum for this issue. What I have seen is many good suggestions, but no one seems to have made this work.
I have tried with message mapping and TServerLocation, but when the scenario is executed, Target URL in the communication channel always overrides the suggested URL from the mapping.
Is is possible to do this dynamic configuration? Do I have to use HTTP adapter and create envelope with mapping instead? Anyone in here actually got this dynamic URL working?
Thanks a bunch!
regards OleHello Cengiz Aytemir,
I am stuck with a similar issue that you faced earlier. I've configured the scenario as you have suggested (Both the UDF and the CC settings). I've hard coded the Target URL as http://
I can see the dynamic URL set correctly in the MONI but the request that I am sending is not reaching the web service.
Below is the error that I am getting:
<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, 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 am on PI 7.0.
Any help in this regard is highly appreciated.
Best Regards,
Vijay -
Set dynamic URL in SOAP receiver adapter
Hi,
Is this possible ? I have managed to do this with the HTTP adapter but the this time it is a Web service I am integrating to that requires SOAP 1.1 over HTTP to be used.
Thx.
Colin.Hi Stefan,
Basically the full URL I want to send the message to via the SOAP receiver is within the payload.
I can see the Target URL can be set in the communication channel but I want to override this with detail from the payload.
I have managed to use dynamic URL setting with the HTTP adapter but am a little stumped on how/if this can be done on the SOAP adapter.
Can you please expand on your comments a little please ?
Kind regards
Colin. -
SOAP receiver adapter configuration issue
Hi Everyone,
When I am trying to excute a sync scenario from SAP<>XI<>Webservice from Integration engine , I am getting the below error message.
Error while sending message: com.sap.aii.af.ra.ms.api.DeliveryException: SOAP: response message contains an error XIAdapter/HTTP/ADAPTER.HTTP_EXCEPTION - HTTP 415 Cannot process the message because the content type 'text/xml; charset=utf-8' was not the expected type 'application/soap+xml; charset=utf-8'.
In the receiver SOAP adapter, I have configured Transformation module where I kept the MessageTransformationBean in processing sequence as a priority and also provided the module configuration.
ModuleKey: transform
ParameterName: Transform.ContentType
Parameter Value: application/soap+xml;charset=utf-8.
But still get the above error message in the communication channel. I am using certificates in my configuration that were deployed in visual Admin.
In the adapter configuration, I have just provided the Target URL, Configured User Authentication, certificate authentication and SOAP action.
Can anyone help me.. how to rectify the issue.....
Thanks in advance,
HareenHI Hareen,
I decided to give SOAP1.2 using the standard SOAP Adapter a try
There are a few noticeable differences between the request message of SOAP1.1 and SOAP1.2
1.) SOAP 1.1 uses a different namespace from SOAP 1.2. For SOAP 1.1 it is "http://schemas.xmlsoap.org/soap/envelope/" while for SOAP 1.2 it is "http://www.w3.org/2003/05/soap-envelope".
2.) SOAP 1.2 does not use SOAPAction in its header.
3.) Content type is also different, for SOAP 1.1 it is "text/xml" while for SOAP 1.2 it is "application/soap+xml"
So a sample request for SOAP 1.1 would be like this:
Content-Type: text/xml;charset=UTF-8
SOAPAction: "http://sampleaction"
While for 1.2 it is:
Content-Type: application/soap+xml;charset=UTF-8;action="http://sampleaction"
The SOAP action is moved to the content type (experts please correct me on this).
Based on the differences, you need:
1.) Construct the correct SOAP Envelope for request message mapping and remove it for the response mapping
2.) Use MessageTransformBean to change content type
3.) Leave SOAPAction as blank
I think dynamic soap action is no longer possible because the action is hardcoded in the module configuration (please correct).
Hope this helps,
Mark -
URL redirection config in PI SOAP receiver communication channel
Hi,
I am working on a similar scenario where I my consuming an external web service using https protocol from PI.
I have configured a soap receiver channel to call the target url of this web service as https://portal.xyz.org.uk/webservice_alt.
I am getting an error HTTP 302 suggesting that PI is not able to follow the re-direction to the target URL as the service resides not on that URL but on https://portal1.xyz.org.uk/webservice_alt or https://portal2.xyz.org.uk/webservice_alt.
This is their server fail over handling mechanism which is very common. But PI 7.0 is not able to handle this.
So if I change the target URL on the SOAP receiver channel to https://portal1.xyz.org.uk/web service or https://portal2.xyz.org.uk/webservice_alt , PI works fine without errors . But this is not the right approach because, every time the web service provider takes one of these systems down for upgrade/patching etc, they inform us and then I manually go and change the target URL to the available server on my production PI system config.
My problem is I want to resolve this redirection error in PI. I have tried raising a call with SAP itself and they pointed out to use Axis adapter which is still not working.
So I am here asking for help. any suggestions please from the experts?
Thanks
Jhansi.Hi guys,
I am sorry if I have not been clear so far!!
What I am talking about is a URL redirection capability of PI. what i mean is , when you call any service in general using a browser/soap ui etc, it pings that url and follows the redirection.
For example when i try to test this external web service directly using soap ui tool, it also returns HTTP 302 error. But when I set the 'Follow redirect' property to 'true' , it follows the redirection and calls the service on 'portal1' or 'portal2' .
You assume PI is a test tool like SOAPUI. When the address or URL changed in WSDL and if you load the latest WSDL in soapUI it post the request to the latest URL. YOu import WSDL only in ESR not in IR. Dont forget it. Though WSDL has soap address location, it will not impact the wsdl changes directly in ID.
It makes no sense to complain regarding the behaviour of PI when the reason for the problem is outside (WS provider).
please note that the target url is fixed which is https://portal.xyz.org.uk/webservice_alt.
so we are not talking here about the service provider altering the service and sending us new wsdl's etc.
All users of this webservice have been non-sap users so far and consumers use java, .net etc platforms and are easily able to handle the redirection.because this redirection is a part of failover mechanism.
I hope i am able to picture my problem.
thanks
Jhansi. -
Dynamic URL for HTTP receiver adapter
Hi all,
when the XI send the http request to the target system, the format maybe like this:
header + body the body is including: Prolog, payload and Epilog
here is about the target system have a 'input' parameter(maybe string type)
is it possible to pass the 'head + body' these value(or maybe the whole http request message) into input
i mean is it possible to set the dynamic URL for http receiver adapter like this:
http://host:port/path?input=<the header and body>
i have searched the blog Dynamic Configuration of Some Communication Channel Parameters using Message Mapping
Link:[/people/william.li/blog/2006/04/18/dynamic-configuration-of-some-communication-channel-parameters-using-message-mapping]
and the similar threads in the forum
please give me some advice
thanks in advanceWhen a HTTP server requests the whole message as URL parameters, then I assume that the server also requests an HTTP GET, which is not supported by XI.
Could you check this?
Regards
Stefan -
Picking values from an http URL and mapping them to a SOAP receiver
Hi
I have a case, where I need to pick the two values "customernumber" and "pod" from this URL from a HTTP sender adapter https://xxxxx.xxxx.dk/ServiceName/valider?customernumber=&pod=
and place them in a SOAP request in a SOAP receiver adapter.
What is the best way of doing this?
BR
MIkaelHi,
Please go through SAP Help Doc LInk:
http://help.sap.com/saphelp_nwpi711/helpdata/en/43/64db4daf9f30b4e10000000a11466f/content.htm
Set flag ASMA, Apply URL Parametes in ID.
Give Parameter 1 as customer (names as in URL)
Parameter 2 as pod
Access the values in UDF through configuration key. For Eg: if Parameter 1 then the value can be accessed through field URLParamOne.
I never tried this before but I beleive it should work or throw aome light to you.
Regards,
Vineetha.
Maybe you are looking for
-
Display Comments in Webi Report
Hi All, We have a requirement, to display comments (2 or 3 paragraph in each page of report).The text needs to preserve the format (bold, bullets and colored text) i.e the format from the source data should be retained when displayed in the webi repo
-
Update Rule error while loading the data
Hello All, I tried to do the init load for the datasource 2LIS_02_VAKON (Sales Document Condition), But it error's out in the Update rule saying: Short text: Error when generating the update program Long Text: Diagnosis An error occurred during
-
After updating to iOS 5.0 on my iPad2, my contacts updated in name only, the information (addresses, phones, etc.) is blank. Has anyone else seen this? The cloud has all the contact information intact.
-
HP Officejet 5610 All-in-One Paper Jam
Hi, I'm getting a paper jam error on my printer screen when setting up my 5610 after a long time of no use. I followed this guide but it did not work. I checked the back, the rollers, everything. The problem is that the cartridge carrying box goes fr
-
Why is my ipad screen has a ghoshtly white screen color?
WHy is my ipad screen has a ghostly white color?