cancel
Showing results for 
Search instead for 
Did you mean: 

http to rfc

Former Member
0 Kudos

hi experts,

i have three scenarios, soap to rfc http to rfc soap to http

1.when i do soap to rfc ,then define a webservice and i coule use soapUI tool to test it

2. but now when i do http to rfc , it'll not define a webservice,so i don't know how to test it

3.when i do soap to http,must i import the XSD? now all data types were define in 'DATA TYPES',but when i test,in sxi_monitor it show 'MAPPING ERROR'

Accepted Solutions (0)

Answers (2)

Answers (2)

Former Member
0 Kudos

Hi,

when i do soap to http,must i import the XSD? now all
 data types were define in 'DATA TYPES',but when i test,in 
sxi_monitor it show 'MAPPING ERROR'

you have to do this in the similar way as soap to rfc scenarios,

you need a structure at source, if you have an XSD already

then import this in External definition and use in to create a

outbound Service interface(sync or async as required)

but now when i do http to rfc , it'll not define a webservice,
so i don't know how to test it 

A HTTP-Test Client is present in XI already! go to RuntimeWorkbench

--> ComponentMonitoring->Integration engine->testmessages->fill in

the details like sender interface namespace etc. and username password(ur PI un/pwd) .

Copy the test payload from mapping test tab(test ur mapping with some

valid data and take the same source)

You can try the HTTP test tool , the link provided above,just copy the entire

code in a text pad and save it as a .HTML page.

The HTTP client is a simple web page with java script

this will help you in testing the sender HTTP scenarios.

Regards,

srinivas

Former Member
0 Kudos

hi

when i do http to rfc ,i didn't define webservive ,so i have not a url ,so how external application could call it

when i do soap tp http , i didn't import xsd(http) into ir, i just define the structures in 'DATA TYPES' ,doesn't it matter ?

Former Member
0 Kudos
when i do http to rfc ,i didn't define webservive ,so i have not a url ,so how 
external application could call it 

yes in soap scenario you have the link to post which comes from the wsdl generated

in ID.but http sender scenario is different , you dont have a direct link here.

What you basically do is , when u enter the sender interface , name space etc in the

test tool or runtime work bench the payload gets posted to integration server using

the details you provided.

in rwb you can see the link to intergration engine at the top in the testing tab.

i didn't import xsd(http) into ir, i just define the structures in 'DATA TYPES' ,
doesn't it matter ?

i think it doest matter , all you need is a correct source structure ,if its created from

a DT or XSD import doesnt matter.

Please test ur mapping in test tab first in the mapping.and let us know the result.

Regards,

srinivas

Former Member
0 Kudos

I COPY THE XML FROM SXI_MONITOR AND TEST IT IN IR

BUT IT SHOW THE ERROR

Cannot produce target element /ns0:MT_RESPONSE_RECEIVE/Recordset/opReq. Check xml instance is valid for source xsd and target-field mapping fulfills requirements of target xsd

Former Member
0 Kudos

Hi,

Please check what mapping you gave for /ns0:MT_RESPONSE_RECEIVE/Recordset/opReq,

do let us know what you are trying to map opReqwith ..is it a one to one mapping , if not what conditioning you have implemented.I hope u copied the payload properly. Go to SXMB_MONI, open ur message, go to payload under inbound message or receiver grouping. you can see the payload , just right click on the payload area and click view source , it will open a text pad .. copy that.

Regards,

srinivas

Edited by: Srinivas on Apr 8, 2010 9:33 AM

Former Member
0 Kudos

i WANT TO PASTE THE PICTUER HEHE , but idon't know hou to paste picture here..

Former Member
0 Kudos

Hi,

Cannot produce target element /ns0:MT_RESPONSE_RECEIVE/Recordset/opReq. Check xml instance is valid for source xsd and target-field mapping fulfills requirements of target xsd

I think the source XML data what u r getting and what the message type u have created for the source are not matching.....

Can u please get the source payload from MONI and paste in Test of Message mapping, and cross check if the source payload and message type are matching r nt.... U will see a Green button in Tree View.. if red its wrong data..

If it's green colour.. now can u test it once again... and letz know the error....

The error will be definetly from ur mapping design..

Babu

former_member200962
Active Contributor
0 Kudos

Upload the pic in some commonly aceesible website like flckr and then post the link.

Manually enter the data in the Test tab of your mapping and then do the testing.....if successful, use this payload to test the interface.....if successful then compare this payload with the payload giving error.

Regards,

Abhishek.

Former Member
0 Kudos

hi

i think the question is that

the response xml encoding is 'GB2312'

i copy it to ir test but in ir test xml encoding is 'UTF-8'

IN SXI_MONITOR RESPONSE <?xml version="1.0" encoding="GB2312" ?>

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

SO I COPY it to test it show wrong

now what should i do ?

PLZ help

Former Member
0 Kudos

could anyone give me some suggestions?

Former Member
0 Kudos

Hi,

 response xml encoding is 'GB2312'

its a differnt case now, you need to check on if this encoding type is supported by default in PI , if its not then you need to convert the chinesse encoding to xi understabale format.May be a moudle would help ..please search in SDN for character encoding .

Regards,

Srinivas

agasthuri_doss
Active Contributor
0 Kudos

Hi,

>http to rfc , it'll not define a webservice,so i don't know how to test it

HTTP Client:

https://www.sdn.sap.com/irj/sdn/go/portal/prtroot/docs/library/uuid/66dadc6e-0a01-0010-9ea9-bb6d8ca4...

>when i do soap to http,must i import the XSD?

Import the WSDL file from Config and test it

> when i test,in sxi_monitor it show 'MAPPING ERROR'

What is the error you are getting, Is all the mandatory fields has values ?

Cheers

Agasthuri

Former Member
0 Kudos

in sxi_monitor the error is

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

- <!-- Request Message Mapping

-->

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

<SAP:Category>Application</SAP:Category>

<SAP:Code area="MAPPING">EXCEPTION_DURING_EXECUTE</SAP:Code>

<SAP:P1>com/sap/xi/tf/_MM_RESPONSE_</SAP:P1>

<SAP:P2>com.sap.aii.utilxi.misc.api.BaseRuntimeException</SAP:P2>

<SAP:P3>RuntimeException in Message-Mapping transformatio~</SAP:P3>

<SAP:P4 />

<SAP:AdditionalText />

<SAP:ApplicationFaultMessage namespace="" />

<SAP:Stack>com.sap.aii.utilxi.misc.api.BaseRuntimeException thrown during application mapping com/sap/xi/tf/_MM_RESPONSE_: RuntimeException in Message-Mapping transformatio~</SAP:Stack>

<SAP:Retry>N</SAP:Retry>

</SAP:Error>

my scenario SOAP to HTTP

in sxi_monitor the response

<?xml version="1.0" encoding="GB2312" ?>

- <ICBCYH>

- <opRep>

<opName>NCQueryBalanceOp</opName>

- <opResult>

<Account_num />

<Account_cur>RMB</Account_cur>

<retCode />

<errMsg />

<Acc_balance />

<Balance>123400</Balance>

<Usable_balance>100000</Usable_balance>

<Acct_property />

<PackageID />

<userID />

<RepReserved1 />

<RepReserved2 />

</opResult>

</opRep>

</ICBCYH>

Former Member
0 Kudos

Hi ,

Please test your mapping in the mappings test tab first ,the response mapping is showing the error.

I hope you have created two mappings for request and response separately.

Regards,

srinivas