Tutorial de XML

XML INÍCIO Introdução ao XML XML Como usar Árvore XML Sintaxe XML Elementos XML Atributos XML Namespaces XML Exibição XML XML HttpRequest Analisador de XML XML DOM XML XPath XML XSLT XML XQuery XML XLink Validador de XML XML DTD Esquema XML Servidor XML Exemplos XML Teste de XML Certificado XML

XML AJAX

Introdução AJAX AJAX XML Http Solicitação AJAX Resposta AJAX Arquivo XML AJAX PHP AJAX ASP AJAX Banco de dados AJAX Aplicativos AJAX Exemplos AJAX

XML DOM

Introdução ao DOM Nós DOM Acesso ao DOM Informações do nó DOM Lista de nós DOM Travessia do DOM Navegação DOM Valores de obtenção do DOM Nós de alteração do DOM Remoção de nós do DOM Substituir nós DOM DOM Criar nós DOM Adicionar nós Nós clones DOM Exemplos de DOM

Tutorial XPath

Introdução ao XPath Nós XPath Sintaxe XPath Eixos XPath Operadores XPath Exemplos de XPath

Tutorial XSLT

Introdução ao XSLT Idiomas XSL Transformação XSLT XSLT <modelo> XSLT <valor-de> XSLT <para-cada> XSLT <classificar> XSLT <if> XSLT <escolha> Aplicar XSLT XSLT no cliente XSLT no servidor XSLT Editar XML Exemplos de XSLT

Tutorial XQuery

Introdução ao XQuery Exemplo de XQuery XQuery FLWOR XQuery HTML Termos de XQuery Sintaxe XQuery Adicionar XQuery Seleção de XQuery Funções XQuery

XML DTD

Introdução DTD Blocos de construção de DTD Elementos DTD Atributos DTD Elementos DTD vs Attr Entidades DTD Exemplos de DTD

Esquema XSD

Introdução ao XSD XSD Como fazer XSD <esquema> Elementos XSD Atributos XSD Restrições XSD

Complexo XSD

Elementos XSD XSD vazio Apenas elementos XSD Somente texto XSD XSD Misto Indicadores XSD XSD <qualquer> XSD <qualquer atributo> Substituição XSD Exemplo de XSD

Dados XSD

Cadeia XSD Data XSD XSD Numérico XSD Misc Referência XSD

Serviços da Web

Serviços XML XML WSDL XML SOAP XML RDF XML RSS

Referências

Tipos de nós DOM Nó DOM Lista de nós DOM DOM NamedNodeMap Documento DOM Elemento DOM Atributo DOM Texto DOM DOM CDATA Comentário DOM DOM XMLHttpRequest Analisador de DOM Elementos XSLT Funções XSLT/XPath

Serviços Web XML


Os serviços da Web são componentes de aplicativos da Web.

Os serviços da Web podem ser publicados, encontrados e usados ​​na Web.

Este tutorial apresenta WSDL, SOAP, RDF e RSS.


WSDL

  • WSDL significa Web Services Description Language
  • WSDL é uma linguagem baseada em XML para descrever serviços da Web.
  • WSDL é uma recomendação do W3C

SABÃO

  • SOAP significa Simple Object Access Protocol
  • SOAP é um protocolo baseado em XML para acessar Web Services.
  • SOAP é baseado em XML
  • SOAP é uma recomendação do W3C

RDF

  • RDF significa Resource Description Framework
  • RDF é um framework para descrever recursos na web
  • RDF é escrito em XML
  • RDF é uma recomendação do W3C

RSS

  • RSS significa Really Simple Syndication
  • RSS permite que você distribua o conteúdo do seu site
  • RSS define uma maneira fácil de compartilhar e visualizar manchetes e conteúdo
  • Os arquivos RSS podem ser atualizados automaticamente
  • RSS permite visualizações personalizadas para diferentes sites
  • RSS é escrito em XML

O que você já deve saber

Antes de estudar serviços da Web, você deve ter um entendimento básico de XML e namespaces XML.

Se você quiser estudar esses assuntos primeiro, leia nosso Tutorial de XML .



Serviços web

  • Os serviços da Web são componentes de aplicativos
  • Os serviços da Web se comunicam usando protocolos abertos
  • Os serviços da Web são autocontidos e autodescritivos
  • Os serviços da Web podem ser descobertos usando UDDI
  • Os serviços da Web podem ser usados ​​por outros aplicativos
  • HTTP e XML são a base para serviços da Web

A interoperabilidade tem a maior prioridade

Quando todas as principais plataformas podiam acessar a Web usando navegadores da Web, plataformas diferentes não podiam interagir. Para que essas plataformas funcionem juntas, foram desenvolvidos aplicativos Web.

Os aplicativos da Web são simplesmente aplicativos executados na Web. Eles são construídos em torno dos padrões de navegador da Web e podem ser usados ​​por qualquer navegador em qualquer plataforma.


Os serviços da Web levam os aplicativos da Web para o próximo nível

Usando serviços da Web, seu aplicativo pode publicar sua função ou mensagem para o resto do mundo.

