cancel
Showing results for 
Search instead for 
Did you mean: 

IDoc to HTTPs Scenerio

Former Member
0 Kudos

Hi,

We have implemented an IDoc to HTTPs scenerio.

The message that we sent from RWB gets logged properly to the SXMB_MONI but it is not reaching the third party.

The third party can see PI connected but cannot receive the message sent to it.

We skipped the operation mapping in Interface Determination,after doing this the third party could only get the header but not the entire message.

Can you please help us?

Thanks,

Team SAP PI

Accepted Solutions (1)

Accepted Solutions (1)

markangelo_dihiansan
Active Contributor
0 Kudos

Hello,

Can you share to us the values of your HTTP Header? You can watch the request by using a third-party tool such as fiddler. The things to watch are Prolog/Epilog, Content Type and also URL escaping. Can you try using application/x-www-form-urlencoded as your content type?

Hope this helps,

Mark

Former Member
0 Kudos

Hi Mark,

Thanks for the reply.

Where can I get fiddler from?

How can I use it in this specific scenerio?

We are trying to access the following third party url from PI

but the third party is unable to get the message,only the header info.
Kindly find attached the header info screenshot.
The expected output is

https://hostname ort/invoke/Inbound.Invoice/INV/method=

"POST";?XML=" <?xml

version="1.0" encoding="UTF-8"?>  ....actual Idoc xml .."

Thanks and regards,

Team SAP PI

Former Member
0 Kudos

Updating in the hope of answer!

baskar_gopalakrishnan2
Active Contributor
0 Kudos

Guessing few things with the information given.

Check whether HTTP Post URL is valid. You can post via browser and see the response code is 200 ok.  You might want to create http desination in sm59 and reference that in the channel instead of giving address.  See that helps for logging the trace. I see some escape characters in the url stops the value passing to the server.

Former Member
0 Kudos

Hi Baskar,

Thanks for the valuable suggestions.

I tried the URL with browser ,but it shows that the internet cannot open the page.

We are using RFC destination instead of URL address.

Also,I did the following

1.Activatd the adapter_plain service in SICF

2.Enabled the URL escaping and mentioned the prolog as xmlData= in receiver HTTP communication channel

3.Activated the SSL in RFC Destination.

After doing so,I tried to post the message ,but it was logged in Integration Engine(Sxmb_Moni) with the following error log

="PLAINHTTP_ADAPTER">ATTRIBUTE_MISSING_URL

Dynamic Header - Missing Message Attributes: URL/HTTP Destination

Can you please guide?

Thanks and regards,

Team SAP PI

markangelo_dihiansan
Active Contributor
0 Kudos

Hello,

Where can I get fiddler from?

Fiddler is a web debugging tool that you can get from http://www.fiddler2.com/fiddler2/ . It just analyzes your HTTP Request and provides you with all the information needed to connect to a particular website.

The expected output is

https://hostname ort/invoke/Inbound.Invoice/INV/method=

"POST";?XML=" <?xml

version="1.0" encoding="UTF-8"?>  ....actual Idoc xml .."

What do you mean by this? Is the payload a part of the URL? If that is the case, then it is not possible. Aside from having a 200 character limit for URLs, the HTTP Adapter also requires an HTTP Body (XI Payload in HTTP Body).

Hope this helps,

Mark

Former Member
0 Kudos

Hi Mark,

Thanks for the valuable comments

Is the payload a part of the URL?

Yes,we are looking for the same.

If that is the case, then it is not possible.

Is there any work around which might not be the same but quite similar to that?

Aside from having a 200 character limit for URLs, the HTTP Adapter also requires an HTTP Body (XI Payload in HTTP Body).

Means thesize( URL+the IDoc XML) should not exceed 200 characters,right?

Do we ask the client to provide the XI payload in the HTTP body?

Also when I tried with the following combinations

Prolog as xmlData= and enabled the URL escaping

but it resulted in the error as I mentioned in the previous comment.

Thanks and regards,

Team SAP PI

Message was edited by: Team SAP PI

markangelo_dihiansan
Active Contributor
0 Kudos

Hello,

Is the payload a part of the URL?

Yes,we are looking for the same.

If that is the case, then it is not possible.

Is there any work around which might not be the same but quite similar to that?

This is true, to make the HTTP Adapter work, an HTTP Body is required. You can see it just by clicking your HTTP Receiver CC, under message protocol XI Payload in HTTP Body. Yes, there is a workaround and that is to place the payload in your HTTP Body.

Aside from having a 200 character limit for URLs, the HTTP Adapter also requires an HTTP Body (XI Payload in HTTP Body).

Means thesize( URL+the IDoc XML) should not exceed 200 characters,right?

Yes, it should not exceed 200 characters.

Do we ask the client to provide the XI payload in the HTTP body?

Yes, tell them that it is mandatory to have an HTTP Body otherwise the scenario won't work.

Hope this helps,

Mark

Former Member
0 Kudos

Hi Mark,

Thanks for the reply.

Yes, tell them that it is mandatory to have an HTTP Body otherwise the scenario won't work.

Yes,there is XI Payload in HTTP in the Message Protocol but still getting the error in Sxmb_Moni.

So it is advisable to ask the client to include the XI Payload in the HTTP Body,right?

Thanks and regards,

Team SAP PI

markangelo_dihiansan
Active Contributor
0 Kudos

Hello,

Yes,there is XI Payload in HTTP in the Message Protocol but still getting the error in Sxmb_Moni.

So it is advisable to ask the client to include the XI Payload in the HTTP Body,right?

It is mandatory to have an HTTP Body for Plain HTTP Adapter. Tell them it is a technical limitation. What is the error that you are getting?

Regards,

Mark

Former Member
0 Kudos

Hi Mark,

We did the following in the receiver communication channel

Content Type as application/x-www-form-urlencoded

Prolog as method='POST';?XML

It is being logged into the Integration Engine(Sxmb_Moni.

Yet to confirm with the client whether it si logged or not.

Thanks and regards,

Team SAP PI

Answers (1)

Answers (1)

rajasekhar_reddy14
Active Contributor
0 Kudos

If use HTTP adapter monitoring not possible and sometimes very difficult to trace,better to check HTTP adapter configuration and test HTTP destination in SM59.

i would suggest you to use SOAP adapter, so that you can monitor it very esily.

Regards,

Raj