- This topic has 4 replies, 2 voices, and was last updated 13 years, 11 months ago by Brian Fernandes.
-
AuthorPosts
-
Andrew BondMemberIn a web service and/or web service client.
If I need to make a change to the server’s wsdl, how do I update the client and server projects to reflect this change? I have tried many times, and the only way I can do this currently is to rebuild the entire web service project / client from scratch. There must be an easier way to do it?
If I add web service and/or web service client to a project, I get a wizard that steps through the process of making changes to the project. Is there anyway to undo/redo this? I don’t see any way to ‘remove web service’ from a project. Is this possible?
Also, in general, how can you determine the WSDL URL from a myeclipse web project? I don’t see it anywhere in the project properties or configuration.
Also, I recently created a web service client based on a WSDL file for a web service that someone else created. Everything seemed to go through OK, but I find that the Delegate class was not created. How can I troubleshoot this issue? Can you provide a more detailed description of how myeclipseide creates a web service client? What is the architecture? There seems to be little/no detailed documentation on this other than a very brief tutorial:
http://www.myeclipseide.com/documentation/quickstarts/webservices_jaxws/Thanks,
Andrew Bond.Thanks,
Andrew.
Brian FernandesModerator1) If you change your WSDL you do need to regenerate the service or the client, but you do not need to create a new project – you can regenerate into the existing project – are you having problems doing this?
While client code that is generated is usually separate from the code that you write to invoke the client – you will need to re-integrate your existing implementation with the fresh implementation code generated. We will look into how a merging step can be put in for service generation – I’ll file this as an enhancement request.
2) Web service projects (for JAX-WS developed services) are regular web projects and client projects can be regular Java projects too – there isn’t a strict / formal association with a WSDL and the project as there isn’t much to be gained from such an association. A single client project could connect to several services and a single service project could actually host more than one web service.
3) Delegates are required for bottom up services, which are generated from Java classes. Top down services do not require or generate a delegate class.
Please let me know if you have further questions.
Andrew BondMemberHi Brian,
Thanks for your response. However, your answer is still unclear.
If I have a ‘bottom-up’ web service, and I modify the class used to generate the web service how (exactly) should the project be ‘regenerated’??
When I generated the Web Service initially, I clicked the: “New Web Service toolbar button”. Should I do this again? There seems to be no “Update Service toolbar button”?? What is the correct procedure the update a web service after the base class has changed. Simply saying ‘Regenerate the existing project’ is not helpful. I have no idea what you mean by this. Can you outline the exact steps to update a web project in this case?
Thanks,
Andrew.
Andrew BondMemberHi Brian,
Similar to my previous response, if I have a web service client that was generated from a WSDL, what is the procedure to update the client after the WSDL has changed?
Can you outline the steps to do this from the MyEclipseIDE User interface?
Thanks,
Andrew.
Brian FernandesModeratorAndrew,
1) Service:
When I generated the Web Service initially, I clicked the: “New Web Service toolbar button”. Should I do this again?
Yes. I did not say ‘Regenerate the existing project’, but “regenerate into the existing project”. In your initial question you stated that you needed to re-create the entire project from scratch. I am clarifying that you do not need to re-create the project; just do exactly what you did after you created the project to generate the web service and point the wizard to your existing project.
2) Client:
As above. Do whatever you did to generate the client after creating the project that you placed the client in. For instance, right click the WSDL file > MyEclipse > New Web Service client. The wizard will ask you to select a project, at which point you can select the project you already have.I realize that you are looking for an “update” action and the “new” convey a different meaning. When generating into an existing project, the wizard will warn you that some files will be overwritten. In most cases, you will simply accept the freshly generated code which will reflect the latest state of your WSDL. There are situations where a merge instead of an overwrite would be preferred – (so that your existing implementation of the service is not overwritten) and I have filed an enhancement / research request to see if we can achieve something more efficient.
Please let me know if you require further clarification.
-
AuthorPosts