on 04-27-2015 8:17 PM
Hi Experts,
IDOC to SOAP
URL[Constant]--> UDF [TServerLocation]-->DELFOR created [variable] under root node.
Configurations:
[a]
Target URL: http://
Configured User Authentications.
Conversion Parameter: Do not use SOAP Envelope--> Checked
ASMA--> Checked
Variable Transport Binding--> Checked
XHeaderName1 --> TServerLocation
Below is UDF:
Below is the Log:
When I run this interface, the Target URL has to replace with the one passed in dynamic configuration, but it is not happening in my case.
[b]
Also If I uncheck Conversion Parameter: Do Not Use SOAP Envelope, it fails with HTTP-200 OK
[c]
Uncheck Conversion Parameter: Do Not Use Soap Enveope, and passing &context-type=text/xml--> also giving me same error.
Any suggestions? Am I missing something? Please advice.
Best Regards
Singh
Hi Baljit ,
There is an with the single stack PI processing log and we are also facing the same problem here.
The message processing log displays whatever content in the channel cache. And that is "http://" in your case.(Replace with abc, you would get the same in processing log)
That should be ok , and it is only displayed in processing log. But in real 'TServerlocation' should be called if set properly.
Thanks,
Dhanish
You must be a registered user to add a comment. If you've already registered, sign in. Otherwise, register and sign in.
Hi Baljit,
As suggested by Eng can you cross check the Dynamic Configuration section in the message monitoring to see if the Dynamic values are populated correctly.
If yes, then we need to check the channel configuration.
To check channel configuration you can check this blog :
But at first I would suggest you to see if the UDF actually populated the value for TServerLocation correctly.
Thanks,
Pragya
You must be a registered user to add a comment. If you've already registered, sign in. Otherwise, register and sign in.
Did you also check that the mapping UDF executed correctly? Not sure what type of PI system you have (dual or single stack), but try to check in the DynamicConfiguration section of the SOAP header after the mapping. Make sure the attribute TServerLocation is populated.
You must be a registered user to add a comment. If you've already registered, sign in. Otherwise, register and sign in.
Hi Eng, I know this already. My question is not this.
My question is that, url I am passing to dynamic configuration is not replacing http:// when I run the interface. Hope you understand my question.
If i read your previous reply, you have indicated that you can't see dynamic configuration as it's a single stack.
That is the reason why Eng Swee has provided a screenshot to prove that it's possible to monitor dynamic configuration attributes even in single stack.
And the reply is indeed inline to your question. In order to see why the dynamic configuration is not replacing the http://, first your should make sure that dynamic configuration UDF is being executed.
If it is being executed during the mapping, you should notice this attribute in message monitoring screen(as shown in Eng swee's screenshot)
So please check and confirm if you can see this DC attribute in your message?
If not you have indicated that, you have mapping this UDF to a variable. Instead, i would suggest you to map it root node(message type tag) and see if that helps.
Hi Baljit,
Here's an interesting theory: what if the log really doesn't output the target url from dynamic config but rather takes it from the target url in the comm channel? Should be easy to test by replacing the
target URL from http:// to http://dummy.com.
What do you mean you get a 200 response when unchecking the SOAP Envelope? Shouldn't that response be the correct one? Normally we check the Do Not Use SOAP Envelope option when we need to enhance it such as putting attributes on the SOAP header.
Regards,
Mark
Hi,
For [a], did the message reach the target system? Is there any reason why you need the SOAP Envelope unchecked? Have you tested the webservice externally (e.g via SOAP UI)?
Check SAP Note 856597 - FAQ SOAP Adapter
6. Receiver Asynchronous Calls
- Q: What should my web service return to the adapter for asynchronous calls?
A: Currently, the receiver adapter expects an HTTP 200 with a SOAP envelope with an empty content for successful delivery. Any other response will result in a XI system error and triggers retries of the message.
I think your webservice is just returning an HTTP 200 without an HTTP Body.
Regards,
Mark
You must be a registered user to add a comment. If you've already registered, sign in. Otherwise, register and sign in.
User | Count |
---|---|
91 | |
10 | |
10 | |
9 | |
9 | |
7 | |
6 | |
5 | |
4 | |
4 |
You must be a registered user to add a comment. If you've already registered, sign in. Otherwise, register and sign in.