cancel
Showing results for 
Search instead for 
Did you mean: 

wsdl to xi to proxy

Former Member
0 Kudos

Hello experts,

I have a scenario where i will be given a wsdl, that will be sent to XI and from there to proxy.

So from XI perspective, do i just add the wsdl as external definition , use the sender SOAP adapter and and XI adapter for proxy?

or do i have to genrate the wsdl file? from ID?...

since the wsdl is not hosted on XI, cai test the scenario using Altova?

Accepted Solutions (1)

Accepted Solutions (1)

MichalKrawczyk
Active Contributor
0 Kudos

Hi,

>>>So from XI perspective, do i just add the wsdl as external definition , use the sender SOAP adapter and and XI adapter for proxy?

no, it does not work this way

if you want to have a flow - SOAP - XI - Proxy

then you will be the one generating the WSDL

and not the other way round - at least in normal process

Regards,

Michal Krawczyk

Former Member
0 Kudos

Since i am already being provided a wsdl for the scenario, what is the best way out?

do I take the xsd and use the wizard in ID to generate and host a wsdl on XI?,

so the application or any SOAP client that triggers it will send SOAP data to XI and then it is mapped and sent to proxy?

please throw some light on this

Shabarish_Nair
Active Contributor
0 Kudos

you should get a good idea after going through this - /people/shabarish.vijayakumar/blog/2007/11/07/walkthrough--soap-xi-rfcbapi

Former Member
0 Kudos

Hey

When you have SOAP on the sender side,you need to generate WSDL file from Integration directory and give that to the sender system,this WSDL file will have URL for adapter engine of XI(sender SOAP communication channel).The sender system will post messages by using this WSDL file.

When you have SOAP on the receiver side,you don't need to generate WSDL file for that,you just need the URL for the receiver system and post messages to that URL.

The WSDL file you are currently getting from the sender system is mainly concerned with developing your data structure(data type,message type etc).it has nothing much to do with the SOAP URL or anything like that.

For your scenario,just import the WSDL file(which you are getting from sender system),this will act as your sender data type,then create a data type for receiver side.do the regular configuration in IR and ID and then generate a WSDL file in ID and provide this to the sender system.

Thanks

Aamir

Answers (3)

Answers (3)

Former Member
0 Kudos

hello Aamir,

The requirement is to have an update of the details in SAP, the same are already present in the legacy.

The legacy system has wsdl files which update the db in the legacy.

Now to have an update in SAP, the plan is to set up a receiever proxy to update the same,

But how do we set up this scenario?..

.we cannot use the same wsdl...

client application will have to use the new XI generated wsdl?..which will update SAP but not the client application...

Im wondering how i should go abt this?

former_member200962
Active Contributor
0 Kudos

when communicating with SAP through proxy you can develop as follows:

1) create a DT with fields which you want to update in SAP and a MT

2) Create Message Interface....Inbound Asynchronous

3) Activate all the objects in IR

4) Go to transaction SPROXY and you can see the Inbound MI under the particular namespace....then create the inbound proxy on this MI......if their is some other team handling the ABAP part then ask them to develop the proxy.

you will need a mapping here...so develop it accordingly in IR

In ID

create a business service for the sender application and include the OB Async MI from IR into this business service under the Sender tab.

make sure that you have the SAP system present under the Business system option. and your IN Async MI included here.

Then run the Configuration Wizard

Regards,

ABhishek.

Former Member
0 Kudos

Abhishek,

How do i set up the scenario...I mean i have a wsdl ther..i get the structure..but update will now be done only in SAP not the client application...

former_member200962
Active Contributor
0 Kudos

1) Since Some X application is sending you a message using SOAP adapter...getting their wsdl is of no use

2) You need to develop a DT, MT, MI (OB Async)......here you can refer the wsdl (refer means just visually refer)

3) For the SAP side...create another DT (if needed), MT, MI (IN, Async)....i mentioned if needed....because you have an option of of developing your DT mentioned in pt.2 in such a way that you can use it at the receiver side also.....this will save you from creating the mapping....

4) If DTs are different then create a Mapping in XI...and corresponding Interface Mapping.

Save and activate all the objects....This completes IR part....

Now ID:

here you will need below objects:

1) A sender agreement

2) Interface Determination

3) receiver determination

4) Sender SOAP Channel

5) Receiver Agreement

6) Receiver CC with adapter Type as XI

Save and activate....

Now when this is done we need to generate the wsdl file of this interface and give it to the Sender application....then it is their duty to include it in their coding ....

How to define webservice in ID...refer this blog...go to the TESTING section..it has the details:

/people/siva.maranani/blog/2005/09/03/invoke-webservices-using-sapxi

Regards,

Abhishek.

prasannakrishna_mynam
Contributor
0 Kudos

Hello Jayendra,

You have WSDL in External Definition, and created Outbound Message Interface of Async. Once you have finished with the IR part and ID part, you need to genarate WSDL from ID part, and provide the url

http://<host>:<port>/XISOAPAdapter/MessageServlet?channel=party:service:channel

once you have genarated the WSDL file, use AltovaSpy or SOAPGUI to send SOAP request using this.

in ID you need to configure SOAP Adapeter in Sender Communication channel and XI adapter in receiver communication channel. Hope i made it clear for you.

in IR you have inbound interface used to create Server Proxy.

Regards,

Prasanna

former_member200962
Active Contributor
0 Kudos

you need to develop a Message Interface in XI (OB, Async) and then using this MI build a wsdl file....provide this wsdl file to the sending application and ask them to include this in their coding.

wsdl generation should be the last task in XI development....as it has refernce to the Sender Business service(mandatory), Sender SOAP CC(optional) and other stuff.

On the receiver side create another MI (IN, Async) and create a proxy around this using transaction SPROXY

Regards,

Abhishek.