Hello, I am running the following versions of web services which have been running well for the past three years so I have not had to touch it: * Tomcat - V 4.1.28 * Catalina - V 4.1.25 * Axis - V 1.1 * Apache-SSL - V 1.3.27/1.48 Now I need to update the web services with a new WSDL. The programs have some custom code because this system is acting as an interface between two different applications. The question, what is the best strategy to use to use the new WSDL? I would assume the using the WSDL2Java function to create the new stubs and retrofitting the custom code would work but is there a better, easier, more efficient way to handle this?
Thanks in advance for any hints/tips that you may provide.
Easier? Unlikely. However there can be some issues.
Are your service implementation (in your case the conversions and customizations necessary to call the "application" and return the result) and web service interface segregated from one another? If not, now would be a good time to perform that separation. It will make the transition to the new interface much easier.
Do you need to support new and old clients at the same time? If yes, upgrade the service implementation after you performed the segregation. Then use wsdl-to-java to generate the new web service interface classes and add the glue code to use the updated service implementation. Deploy the new endpoint/WSDL to a different URL. While it is theoretically possible to support two versions of an API at the same URL, it isn't something that is easily supported by most web service toolkits. That was a more common tactic when people were still hand-coding endpoints (see Web Service Broker).
Thank you for the reply and kind words, this is an interesting place.
You certainly provide very helpful suggestions that I will need to ponder deeply. If I understand what you mean by "Are your service implementation (in your case the conversions and customizations necessary to call the "application" and return the result) and web service interface segregated from one another?" then the answer is no but would be a very good thing to do. The system was created by others and all I have done over the years is to make sure it keeps running and make a few minor adjustments along the way. I have never created a web services application on my own before. I had hoped this would allow me to expand my knowledge but time is getting short. I have been trying to locate someone (a consultant) to mentor me through the conversion but have not located anyone yet. If you know of someone who might be available, Please pass along my information to them or provide some way that I may contact them.
The process I need to change is pretty straight forward as one application on server A is prompted by a user to send information to an external server . Server A submits the information to the server that needs to be changed where the data is reformatted and encrypted to be sent to the external server. The major change is I will no longer send a url for attachments to the external server but will push the attachments with the submittal as a bolb.
Thanks again for the reply and please let me know if you know of anyone that could mentor me in this conversion.
Joined: Nov 21, 2007
A correction on what I previously stated, the service implementation and the service interface ARE indeed segregated. I finally figured out how to use WSDL2java without destroying the existing application. I think the best thing to do is to create a new endpoint/WSDL to a different URL.