cancel
Showing results for 
Search instead for 
Did you mean: 

Issue in Dynamic configuration in SOAP receiver channel

Former Member
0 Kudos

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

Accepted Solutions (0)

Answers (4)

Answers (4)

Former Member
0 Kudos

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

Former Member
0 Kudos

HI Dhanish,

Yes, you are right. But I think it is the issue with the listener on receiver side which is not accepting SOAP message.

Doing R&D, lets see If I can get out with some sort of solution.

Best Regards

Singh

former_member182412
Active Contributor
0 Kudos

Hi Baljit,

Use TCPGW to see the request and response from the third party, it is very useful for trouble shooting this kind of errors.

If you are not adding SOAP envelop in the mapping you need to uncheck Do Not Use Soap Envelope because web service expects soap envelope.

Regards,

Praveen.

yasha_dubey
Participant
0 Kudos

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

Former Member
0 Kudos

Hi Pragya,

I did exactly similar configuration,  as in blog. Same thing I have explained in my issue. But no luck.

engswee
Active Contributor
0 Kudos

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.

Former Member
0 Kudos

Hi Eng,

yes, I can not see dynamic configuration s and it is a single stack system.

engswee
Active Contributor
0 Kudos

DC is still available in single stack under AE Message Monitor.

Former Member
0 Kudos

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.

former_member184720
Active Contributor
0 Kudos

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.

markangelo_dihiansan
Active Contributor
0 Kudos

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

Former Member
0 Kudos

Hi Hareesh,

Yes, I can see dynamic configuration and UDF being executed.

But still it is not replacing the CC Target URL.

I am trying to send to MII system using SOAP.

Regards,

Singh

Former Member
0 Kudos

HI Mark,

Still no luck.

Former Member
0 Kudos

Hi Hareesh,

I tried using root node as well. But still not working.

former_member184720
Active Contributor
0 Kudos

Strange.. Can you share the screenshot of the channe configuration? Make sure that there are no additional spaces in UDF, typo's in channel configuration.

If everything looks good then Enable XPI inspector to collect additional traces.

Former Member
0 Kudos
markangelo_dihiansan
Active Contributor
0 Kudos

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

Former Member
0 Kudos

Hi Mark, No message did not reach the target. If I uncheck soap envelope,  I am getting http 200.

Regards,

Singh