cancel
Showing results for 
Search instead for 
Did you mean: 

Web Services in XI

Former Member
0 Kudos

Hi people!

I'm building some web services in XI, and now I'm trying to test them. In a VB.NET application I have already tested them and they are working ok.

Is there another way to test them? I found a page in the XI server http://host:javaport/wsnavigator/enterwsdl.html, called "web services navigator", that I think is exactly what I need... there is a list of web services there, but only strange web services. Those that I built are not there.

Any help?

Thank you!

roberti

Accepted Solutions (1)

Accepted Solutions (1)

Former Member
0 Kudos

Hi,

-I will only show you the available webservices deployed on the J2EE from the host your choose.

But if you now the URL on which the webservice is 'listening' on the webservice provider host , you can enter it in the edit box on that page and choose next

-Also if you say you build some webservices in XI, what do you mean ? You exposed some inbound interfaces as web services over XI ? Or other scenario ?

regards

Dirk

Former Member
0 Kudos

Hi Dirk,

That's exactly what I'm searching for... the wsdl from the listening URL.

Most of the development plataforms publish the service description (wsdl) on the same url as the service, only adding a "?wsdl" to the address. But with XI it does not work. When publishing the web service we can save de wsdl, only this. Accessing the web service directly by its url on webservice navigator does not work because it needs the wsdl url... and I have tried many different alternatives, all of them didn't work.

Probably there is another form to test web services in xi...

About the scenario, we will integrate our legacy applications to SAP only using web services, inbound and outbound interfaces.

thanks!

roberti

Former Member
0 Kudos

Hi Robert,

I wanted to know where exactly the webservice provider is running ?

Is it on the XI itself ? ( e.g. did you create it in SE80 and then published it to the SICF )

Or did you e.g. expose a R/3 BAPI as a webservice through XI ?

Dirk

Former Member
0 Kudos

Hi Robert

What about transactions wsconfig / wsadmin on the sap host that runs the webservice ?

( as I assume that you made some R/3 functions available as web services )

regards

Dirk

Former Member
0 Kudos

Dirk,

I really don't know were exactly it is running. I thought it would be in the integration server... I'm creating them in Integration Directory, tools, define web service... Then I put there the url

http://host:javaport/XISOAPAdapter/MessageServlet?channel=:businessSystem:comunicationChannel

Then I select the message interface from the Integration Repository, next, next, finish. Then the wsdl is been created (I must to save it to my desktop), and into the wsdl there is a soap tag "address location", with the content

http://host:javaport/XISOAPAdapter/MessageServlet?channel=:teste:MetricsReport&version=3.0&S...&Interface=%5E*

In VB.NET, I reference the wsdl file, and the data types needed to comunicate with the web service are auto generated based on the wsdl definitions. Then I create a credential, give it to the service, give the parameters to the service and receive the message response.

roberti

Former Member
0 Kudos

Hi Roberti,

OK , your issue is much clearer now.

The 'issue' is that you are not really running a webservice on the XI ( from a server point of view ) but you actually have published another interface as a webservice so that a webservice client ( test ) tool doesn't see a difference.

XI will receive the soap request in the soap adapter and a route/map it to the final receiver / server. But if this is e.g. a RFC BAPI , you are not running a webservice anywhere ! ( in theory this could be 'real' webservice as well but probably not in your case )

Technically you are not running a webservice on the XI J2EE ( listening for client SOAP requests ) so you will not see it in the webservicenavigator, but you are running the XI SOAP adapter that listens for SOAP requests. And apparently, the XI SOAP adapter doesn't support the typical '?wsdl' functionality which you would have if you were running a real web service.

So in order to 'test' your interface ( not webservice ) , you need to have a SOAP client that can submit the SOAP request to XI. As I understood , you already have done that from VB. SO if your VB SOAP client received a correct response from the interface, you already tested your interface. Other test clients will not add anything to that.

Hope it helps,

regard

Dirk

Former Member
0 Kudos

Ok,

I understood about that it is not "exactly" a web service in XI, and as so it could not be tested as a web service.

So, I have another question about it: is there a way to get the wsdl from a published "web service" in XI? When I go to "define web service", in integration directory, I can save de generated wsdl. In this case, I need this wsdl file to use in the client application.

It would be better to the client application to get the wsdl directly from the server (otherwise I will need to keep a parallel wsdl repository). Is there a way to do this?

Thanks!!!

roberti

bhavesh_kantilal
Active Contributor
0 Kudos

Hi,

><i>It would be better to the client application to get the wsdl directly from the server (otherwise I will need to keep a parallel wsdl repository). Is there a way to do this?</i>

This blog by naveen addresses your actual requirement,

/people/sap.user72/blog/2005/11/17/xi-how-to-publish-wsdl-generated-from-xi-to-uddi

Regards,

Bhavesh

Former Member
0 Kudos

Hi Bhavesh,

Very helpful link! Thanks!

roberti!

Answers (1)

Answers (1)

Former Member
0 Kudos

Hi,

You can test the webservices in the following tools

capture the wsdl and then test in the following

XMLSpy and SOAPSONAR

Amaresh

Former Member
0 Kudos

Hi Amaresh,

I got the trial version of XMLSpy and I'm trying (as your suggestion) to use it to test the web services published in XI. Have you already done it? I couldn't find a way to test a web service with it. I have the wsdl file from the service. If you could help me with it, please.

thanks!

roberti

Former Member
0 Kudos

Hi Roberti,

Did you find it ? I seem to remember ( but 6months ago and trial expired..) that there was a top menu 'SOAP' from which you could select something like 'Generate client soap request' . I believe the WSDL file had to be the active file in the work area at that moment

From the other link, you can find a workaround to to publish the wsdl to a UDDI server

rgds

Dirk

Former Member
0 Kudos

I have the trial, but I have found nothing about soap in it.

Talking with a friend we thought it is a trial version limitation.

I've tried using WS Developer Studio, but it is not working well... sometimes it works, sometimes it crashes

If some of you have another simple tool to test web services from a wsdl, it will be helpful

thanks!

roberti

Former Member
0 Kudos

Hi Roberti,

I used the full suite but not sure it it would make a difference. You did register for a trial license ?

I didn't find any other free simple soap client test tool sofar neither.

But if you can have the wsdl available at a http destination that can be reached by a sap J2EE host ( either deploy it on the host itself as illustrated by the indicated weblog from above, or , as I did, by simply copying it to my local PC web server ), you can use the wsnavigator tool to test your webservice also ! Just add the URL to the wsdl there and it worked !

Try it and let us know

regards

Dirk

Former Member
0 Kudos

Well, I search all the menus and didn't find anything related (even with the wsdl file opened).

I was thinking exactly on this, to try to put the wsdl in the UDDI and test using wsnavigator to test it. I ask basis people to set up the UDDI server, and I think it will work.

thank you very much!

cheers!

roberti