Como importar a extensão XSD em WSDL

Escrito por jay rigsby | Traduzido por carlos nascimento
  • Compartilhar
  • Tweetar
  • Compartilhar
  • Pin
  • E-mail
Como importar a extensão XSD em WSDL
Entenda como usar as WSDLs (Photos.com/Photos.com/Getty Images)

A "Web service description language" (WSDL - Linguagem de descrição de serviços da internet) é um modelo e formato para descrever serviços da internet usando XML. Um consumidor consegue localizar um serviço e executar suas operações. Esse processo pode ser automatizado usando as ferramentas de desenvolvimento mais comuns, permitindo a integrações dos aplicativos com pouco necessidade de programação. As WSDLs são um contrato entre o provedor do serviço e o consumidor. Elas fazem com que o serviço se torne auto-descritivo e também geram descrições de todas as operações públicas, tipos de dados para todas as mensagens de serviço, detalhes de "binding" para o transporte de protocolos e informação sobre endereços de serviço. Um elemento "import" pode ser usado em um WSDL para importar WSDLs externos ou esquemas XML. Importar itens externo é útil por permitir que o WSDL seja mais modular, re-utilize os tipos de dados do XML entre múltiplas definições de serviços e dá suporte a muitas versões de um esquema.

Nível de dificuldade:
Moderadamente fácil

Outras pessoas estão lendo

O que você precisa?

  • Editor de texto ou XML

Lista completaMinimizar

Instruções

  1. 1

    Crie um arquivo novo no editor de texto ou XML. Se o editor suportar WSDLs, selecione essa extensão. Caso não, mas havendo o suporte para XML, selecione XLM como extensão. Se nenhuma das duas opções estiver disponível, selecione a extensão .txt.

  2. 2

    Coloque qualquer nome que desejar no arquivo e use a extensão ".wsdl". Por exemplo: "helloworld.wsdl".

  3. 3

    Crie um segundo arquivo no seu editor de texto ou XML. Se o editor suportar a linguagem "XML schemas", selecione-a ou a extensão XSD. Caso não, selecione XML. Se nenhum desses tipos for aceito, crie um .txt.

  4. 4

    Coloque qualquer nome que desejar no arquivo e use a extensão ".xsd". Por exemplo: "helloworld.xsd".

  5. 5

    Coloque as seguintes linhas no arquivo "XML schema" que você criou:

    <?xml version="1.0" ?> <xsd:schema targetNamespace="http://schemas.myorg.com/person/phone" xmlns:xsd="http://www.w3.org/2001/XMLSchema"> <xsd:import namespace="http://www.w3.org/2001/XMLSchema"/> <xsd:complexType name="Phone"> <xsd:sequence> <xsd:element name="areaCode" type="xsd:int"/> <xsd:element name="exchange" type="xsd:int"/> <xsd:element name="number" type="xsd:int"/> </xsd:sequence> </xsd:complexType> </xsd:schema>

    Isso define um esquema com o espaço de nomes "http://schemas.myorg.com/person/phone", que define um único tipo de dado: "Phone" (Telefone.)

  6. 6

    Coloque as seguintes linhas no arquivo WSDL que você criou:

    <?xml version="1.0"?> <wsdl:description xmlns:wsdl="http://www.w3.org/ns/wsdl" xmlns:wsoap= "http://www.w3.org/ns/wsdl/soap" xmlns:external="http://schemas.myorg.com/person/phone" xmlns:helloWorld="http://schemas.myorg.com/wsdl/helloworld" targetNamespace="http://schemas.myorg.com/wsdl/helloworld">

    <wsdl:documentation> WSDL with an import example </wsdl:documentation>

    <wsdl:types> <xs:import namespace="http://schemas.myorg.com/person/phone" schemaLocation= "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> </wsdl:types>

    <wsdl:interface name="helloInterface" > <wsdl:operation name="CallMe" pattern="http://www.w3.org/ns/wsdl/in-out" style="http://www.w3.org/ns/wsdl/style/iri"> <wsdl:input messageLabel="In" element="helloWorld:CallNumber" /> <wsdl:output messageLabel="Out" element="helloWorld:HelloResponse" /> </wsdl:operation> </wsdl:interface>

    <wsdl:binding name="helloBinding" interface="hy:helloInterface" type="http://www.w3.org/ns/wsdl/soap" wsoap:protocol="http://www.w3.org/2003/05/soap/bindings/HTTP/"> <wsdl:operation ref="hy:Hello" wsoap:mep="http://www.w3.org/2003/05/soap/mep/soap-response"/> </wsdl:binding>

    <wsdl:service name="helloService" interface="hy:helloInterface"> <wsdl:endpoint name="helloEndpoint" binding="hy:helloBinding" address="http://www.myorg.com/Service/Hello"/> </wsdl:service>

    Essas linhas definem um WSDL que importa um esquema de XML externo chamado "helloworld.xsd" que contém o espaço de nomes "http://schemas.myorg.com/person/phone."

    A declaração de importação no WSDL importa um espaço de nomes XML de um arquivo. O propósito primário do elemento "import" é o de trazer o espaço de nomes, não o de indicar onde as declarações no espaço de nomes podem ser encontradas. O elemento inclui o atributo opcional "schemaLocation". Ele é opcional porque um espaço de nomes pode ser importado do mesmo arquivo ou ser registrado em outro caminho. De acordo com a especificação WSDL, "schemaLoction" é apenas uma indicação; um interpretador de XML tem liberdade para ignorar a localização. Se o interpretador já conhece os tipos de esquema no espaço de nomes ou tem outro mecanismo para encontrá-los, não é necessário usar a localização. Contudo, em muitos um espaço de nomes importado é desconhecido pelo interpretador, então o atributo "schemaLocation" se torna necessário, mas tecnicamente é ainda uma indicação.

Dicas & Advertências

  • Novas tecnologias como a troca de metadata, MEX, foram usadas para compartilhar dados sobre quais capacidades um serviço suporta, mas esses padrões não foram amplamente adotados.
  • O suporte às WSDLs inclui e importa. Isso pode soar familiar, mas são ações que se comportam de formas diferentes. Uma ação de "import" importa outro espaço de nome. Uma ação de "include" importa as declarações XML em um espaço de nome já existente.

Não perca

Filtro:
  • Geral
  • Artigos
  • Slides
  • Vídeos
Mostrar:
  • Mais relevantes
  • Mais lidos
  • Mais recentes

Nenhum artigo disponível

Nenhum slide disponível

Nenhum vídeo disponível