Publicando Arquivos WSDL Utilizando um URL

É possível publicar um arquivo WSDL (Web Services Description Language) utilizando uma URL.

Antes de Iniciar

Antes de publicar um arquivo WSDL utilizando uma URL, certifique-se de que o aplicativo ativado para serviços da Web esteja instalado e executando.

Os arquivos referidos pelo elemento <wsdl-file> no webservices.xml podem importar outros arquivos WSDL ou XSD (XML Schema Definition). Em geral, todos os arquivos WSDL e XSD são colocados inicialmente no diretório META-INF/wsdl ao utilizar o EJB (Enterprise JavaBeans) ou no diretório WEB-INF/wsdl ao utilizar Java™. Se os arquivos WSDL ou XSD não forem colocados em um desses diretórios, o arquivo referido pelo <wsdl-file> e seus arquivos importados serão copiados para o diretório wsdl para fins de publicação.

Há dois formatos diferentes de cadeias de consulta da URL. O primeiro anexa /wsdl ao serviço e retorna somente ligações HTTP e JMS. O segundo anexa /extwsdl ao serviço e retorna o arquivo WSDL estendido, incluindo ligações HTTP, JMS e EJB. Se um arquivo WSDL contiver somente ligações EJB e a consulta /wsdl for utilizada, uma mensagem de erro será exibida no navegador, indicando que não há ligações HTTP ou JMS no arquivo WSDL. A mensagem de erro sugere a utilização da consulta /extwsdl. Para publicar um arquivo WSDL utilizando uma URL é necessário que o aplicativo tenha um módulo da Web; ou fornecido pelo aplicativo ou na forma de um módulo roteador HTTP. Se um aplicativo EJB contiver um arquivo WSDL com somente ligações de serviços da Web JMS ou EJB, o comando endptEnabler poderá ser utilizado para incluir um módulo roteador HTTP no aplicativo.

Nota: Somente URLs HTTP são suportados para publicação.

Sobre Esta Tarefa

Para publicar um arquivo WSDL utilizando um URL:

Procedimento

  1. Recupere o arquivo WSDL mais externo. O arquivo WSDL mais externo é o arquivo WSDL definido no elemento <wsdl-file> no arquivo webservices.xml.

    Cada serviço da Web tem um endereço de terminal, como http://example.com/services/stockquote. É possível recuperar o arquivo WSDL mais externo (definido pelo elemento <wsdl-file> no arquivo webservices.xml) anexando a sequência "/wsdl" ou "/wsdl/" ao endereço do terminal, por exemplo, http://example.com/services/stockquote/wsdl.

  2. Recupere os arquivos WSDL importados. Quando o arquivo WSDL mais externo importa outros arquivos WSDL ou XSD, esses arquivos importados podem ser recuperados anexando o caminho relativo ao URL, que é utilizado para recuperar o arquivo WSDL mais externo. Isto também é verdadeiro para arquivos WSDL que importam outros arquivos. Esse processo é semelhante à utilização de hiperlinks relativos em documentos HTML. Se um documento HTML contiver um hiperlink para outros documentos, o caminho relativo é anexado para criar o URL para acessar os documentos apontados pelo hiperlink.

Exemplo

Suponha que você tenha um aplicativo com a seguinte estrutura de diretórios:
<module-root>/
	WEB-INF/
		webservices.xml    /* o elemento <wsdl-file> aponta para "WEB-INF/wsdl/fooImpl.wsdl"*/
		web.xml
		ibm-webservices-bnd.xml

		wsdl/
			fooImpl.wsdl   /* importa foo.wsdl que é um wsdl de interface */
			foo.wsdl /* definição de tipo para a interface */

Se o endereço SOAP para o serviço foo for http://examples.com:9080/services/foo, a maneira simples de recuperar o WSDL mais externo do serviço foo é com o seguinte formato: http://examples.com:9090/services/foo/wsdl ou http://examples.com:9090/services/foo/wsdl/. A URL é redirecionada para http://examples.com:9090/services/foo/wsdl/fooImpl.wsdl, em que fooImpl.wsdl é o nome do arquivo WSDL mais externo.

Como o arquivo fooImpl.wsdl tem a importação <import namespace="http://examples.com/foo" location="a/b/foo.wsdl>, utilize a URL http://examples.com:9090/services/foo/wsdl/a/b/foo.wsdl para obter o arquivo foo.wsdl.


Ícone que indica o tipo de tópico Tópico de Tarefa



Ícone de registro de data e hora Última atualização: last_date
http://www14.software.ibm.com/webapp/wsbroker/redirect?version=cord&product=was-nd-mp&topic=twbs_urlwsdl
Nome do arquivo: twbs_urlwsdl.html