cancel
Showing results for 
Search instead for 
Did you mean: 

Web Services in XI

Former Member
0 Kudos
56

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

View Entire Topic
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!