Combine web services into one WSDL

Hi All,

How do we combine more than one web service (SOAP-MSG) into one WSDL file? What are procedures/tools that can be used? OR Do we have to do it manually? If so how? I have couple of web services that I wanted to bundle them into one WSDL file and distribute to other consumers.

Any ideas appreciated.

Thanks in advance.
Gany

The ability to generate WSDL’s that describe multiple web service operations was requested 2-3 years ago, but is not yet in the product. A new web service descriptor node will be added in IS 7.1 (targeted for Summer 2007) that should address this.

Your only option (and actually not a bad one) is to use a tool such as XML Spy Enterprise Edition to create your WSDL. Other tools such as those in the Eclipse web development toolkit are also options.

Finally, a popular design and development approach for web services is called “WSDL first” in which the interface description is created before the services are coded. This allows proper emphasis on good XML schema design and good message design without undue influence by the physical implementation. After getting an early preview last year of the new web services descriptor node functionality, I requested that the design be modified to better support WSDL-first and from some slides that I saw at last year’s Integration World, I think it will be.

HTH,

Mark

Thanks Mark !

Actually, I need to merge WSDL files created for web services in webMethods. I created WSDLs with wizard and manually combined them. I tried with Muse (wsdlmerge) but it’s assigning it’s own prefix etc., I did not feel comfortble. I wish webMethods comes up with an option generating WSDL file with multiple operations.

Thanks,
Gany

Apache MUSE WSDLmerge tool looks interesting. Here’s some usage information:

Mark,

That’s the tool I tried. Yes it merged wsdls. But it assigned it’s own prefix and some namespaces. I did not get a chance to verify completely but, It changed my original namespaces to something else. Probably, there might be some other options to retain my namespaces. I need to take a close look at it…

<?xml version="1.0" encoding="UTF-8"?>

<wsdl:definitions
targetNamespace=“[URL=“http://www.abc.com/xyz/”]http://www.abc.com/xyz/[/URL]
xmlns:pfx0=“[URL=“http://www.abc.com/xyz/”]http://www.abc.com/xyz/[/URL]
xmlns:pfx1=“[URL=“http://docs.oasis-open.org/wsrf/rp-2”]http://docs.oasis-open.org/wsrf/rp-2[/URL]
xmlns:pfx2=“[URL=“WS-Addressing 1.0 Namespace”]http://www.w3.org/2005/08/addressing[/URL]
xmlns:pfx3=“[URL=“http://schemas.xmlsoap.org/soap/http”]http://schemas.xmlsoap.org/soap/http[/URL]”[COLOR=#ff0000][COLOR=#ff0000]
xmlns:wsdl="[URL=“http://schemas.xmlsoap.org/wsdl/”]http://schemas.xmlsoap.org/wsdl/[/color][/URL][COLOR=black]" >

[/COLOR]
[/COLOR]Thanks,
Gany

Hi,

I am not able to download the latest zip for Muse. http://www.apache.org/dist/ws/muse/2.2.0/bin/ when I download the zip and try to unzip it, it gives an error - Error with the file.

Rgds,
Sandeep

Sorry, wMUsers is not the support forum for Muse. You’ll need to read up on the current state of that project and post a message on one of their forums.

Mark

Sorry about that, but I just want to know how to combine two WSDls as one (by combining operations)? That is apart from using MUSE?

Rgds,
Sandeep

You would need to use a WSDL editor such as XML Spy Enterprise or the Eclipse WSDL Editor that is part of the Web Development Toolkit (WDT).

Obviously, it will help if you understand how WSDL works. Thomas Erl’s SOA Concepts book is a good place to start for that objective.

Mark