cancel
Showing results for 
Search instead for 
Did you mean: 

No payload available in succesful synchronous Response message

Former Member
0 Kudos

Hi Experts,

A desperate call for guidance.

I am working in ABAP Proxy <<======>> Http Scenario with website of Currnecy Exchange Rate

This is the technical documenation of the 3rd party website for this service.

1.     Requests made to the OANDA FXML service must include a “fxmlrequest” key, which defines the user’s Client ID,

     as well as any desired input and output parameters.The “fxmlrequest” key value should be included in the form of:

     <CONVERT> <CLIENT_ID></CLIENT_ID> <EXCH></EXCH> <EXPR></EXPR>

     <AMOUNT></AMOUNT> <NPRICES></NPRICES> <DATE></DATE>

     </CONVERT>

2.     The following is an overview of the XML response that FXML will return. This information will be sent back with a

          header of Content-type:text/xml.

     <RESPONSE>

     <EXPR></EXPR>

     <EXCH></EXCH>

     <AMOUNT></AMOUNT>

     <NPRICES></NPRICES>

     <CONVERSION>

     <DATE></DATE>

     <ASK></ASK>

     <BID></BID>

     </CONVERSION>

     </RESPONSE>

Note: <RESPONSE></RESPONSE>

The outer tag of the response.

Even though I have created the structures similar to the requirement , I am not able to find the payload in the succesful processed message of the response.

Based on this , I created the request and reponse as below:

1.Is there any discrepancy in the request and response structure like namespace,xml tags

2.Do we have to configure the content type for the receiver http adapter/ SOAP adapter "with No Envelope".

3.Eventhough the message is succesfully processed why I am not able to received the payload with the website in the response.The website is surely

sending the payload.

Note : Message is in succesful status both in sxmb_moni as well as in RWB.

Any workaround will be appreciated. 

Regards

Rebecca

Accepted Solutions (0)

Answers (2)

Answers (2)

Former Member
0 Kudos

Hi Experts,

When tested with HTTP Receiver adapter , I am receiving error.

- <SAP:Error xmlns:SAP="http://sap.com/xi/XI/Message/30" xmlns:SOAP="http://schemas.xmlsoap.org/soap/envelope/" SOAP:mustUnderstand="1">

  <SAP:Category>XIAdapter</SAP:Category>

  <SAP:Code area="PLAINHTTP_ADAPTER">ATTRIBUTE_SERVER</SAP:Code>

  <SAP:P1>403</SAP:P1>

  <SAP:P2>Forbidden</SAP:P2>

  <SAP:P3><?xml version="1.0" encoding="ISO-8859-1"?> <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"> <html xmlns="http://www.w3.org/1999/xhtml" lang="en" xml:lang="en"> <head> <title>Access forbidden!</title> <link rev="made" href="mailto:webmaster@oanda.com" /> <style type="text/css"><!--/*--><![CDATA[/*><!--*/ body { color: #000000; background-color: #FFFFFF; } a:link { color: #0000CC; } p, address {margin-left: 3em;} span {font-size: smaller;} /*]]>*/--></style> </head> <body> <h1>Access forbidden!</h1> <p> You don't have permission to access the requested object. It is either read-protected or not readable by the server. </p> <p> If you think this is a server error, please contact the <a href="mailto:webmaster@oanda.com">webmaster</a>. </p> <h2>Error 403</h2> <address> <a href="https://answers.sap.com/">localhost</a><br /> <span>Wed Aug 29 02:56:35 2012<br /> Apache</span> </address> </body> </html></SAP:P3>

  <SAP:P4 />

I have maintained the following parameter.

Content Type : text/xml

XML Code : ISO-8859-1

What could be the issue? Is it from the receiver service?

Regards

Rebecca

udo_martens
Active Contributor
0 Kudos

Hi Rebecca,

What could be the issue? Is it from the receiver service?

Yes, of course:

You don't have permission to access the requested object. It is either read-protected or not readable by the server. If you think this is a server error, please contact the <a href="mailto:webmaster@oanda.com">webmaster

Write a mail to the webmaster and ask him why your credentials lead to 403 error. Send him as well the URL you used for the request (he will be interested in the server path).

Regards,

Udo

Former Member
0 Kudos

Udo,

Thanks for your useful input.I have provided you the points

I have 1 querry which is always revolving around the issue. The 3rd party receiver is not having API to provide this service. I can access to this service it via the Internet using HTTP protocol to send XML requests and receive XML responses.

So I tried with 2 approaches:

1.SOAP receiver adapter with "No SOAP envelope".In this case I am receiving the sucesfull reponse but with no payload.

2. HTTP receiver adapter. In this case , i encountered with "You don't have permission to access the requested object. It is either read-protected or not readable by the server".

I am confused with the approach looking at the fact that 3rd party dont have an API and the next thing how we are capturing 3rd party response.

Regards

Rebecca

udo_martens
Active Contributor
0 Kudos

Hi Rebecca,

you start with step 2 or 3. You implemented 2 versions without having an idea how to request the service correctly. If you dont get any infos from the service owner - what is normal in our job - you need to get a successful test case to find the connection infos for yourselv.

Download freeware "Firefox Poster" where you can set http header fields and test the service until you get a successful answer or until you are sure it is not working (then complain at the webmaster). Finally you will have a satisfying response and then you can decide which adapter is matching to your requirements.

Regards,

Udo

udo_martens
Active Contributor
0 Kudos

Hi Rebecca,

1.Is there any discrepancy in the request and response structure like namespace,xml tags

You can easyly validate a message to its message type (xsd) . For example in XML Spy. Or just copy it into a message mapping - if it s not valid, you would get corresponding red signs.

2.Do we have to configure the content type for the receiver http adapter/ SOAP adapter "with No Envelope".

You should ask the service provider, not us, he, he. Assumedly yes, check out "text/xml" as the response has that content type.

3.Eventhough the message is succesfully processed why I am not able to received the payload with the website in the response.The website is surely

sending the payload.

I dont think so, your monitoring is showing an empty message. You should test the service with for example XML Spy (or SOAP UI). For any reason it is reacting with an empty message to your request, it might be the requested content, may be the content type or a syntax error. You should test that if the sytem reacts on a syntax error or wrong content type different. Just send some random stuff there. If you are sure it is the content, then play with spelling, may be small letters like eur or other number format like 1.00.

Regards,

Udo

Former Member
0 Kudos

Dear Udo,

I wonder how to perform the testing of message (SOAP UI) in my case of synch ABAP Proxy <<===>> HTTP Scenario.

a.     From where to get the WSDL Url of the 3rd party.Instead I tried in ECC by testing the message in Tx SPROXY. I mean to say since it is SYNCHRONOUS message, how to get the Service Interface of both request as well as response in single go.

If it would have been HTTP <<===>> ECC then it would be easy

This issue is just the reverse.

Thanks!!!

udo_martens
Active Contributor
0 Kudos

Hi Rebecca,

there a couple of good http test tools available, some are as well freeware. For example SOAP UI, or wfetch, firefox poster, XML Spy and some more. SOAP UI is more for web services, if you have a pure xml message, try it with firefox poster (which can influence the content type) or just google for http request tool and you get 1000 matches.

The question is: Why does the message receiver send an empty message? Therefore you need to test the receiving side. Very often the provider of a service provides as well a description / an example how to call the service.

Regards,

Udo

Former Member
0 Kudos

Well Udo, your inputs are helpful. Let me try out