Retrieve a WSDL from a deployed service without develoment

A few weeks ago we published a post about how to retrieve a WSDL from a deployed service using the activity Retrieve Resource that we have in our SOAP palette in the TIBCO BW installation, but in the comments of that post, as you can check from here, one of our readers, Quin, who I want to thank publicly again that spent his time sharing his knowledge with us, do a very interesent comment I want to reproduce here, and share with all of you:

Quinn

This can actually be duplicated within the Advanced Tab on the par file configuration using:
bw.platform.services.retreiveresources.Enabled
bw.platform.services.retreiveresources.Hostname
bw.platform.services.retreiveresources.Httpport

without any need for new processes

So, we are going to try what Quinn are suggested and this would be a important approach for you, because you won’t need to do any extra development to have your WSDL available.

We are going to start from the process we discuss in the previous post, because is an appropiated service to do this kind of test. So the first thing we have to do is remove the extra development that we have made in the previous post and leave only the business service, as you can see here:

ORG

So the only thing you have to do is deploy the Enterprise Archive associated with this development, and in the configuration of the delpoyment, you have available the following properties as Quinn commented previously:

configuration

And now, you can reached the WSDL of the process in the following url, as you can see in the following image:

WSDL

Retrieving a WSDL from an Deployed Service

In this post we are going to discuss how to do to get the WSDL source from a deployed Web Service using the TIBCO BW technology. Usually when we build web service using other technologies like Java (Axis2, JAX-WS or something-related) automaticly we can access to the path http://paththatyouwant?wsdl and get the WSDL source of your service, but this is not happen in TIBCO BW by default.

If we deployed a service and we try to access it, we will get an 404 response from the server indicating that there’s nothing in that path so nothing can be returned to us:

NO_WSDL_SOURCE

 

So we need to do a little development and use the Retrieve Resources that we have in our TIBCO Soap palette so we can achieve this funcionality. We need to build a very simple BW Process that receive the HTTP request and use the Retrieve resource artifact to get the WSDL from it, simple like that, as you can see here:

RETRIEVE_WSDL_SOURCE

 

The configuration of the RetrieveResources is very easy as you can see here:

RETRIEVE_WSDL_SOURCE_2

So we only have to start this little process when we started the SOAP service, and we have everything working!

RETRIEVE_WSDL_SOURCE_3

 

As always we left the process example so you can take a deeper look of it: Download

I hope you can use these information in your new developments! See you in the next post!