Os serviços da Web usam XML para codificar e decodificar dados e SOAP para transportá-los (usando protocolos abertos).

Com os serviços da Web, o sistema de faturamento do servidor Win 2k do seu departamento de contabilidade pode se conectar ao servidor UNIX do seu fornecedor de TI.


Os serviços da Web têm dois tipos de uso

Componentes de aplicativos reutilizáveis.

Há coisas que os aplicativos precisam com muita frequência. Então, por que fazer isso de novo e de novo?

Os serviços da Web podem oferecer componentes de aplicativos como: conversão de moeda, boletins meteorológicos ou até mesmo tradução de idiomas como serviços.

Conecte o software existente.

Os serviços da Web podem ajudar a resolver o problema de interoperabilidade fornecendo a diferentes aplicativos uma maneira de vincular seus dados.

Com os serviços da Web, você pode trocar dados entre diferentes aplicativos e diferentes plataformas.

Qualquer aplicativo pode ter um componente Web Service.

Web Services podem ser criados independentemente da linguagem de programação.


Um exemplo de serviço da Web

No exemplo a seguir, usaremos ASP.NET para criar um Web Service simples que converte a temperatura de Fahrenheit para Celsius e vice-versa:

<%@ WebService Language="VBScript" Class="TempConvert" %>

Imports System
Imports System.Web.Services

Public Class TempConvert :Inherits WebService

<WebMethod()> Public Function FahrenheitToCelsius(ByVal Fahrenheit As String) As String
  dim fahr
  fahr=trim(replace(Fahrenheit,",","."))
  if fahr="" or IsNumeric(fahr)=false then return "Error"
  return ((((fahr) - 32) / 9) * 5)
end function

<WebMethod()> Public Function CelsiusToFahrenheit(ByVal Celsius As String) As String
  dim cel
  cel=trim(replace(Celsius,",","."))
  if cel="" or IsNumeric(cel)=false then return "Error"
  return ((((cel) * 9) / 5) + 32)
end function

end class

Este documento é salvo como um arquivo .asmx. Esta é a extensão de arquivo ASP.NET para XML Web Services.


Exemplo explicado

Observação: para executar este exemplo, você precisará de um servidor .NET.

A primeira linha do exemplo informa que este é um Web Service, escrito em VBScript, e tem o nome de classe "TempConvert":

<%@ WebService Language="VBScript" Class="TempConvert" %>

As próximas linhas importam o namespace "System.Web.Services" do .NET framework:

Imports System
Imports System.Web.Services

A próxima linha define que a classe "TempConvert" é um tipo de classe WebService:

Public Class TempConvert :Inherits WebService

Os próximos passos são a programação básica do VB. Este aplicativo tem duas funções. Um para converter de Fahrenheit para Celsius e outro para converter de Celsius para Fahrenheit.

A única diferença de um aplicativo normal é que esta função é definida como um "WebMethod()".

Use "WebMethod()" para converter as funções em seu aplicativo em serviços da web:

<WebMethod()> Public Function FahrenheitToCelsius(ByVal Fahrenheit As String) As String
  dim fahr
  fahr=trim(replace(Fahrenheit,",","."))
  if fahr="" or IsNumeric(fahr)=false then return "Error"
  return ((((fahr) - 32) / 9) * 5)
end function

<WebMethod()> Public Function CelsiusToFahrenheit(ByVal Celsius As String) As String
  dim cel
  cel=trim(replace(Celsius,",","."))
  if cel="" or IsNumeric(cel)=false then return "Error"
  return ((((cel) * 9) / 5) + 32)
end function

Em seguida, finalize a aula:

end class

Publique o arquivo .asmx em um servidor com suporte .NET e você terá seu primeiro serviço Web funcionando.


Coloque o serviço da Web em seu site

Usando um formulário e o método HTTP POST, você pode colocar o web service em seu site, assim:

Fahrenheit para Celsius:

Celsius para Fahrenheit:

Como fazer isso

Aqui está o código para adicionar o Web Service a uma página da web:

<form action='tempconvert.asmx/FahrenheitToCelsius'
method="post" target="_blank">
<table>
  <tr>
    <td>Fahrenheit to Celsius:</td>
    <td>
    <input class="frmInput" type="text" size="30" name="Fahrenheit">
    </td>
  </tr>
  <tr>
    <td></td>
    <td align="right">
     <input type="submit" value="Submit" class="button">
     </td>
  </tr>
</table>
</form>

<form action='tempconvert.asmx/CelsiusToFahrenheit'
method="post" target="_blank">
<table>
  <tr>
    <td>Celsius to Fahrenheit:</td>
    <td>
    <input class="frmInput" type="text" size="30" name="Celsius">
    </td>
  </tr>
  <tr>
    <td></td>
    <td align="right">
    <input type="submit" value="Submit" class="button">
    </td>
  </tr>
</table>
</form>

Substitua o "tempconvert.asmx" pelo endereço do seu serviço da web como:

http://www.example.com/xml/tempconvert.asmx