cancel
Showing results for 
Search instead for 
Did you mean: 

http - XI - rfc

Former Member
0 Kudos

In R/3 tested function module 'bapi_company_getdetail' using transaction SE37.

Input: companyid=1000

Output: Gives output in se37 in test mode

However when same input (companyid=1000) given via http -> XI -> RFC, there is response (one record) but all values are empty in http_client as well as SXMB_MONI

<?xml version="1.0" encoding="UTF-8" ?>

- <ns1:mt_companydetails xmlns:ns1="urn:
vmyvendor.org\http2rfc">

- <record>

<companyid />

<name1 />

<country />

<city />

<street />

<zipcode />

</record>

</ns1:mt_companydetails>

FYI, I have turned on LOGGING_SYNC=1 to capture the trace (set to 3) as there is no error reported in http client and SXMB_MONI.

Could not find why there is empty RFC response seen in HTTP client?

*-- excerpt of trace from SXMB_MONI

<Trace level="3" type="T">HTTP-client: sending http-request...</Trace>

<Trace level="3" type="T">HTTP-client: request sent</Trace>

<Trace level="3" type="T">HTTP-client: Receiving http-response...</Trace>

<Trace level="3" type="T">HTTP-client: response received</Trace>

<Trace level="3" type="T">HTTP-client: checking status code...</Trace>

<Trace level="3" type="T">HTTP-client: status code = 200</Trace>

<Trace level="3" type="T">Deserializing message object...</Trace>

Where I can see the actual bytes received from RFC respose? Any flag to be set to see bytes received in RWB? Please advise.

I also doubt if the empty response may be related to context change in XI message mapping, not sure!

Accepted Solutions (1)

Accepted Solutions (1)

Former Member
0 Kudos

Hi ,

Try to find the length of that field company code and add 0's as prefix.

For ex:001000(If length is 6)..Try it now..

Regards,

Answers (5)

Answers (5)

Former Member
0 Kudos

Thanks. Changed input to 001000 in http payload and it worked. Points awarded.

My follow-up question might sound basic:

Is there any way to see the response bytes (see below) in SXMB_MONI or RWB? Already set the trace to 3. My logic was to spot the error if empty comes from response or due to message mapping, context change issue etc...if so in SXMB_MONI, most of the time it is not sure where? Thanks again.

<ns1:mt_companydetails xmlns:ns1="urn:
vmyvendor.org\http2rfc"><record><companyid>001000</companyid><name1>IDES AG</name1><country>DE</country><city>Frankfurt</city><street>Lyoner Stern 23</street><zipcode>60441</zipcode></record></ns1:mt_companydetails>

prabhu_s2
Active Contributor
0 Kudos

sync message cannt be traced in moni. might be u can raise a alert or exception if an empty reponse is fopund....might be in mapping

Former Member
0 Kudos

Prabhu,

thanks.

how do I check for empty response in message mapping? can you throw some pointers.

prabhu_s2
Active Contributor
0 Kudos

use a udf which will check for the field contents and raise an exception which can be tracked using alerts

Former Member
0 Kudos

Thanks Prabhu. It helped.

Former Member
0 Kudos

Hi,

first check in R3 for that company details are existed or not for the geiven company code.. if existed then check the company code, asexpalined above.

try ..all RFC configurations are correct .. step by step check..

Regards

Chilla..

prabhu_s2
Active Contributor
0 Kudos

dear ravi

Set parameter RUNTIME LOGGING_SYNC = 1 in the transaction SXMB_ADM

in abap stack.

check if the response from rfc is mapped properly

Former Member
0 Kudos

Hi Ravi,

While sending arequest message to RFC thru XI you need to take care of data size of each element .

In R/3 system when you run your function module with input values it automatically fills the fileds with the lengths ( auto suffix of zeros).

You need to add suffix filling of zeros to all input fileds in RFC request. It should help you to get correct RFC Response.

Nanda

Former Member
0 Kudos

Hi Ravi,

Set a parameter, LOGGING_PROPAGATION with value 1. This will let you know all the steps in XI pipeline. Just check the payload after Message mapping. You may not produce the expected payload in mapping.

Regards,

Jai Shankar