cancel
Showing results for 
Search instead for 
Did you mean: 

WebService to RFC

Former Member
0 Kudos

Hello

I have worked on file to file scenario in SAPXI before.

Now I need some help to develop a interface to on webservice.

PART 1 requirement:

Customer gave a WSDL , he wants to call a service in XI and need an aknowledgement.

I imported wsdl , created one message interface with inbound and synchronous mode from message in wsdl.

How to do configure communication channel,receiver and sender parameters.

Also and which url should I provide to customer so that he can call the service .

Also how can I test wheather webservice works

thanks in advance

vinod

Accepted Solutions (0)

Answers (4)

Answers (4)

Former Member
0 Kudos

hi,

Create a sender communication channel using "SOAP " adapter...

Give a Default Interface Name and name space which you have a source structure...

Quality of service is Best effort...

create a receiver communication channel for RFC...

Create a sender agreement and receiver agreement,interface determination,receiver determination...

Choose tools..right click and select Define Webservice....

Give the url "http://host:port Number/XISOAPAdapter/MessageServlet?channel=:service Name:sender

communication channal name"...

Give the sender Interface Name and Namespace...

Give the Sender Service,sender Interface Name and Namespace...

Finish and save the WSDL...This only you need provide customer....

If you want check the WSDL using SOAPSonar tool....

**Award Points if its useful"

Regards,

Prakasu

Former Member
0 Kudos

Hello Thanks for response,sorry if confused,

I have done below steps:

1. Added WSDL under external definitions

2. using the message in wsdl created mesg interface (sync and inbound)-ons is sufficient or required to create seprate for out bound also

3. created messg mapping using the mesgs in wsdl

4. added this in interface mapping

5. configuration part how to proceed ?

rgds

vinod

Former Member
0 Kudos

hi,

You should create only one message interface for outbound and Inbound...

For Outbound choose sync and add your messages source structure to(Output messge) and add your

responce structure to(input message)...The same like create a Inbound interface for RFC...

Create a mapping for Request and Responce..Request for one mapping and responce for another

mapping...Create a single Interface mapping...If u added Outbound and Inbound then you will get

Request and Responce tag bellow ..add the mappings...

For Id part i answered before....

Regards,

Prakasu

Former Member
0 Kudos

thanks of reply, but its is confusing.

So first I want to try this - get the request into Xi and simply send back aknowledgement to sender.(some constant value)

Could you help with this.

should I have to provide the Target URL

("http://host:port Number/XISOAPAdapter/MessageServlet?channel=:service Name:sender)

to the external system to identify the xi service and is the the service in Target URL is the business system

sorry my questions are to silly but as Iam just getting with xi .

rds

vinod

Former Member
0 Kudos

hi,

your scenario like this...

WS-RFC <---->RFC-WS...

so you need 2 structures for WS and RFC..one is Request and other one Responce...

For Responce u need to send back to sender...

1.Sender need to send the data as(WS) to xi...xi will transfer the data to RFC...

2.But the WS send the data to xi then xi dont know about ws...so that we create a WSDL (it have the

structure and URL have to link xi) and will give to cutomer...Then only customer knows about xi

Input structure and how to pass the data...

3. i mentioned my first about how to create a WSDL file for sender....

4. For Receiver WSDL we dont want any URLs...

5. With the Help of Message Interface it will return Back the Responce....

6.After creating WSDL if u upload that into SOAP sonar you can able to see the URL and Structure...

7.Use pass the value along with user name and password it will send back the responce with the help of

2 mappings ....First the data goes to RFC...RFC gave the Responce data...it will get back and it will

Execute in the tool....

*Award Points Its Useful*

Regards,

Prakasu

Former Member
0 Kudos

but customer has already provide an WSDL to me.

rgds

Vinod

Former Member
0 Kudos

Vinod,

see ur scenario is a synchronous scenario.

just follow these following step

in IR

1)import the WSDL u got from client under externel defination.

2)create 1 message interface(there choose mode as synchronous and catagory as outbound)

i)in the output message choose the request message from Externel defination.

ii) in the input message choose response message from ED

3) ur RFC will act as a message interface in the inbound side.

4)create 2 message mapping,1 interface mapping

in ID

1)create Business system/service

2)create SOAP sender communcation channel

3)create RFC rcvr comm channel

5)create receiver determination.

6)create interface determination.

7)sender agreement and

8)rcvr agreement.

please revert back in case of any doubt...

Regards

Biplab

Former Member
0 Kudos

hello

let us consider example:

Webservice has request1 and response1

Bapi has request2 and response2

how to define the mesg interface, mesg mapping and interface mapping.

So that the ws input is mapped to bapi input and bapi out to ws output.

thanks

vinod

Former Member
0 Kudos

Hi Vinod,

The Simple way to do this is go to SPROXY Transaction in R/3 system and execute it.You need to provide the data to be passed.

For eg . if ur scenario is wsdl to file and u need to send say some employ no to the file.U need to provide the employ no in xml.

<empno>123</empno>.

2) you do not need any CC to be configured .you only need to configure the receiver CC.

The other way to call ws is using tools like altova,soap sonar etc.

***Allot points if useful.

Srini

Former Member
0 Kudos

Hi vinod,

i am little confuse about ur scenario.. in the subject line u have written the scenario is SOAP to RFC but it seams u want to consume a webservice...

anyway......

see the weblog for webservice to RFC.

https://www.sdn.sap.com/irj/sdn/weblogs?blog=/pub/wlg/2131 [original link is broken] [original link is broken] [original link is broken]

For testing any webservice u can use xml tools like

XML spy or SOAP ui.

here is the link for downloading soapui

http://sourceforge.net/projects/soapui/

Regards

Biplab

Former Member
0 Kudos

or SOAP see below links

/people/shabarish.vijayakumar/blog/2006/03/23/rfc--xi--webservice--a-complete-walkthrough-part-1

/people/shabarish.vijayakumar/blog/2006/03/28/rfc--xi--webservice--a-complete-walkthrough-part-2

https://www.sdn.sap.com/irj/servlet/prt/portal/prtroot/docs/library/uuid/befdeb90-0201-0010-059b-f22...

/people/padmankumar.sahoo/blog/2005/02/15/an-overview-of-soap

How to use SOAP adapter:

https://www.sdn.sap.com/irj/sdn/go/portal/prtroot/docs/library/uuid/40611dd6-e66e-2910-f383-e80fb44f...

RFC -> XI -> WebService - A Complete Walkthrough

/people/shabarish.vijayakumar/blog/2006/03/23/rfc--xi--webservice--a-complete-walkthrough-part-1

/people/shabarish.vijayakumar/blog/2006/03/28/rfc--xi--webservice--a-complete-walkthrough-part-2