>> Tecnologia eletrônica >  >> Lar inteligente >> Vida Inteligente

Como importar XSD para WSDL


A linguagem de descrição de serviço da Web (WSDL) é um modelo e formato para descrever serviços da Web usando XML. Um consumidor pode localizar um serviço e executar suas operações. Esse processo pode ser automatizado usando as ferramentas de desenvolvimento mais comuns, permitindo a integração de aplicativos com pouco código produzido pelo desenvolvedor. WSDLs são um contrato entre o provedor de serviços e o consumidor; torna um serviço autodescritivo. WSDLs fornecem descrições de todas as operações públicas, tipos de dados para todas as mensagens de serviço, detalhes de ligação para o protocolo de transporte e informações de endereço de serviço. Um elemento "import" pode ser usado em um WSDL para importar WSDLs externos ou esquemas XML. A importação de itens externos é útil para permitir que o WSDL seja mais modular, reutilização de tipos de dados XML entre várias definições de serviço e suporte a várias versões de um esquema.

Etapa 1


Crie um novo arquivo em seu editor de texto ou XML. Se o editor suportar WSDLs, selecione WSDL como o tipo de arquivo. Se ele não suportar WSDLs, mas suportar XML, selecione XML como o tipo de arquivo. Se nem WSDLs nem XML forem suportados, selecione um tipo de arquivo de texto simples.

Etapa 2


Nomeie o arquivo com o nome que desejar e dê ao arquivo uma extensão ".wsdl". Por exemplo, o arquivo pode ser denominado "HelloWorld.wsdl."

Etapa 3


Crie um segundo novo arquivo em seu editor de texto ou XML. Se o editor suportar esquemas XML, selecione esquema XML ou XSD como o tipo de arquivo. Se ele não suportar esquemas XML, mas suportar arquivo XML, selecione XML como o tipo de arquivo. Se nenhum esquema XML ou XML for suportado, selecione um tipo de arquivo de texto simples.

Etapa 4


Nomeie o arquivo com o nome que desejar e dê ao arquivo uma extensão ".xsd". Por exemplo, o arquivo pode ser denominado "HelloWorld.xsd".

Etapa 5


Insira a seguinte marcação no arquivo de esquema XML que você criou:

http://www.w3.org/2001/ XMLSchema"> http://www.w3.org/2001/XMLSchema"/> xsd:seqüência

Isso define um esquema com o namespace "http://schemas.myorg.com/person/phone", que define um único tipo de dados "Telefone".

Etapa 6


Insira a seguinte marcação no arquivo WSDL que você criou:

http:// /schemas.myorg.com/wsdl/helloworld">

wsdl:documentation WSDL com um exemplo de importação

wsdl:types http://www.myorg.com/supporting /schemas/helloworld.xsd"/>
<xsd:schema xmlns:xsd="http://www.w3.org/2001/XMLSchema"
 targetNamespace="http://schemas.myorg.com/wsdl/helloworld">
 <xsd:element name="CallNumber" type="external:Phone"/> 
 <xsd:element name="HelloResponse" type="xsd:string"/> 
</xsd:schema>



http://www.w3.org/ns/wsdl/style/iri">

http://www.w3.org/2003/05/soap/bindings/HTTP/"> http://www.w3.org/2003/05/soap/mep/soap-response"/>

http://www.myorg.com/Service/Hello"/>



Essa marcação define um WSDL que importa um esquema XML externo chamado "helloworld.xsd" que contém o namespace "http://schemas.myorg.com/person/phone".

A instrução de importação no WSDL importa um namespace XML de um arquivo. O objetivo principal do elemento import é importar o namespace, não indicar onde as declarações no namespace podem ser encontradas. O elemento inclui o atributo opcional "schemaLocation". O atributo é opcional porque um namespace pode ser importado do mesmo arquivo ou registrado de outra forma. De acordo com a especificação WSDL, "schemaLoction" é apenas uma dica; um analisador XML é livre para ignorar o local. Se o analisador já souber sobre os tipos de esquema nesse namespace ou tiver outro mecanismo para localizá-los, ele não precisará usar o local. No entanto, em muitos casos, um namespace é importado sobre o qual o analisador XML não sabe nada, então o atributo "schemaLocation" se torna necessário, mas tecnicamente ainda é apenas uma dica.

Dica


Novas tecnologias, como troca de metadados, MEX, foram introduzidas para compartilhar informações sobre quais recursos um serviço suporta, mas esses padrões ainda não foram amplamente adotados.

Aviso


O suporte a WSDLs inclui e importações. Eles podem parecer semelhantes, mas se comportam de maneira diferente. Uma instrução de importação importa outro namespace. Uma instrução include importa declarações de tipo de dados XML para um namespace existente.