Publish WSDL files using a URL

 

+

Search Tips   |   Advanced Search

 

Overview

Before you can publish a WSDL file using a URL, the Web services-enabled application should be installed and running.

The files referenced by the <wsdl-file> element in webservices.xml might import other WSDL or XSD files. Typically, all WSDL or XSD files are initially placed into...

META-INF/wsdl

...when using EJB or...

WEB-INF/wsdl

...when using Java beans.

If your WSDL or XSD files are not placed in one of these directories, the file referenced by <wsdl-file> and its imported files are copied to the wsdl directory for publishing purposes.

There are two different forms of URL query strings.

If a WSDL file contains only EJB bindings and the /wsdl query is used, an error message displays in the browser saying there are no HTTP or JMS bindings in the WSDL file. The error message suggests using the /extwsdl query instead.

Publishing a WSDL file using a URL requires that the application have a Web module either...

If an EJB application contains a WSDL file with only JMS or EJB Web service bindings, the endptEnabler command can be used to add an HTTP router module to the application.

Only HTTP URLs are supported for publishing.

To publish a WSDL file using a URL:

 

Procedure

  1. Retrieve the outer-most WSDL file. The outer-most WSDL file is the WSDL file defined by <wsdl-file> in webservices.xml.

    Each Web service has an endpoint address, like...

    http://localhost:9080/services/StockQuote

    You can retrieve the outer-most WSDL file, defined by <wsdl-file> within webservices.xml, by appending the string "/wsdl" or "/wsdl/" to the endpoint address, for example,

    http://localhost:9080/services/StockQuote/wsdl

  2. Retrieve the imported WSDL files.

    When the outer-most WSDL file imports other WSDL or XSD files, these imported files can be retrieved by appending the relative path to the URL, which is used to retrieve the outer-most WSDL file. This is also true for WSDL files that import other files. This process is similar to the use of relative hyperlinks in HTML documents. If an HTML document contains a hyperlink to other documents, the relative path is appended to create the URL to access the hyperlinked documents.

 

Example

Suppose you have an application with the following directory structure:

<module-root>/
    WEB-INF/
        webservices.xml         /* the <wsdl-file> element points to "WEB-INF/wsdl/fooImpl.wsdl"*/
        web.xml
        ibm-webservices-bnd.xml

        wsdl/
            fooImpl.wsdl        /* imports foo.wsdl which is an interface wsdl */
            foo.wsdl            /* type definition for the interface */

If the SOAP address for the foo service is...

http://examples.com:9080/services/foo

...the simple way to retrieve the foo service's outer-most WSDL is with the following form...

http://examples.com:9090/services/foo/wsdl

...or...

http://examples.com:9090/services/foo/wsdl/

The URL is redirected to...

http://examples.com:9090/services/foo/wsdl/fooImpl.wsdl

...where fooImpl.wsdl is the name of the outer-most WSDL file.

Since the fooImpl.wsdl file has the...

import <import namespace="http://examples.com/foo" location="a/b/foo.wsdl>

...use the URL...

http://examples.com:9090/services/foo/wsdl/a/b/foo.wsdl

...to obtain the foo.wsdl file.


Develop a WSDL file for JAX-RPC applications
Publish WSDL files using the console
Publish WSDL files using the wsadmin tool