Upload
ngophuc
View
214
Download
0
Embed Size (px)
Citation preview
1
Web services
Ângelo Vimeney
Rafael Martinelli
Apresentação
Introdução
HTTP
XML
WSDL
SOAP
UDDI
USIP
Compilação
Conclusão
Protocolos base para a Web services
Web servicesWeb services
Web servicesWeb services Web servicesWeb services
www.comidas.com.br
www.veiculos.com.br
www.dentista.org
www.algoritmos.com.br
www.campeonatos.com.br
www.animais.com.br
www.something.com.br
abacateabacaxiabelhaabóborabacalhaubarcosbeterrababeringeladentedordiferencial...tartarugawatchxadrezxeroxyetzebra
??? ?
xadrez
asdfkljdfkjsdfsdfjsdfkfsdfjsdfkjfsdfjkasdkfladsdfd dkfsdf k sdkfka
Portal Server
2
Web servicesWeb services
Brasil
USA
Rio de Janeiro
São Paulo
Salvador
Porto Alegre
New York
San Francisco
Seattle
Portland
Preço < 300
Preço < 100
Tecido de Algodão
Tecido de Linho
Tecido de Tergal
Web service 1
Web service 2
Web service 3
Web service 4
Web service 5
Web service 6
Web service 7
Web service 8
Pizzarias
Hotéis
Corretagem de imóveis
Web servicesWeb services www.uddi.microsoft.com
Web servicesWeb services
• Modo padrão, independente de plataforma, aberto, escalável e facilmente extensível de descrever osserviços.
• Modo padrão, independente de plataforma, aberto, escalável e facilmente extensível para publicar e localizar os serviços.
Web servicesWeb services
“O termo Web service se refere a uma
funcionalidade específica oferecida por uma
empresa, geralmente através de uma conexão de
internet, com o propósito de permitir que outra
empresa ou software utilize este serviço.”
UDDI Technical White Paper
“Web services são o próximo passo na evolução daWorld Wide Web (WWW) e permite disponiblizarmoselementos programáveis em Web sites onde outros
possam acessá-los de forma distribuída.”
3
Web servicesWeb services
Heather Kreger - IBM
“Um Web service é uma interface que descreve
uma coleção de operações que são acessíveis
pela rede através de mensagens XML
padronizadas.”
Arquitetura da Empresa A
Cliente ServidorArquitetura da Empresa B
Cliente Servidor
Arquitetura da Empresa C
Cliente Servidor
. . .
Empresa A Empresa B Empresa C Empresa Z
Arquitetura baseada em Web services
Pilhapadrão de protocolos
Bind
Publish
Find
Service Requestor Service Provider
Service Registry
Service
Service Description
Modelo Web services
Apresentação
Introdução
HTTP
XML
WSDL
SOAP
UDDI
USIP
Compilação
Conclusão
Protocolos base para a Web services
Web servicesWeb services
4
Nível Físico
IP
UDP TCP
HTTPHyperText Transfer ProtocolC
amad
ade
Apl
icaç
ão
XML EXtensible Markup Language
SOAP WSDLWeb Services
Description Language
Simple Object Access Protocol
Universal Description,Discovery Integration
UDDI
USIP
Universal Service Interop Protocols
Nível Físico
IP
UDP TCP
HTTP
Cam
ada
de A
plic
ação
HTTP
HTTP• Simples• Human-readable, English-based• Stateless • Padrão de fato para comunicação na Web• Extensível para tranporte de qualquerformato de documento• Versão atual: 1.1...
...vamos ver a versão 1.0...
HTTP
Service Requestor Service Provider
Service Registry
Bind
PublishFind
Service Requestor
Service Provider
Service Registry
Service
Service Description
5
HTTP
...
Componentes HTTP
Linha Inicial
Linhas de cabeçalho
Linha em branco
Conteúdo (message body)
...
HTTP
Initial Request Line
GET /path/to/file/index.html HTTP/1.0
HEAD (obter somente cabeçalho)GET (obter recurso)
POST (enviar dados)
Initial Response Line (status line)
HTTP/1.0 200 OK
1xx Mensagem de informação2xx Algum tipo de sucesso3xx Redireciona o cliente4xx Indica um erro na parte cliente5xx Indica um erro na parte servidor
Primeiro Componente:Linha Incial
HTTP
...
Header 1
From: [email protected]
Header 2
User-Agent: Mozilla/3.0Gold
Header N
AlgumHeader: Algum Valor
...
Header 1
Server: Apache/1.2b3-dev
Header 2
Last Modified: Fri, 31 Dec 1999 23:59:59
Header 3
Content-Type: text/html
Header 4
Content-Length: 12300
Header N
AlgumHeader: Algum Valor
Segundo Componente:Linhas de Header
HTTP
...0011010101000101010011100100101010001011001001010110100110100101010100010101011111111111010100010101000011010110010010101101001101001010101000101010111111111110101000101010000110
<HTML><HEAD><TITLE>Teste</TITLE></HEAD>
<BODY><P>Hello World!!!!
</BODY></HTML>
Quarto Componente:Message Body
6
HTTP
...
Acessando:http://www.somehost.com/path/file.html
GET /path/file.html HTTP/1.0From: [email protected]: HTTPTool/1.0[blank line here]
Server
Socket TCP na porta 80
HTTP
...
Resposta do Servidor emwww.somehost.com
HTTP/1.0 200 OKDate: Fri, 31 Dec 1999 23:59:59 GMTContent-Type: text/htmlContent-Length: 1354
<html><body><h1>Happy New Millennium!</h1>(more file contents)
.
.
.</body></html>
Apresentação
Introdução
HTTP
XML
WSDL
SOAP
UDDI
USIP
Compilação
Conclusão
Protocolos base para a Web services
Web servicesWeb services
Nível Físico
IP
UDP TCP
HTTP
Cam
ada
de A
plic
ação
XML
XML
7
XMLO que é XML:.
- Significa Extensible Markup Language- É uma linguagem de marcação muito parecida com HTML- Foi desenvolvida para descrever dados- Não existem tags predefinidas, você tem que definir suas próprias tags- Documentos XML devem ser auto-descritivos
Diferenças entre XML e HTML:.
- XML serve para descrever dados e se concentra em como eles são- HTML serve para exibir dados e se concentra em como serão exibidos
XML não faz nada!.
- XML foi criado para estruturar, guardar e transmitir dados- É necessário um software para fazer algo com XML
XML - Introdução
XMLExemplo de XML:.<mensagem>
<para>Ângelo</para><de>Rafael</de><cabecalho>Lembrete</cabecalho><corpo>Não esquecer de estudar Web Services!</corpo>
</mensagem>
Utilização do XML:.
- Pode guardar dados fora do HTML- Pode ser usado para trocar informações por sistemas incompatíveis- Pode ser usado para compartilhar dados- Pode ser usado para guardar dados- É interpretado pela maioria dos browsers- É a “mãe” de outras linguagens como WAP e WML
XML - Exemplo
XMLSintaxe do XML:.<?xml version="1.0" encoding="ISO-8859-1"?><mensagem data=“29/08/2003”>
<para>Ângelo</para><de>Rafael</de><cabecalho>Lembrete</cabecalho><corpo>Não esquecer de estudar Web Services!</corpo>
</mensagem>.
- Os documentos usam uma sintaxe auto-descritiva- Todos as tags têm que possuir outra tag indicando seu fim- XML diferencia letras maiúsculas e minúsculas- Tags têm que começar e terminar na mesma ordem: <b><i>ERRADO!</b></i>- Todo documento tem que possuir uma tag raiz- Os atributos têm que ser limitados por aspas- Os espaços e as novas linhas são considerados- Os comentários são iguais a HTML: <!-- Comentário -->
XML - Sintaxe
XMLXML Namespaces:.<table>
<tr><td>Banana</td><td>Limão</td>
</tr></table>.
- As tags XML não são predefinidas- Utiliza-se um prefixo para diferenciar os namespaces.<h:table xmlns:h="http://www.w3.org/TR/html4/">
<h:tr><h:td>Banana</h:td><h:td>Limão</h:td>
</h:tr></h:table>.<f:table xmlns:f="http://www.exemplo.com/moveis">
<f:name>Mesa de café</f:name><f:width>80</f:width><f:length>120</f:length>
</f:table>.
.<table>
<name>Mesa de café</name><width>80</width><length>120</length>
</table>
XML - Namespaces
8
Apresentação
Introdução
HTTP
XML
WSDL
SOAP
UDDI
USIP
Compilação
Conclusão
Protocolos base para a Web services
Web servicesWeb services
Nível Físico
IP
UDP TCP
HTTP
Cam
ada
de A
plic
ação
SOAP
XML
SOAP
SOAPO que é SOAP:.
- Significa Simple Object Access Protocol- É um protocolo de comunicação- Foi desenvolvido para ser usado na Internet- Independente de plataforma- Independente de linguagem- É baseado em XML- Atravessa firewalls com facilidade
Por que SOAP?.
- Foi desenvolvido para funcionar com HTTP- Objetos DCOM e CORBA normalmente são barrados por firewalls- O melhor método de comunicação entre aplicações é por HTTP, pois ésuportado por qualquer browser e servidor de internet- SOAP permite aplicações de diferentes sistemas, de diferentes tecnologias e desenvolvidas em linguagens diferentes se comunicarem
SOAP - Introdução
SOAPComponentes de uma mensagem SOAP:.
- Envelope: identifica o documento XML como uma mensagem SOAP- Header (opcional)- Body: contém informações de requisições e respostas- Fault (opcional)
- Namespaces padrão:http://www.w3.org/2001/12/soap-envelopehttp://schemas.xmlsoap.org/soap/envelope
<?xml version=“1.0”?><soap:Envelope xmlns:soap=“http://www.w3.org/2001/12/soap-envelope”
soap:encodingStyle=“http://www.w3.org/2001/12/soap-encoding”><soap:Header>
...</soap:Header><soap:Body>
...<soap:Fault>
...</soap:Fault>
</soap:Body></soap:Envelope>
SOAP - Componentes
9
SOAPUm exemplo de SOAP:.
- Pedido.<?xml version=“1.0”?><soap:Envelope xmlns:soap=“http://www.w3.org/2001/12/soap-envelope”
soap:encodingStyle=“http://www.w3.org/2001/12/soap-encoding”><soap:Body>
<m:GetPrice xmlns:m=“http://www.exemplo.com/prices”><m:Item>Apples</m:Item>
</m:GetPrice></soap:Body>
</soap:Envelope>.
- Resposta.<?xml version=“1.0”?><soap:Envelope xmlns:soap=“http://www.w3.org/2001/12/soap-envelope”
soap:encodingStyle=“http://www.w3.org/2001/12/soap-encoding”><soap:Body>
<m:GetPriceResponse xmlns:m=“http://www.exemplo.com/prices”><m:Price>1.90</m:Price>
</m:GetPriceResponse></soap:Body>
</soap:Envelope>
SOAP - Exemplo
SOAPUm exemplo de SOAP + HTTP:.POST /InStock HTTP/1.1Host: www.stock.orgContent-Type: application/soap+xml; charset=utf-8Content-Length: nnn
<?xml version=“1.0”?><soap:Envelope xmlns:soap=“http://www.w3.org/2001/12/soap-envelope”
soap:encodingStyle=“http://www.w3.org/2001/12/soap-encoding”><soap:Body xmlns:m=“http://www.exemplo.org/stock”>
<m:GetStockPrice><m:StockName>IBM</m:StockName>
</m:GetStockPrice></soap:Body>
</soap:Envelope>.HTTP/1.1 200 OKContent-Type: application/soap; charset=utf-8Content-Length: nnn
<?xml version=“1.0”?><soap:Envelope xmlns:soap=“http://www.w3.org/2001/12/soap-envelope”
soap:encodingStyle=“http://www.w3.org/2001/12/soap-encoding”><soap:Body xmlns:m=“http://www.exemplo.org/stock”>
<m:GetStockPriceResponse><m:Price>34.5</m:Price>
</m:GetStockPriceResponse></soap:Body>
</soap:Envelope>
SOAP - Exemplo + HTTP
Apresentação
Introdução
HTTP
XML
WSDL
SOAP
UDDI
USIP
Compilação
Conclusão
Protocolos base para a Web services
Web servicesWeb services
Nível Físico
IP
UDP TCP
HTTP
Cam
ada
de A
plic
ação
WSDL
XML
SOAP WSDL
10
WSDL
• É um documento XML
• Possui namespace definido em:
http://schemas.xmlsoap.org/wsdl/
• Descreve serviços de forma abstrata e
facilmente extensível
• Usado para descrever Web Services
• Usado para localizar Web Services
WSDL
Service Provider
Service RegistryService Description
Bind
PublishFind
Service Requestor
Service Provider
Service Registry
Service
Service Description
WSDLClass WeatherService {
public void registerUser( String userName ) {
usersVector.addElement( userName );}
public float getTemperature( String zipCode, boolean celsius ) {
float temperature;
if (celsius) {temperature = 21.7;
}elsetemperature = 71.06;
return temperature;}
}
WSDL
<message name='GetTemperatureRequest'>
<part name='zipcode' type='xsd:string'/>
<part name='celsius' type='xsd:boolean'/>
</message>
<message name='GetTemperatureResponse'>
<part name='Result' type='xsd:float'/>
</message>
<message name=’RegisterUser'>
<part name=’Name' type='xsd:string'/>
</message>
Parâmetros (parts)
Mensagem (message)
11
WSDL
<message name='GetTemperatureRequest'>
<part name='zipcode' type='xsd:string'/>
<part name='celsius' type='xsd:boolean'/>
</message>
<message name='GetTemperatureResponse'>
<part name='Result' type='xsd:float'/>
</message>
+
<operation name='GetTemperature' parameterOrder='zipcode celsius'>
<input message='wsdlns:GetTemperatureRequest' />
<output message='wsdlns:GetTemperatureResponse' />
</operation>
WSDL
HTTP Response
HTTP GET Request
Weather Server
SOAP/HTTP Request
SOAP/HTTP Response
Cliente 1
Cliente 2
port 1
port 2
WSDL
Weather Server
port 1
port 2
<port name='WeatherHTTPPort’
binding='wsdlns:WeatherHTTPBinding' >
<http:address location="http://localhost/
demos/wsdl/devxpert/weatherGET.asp"/>
</port>
<port name='WeatherSoapPort'
binding='wsdlns:WeatherSoapBinding' >
<soap:address location='http://localhost/
demos/wsdl/devxpert/weatherservice.asp' />
</port>
WSDL
Weather Server
port 1
port 2
<service name=”WeatherService">
<documentation>My first
service</documentation>
<port name='WeatherSoapPort’
binding='wsdlns:WeatherSoapBinding' >
<soap:address location=’
http://.../weatherservice.asp' />
</port>
<port name='WeatherHTTPPort’
binding='wsdlns:WeatherHTTPBinding' >
<http:address location=”
http://.../weatherGET.asp"/>
</port>
</service>
12
WSDL<binding name='WeatherSoapBinding' type='wsdlns:WeatherSoapPort' >
<soap:binding style=’document' transport='http://schemas.xmlsoap.org/soap/http' />
<operation name='GetTemperature' >
<soap:operation soapAction='http://tempuri.org/action/GetTemperatureRequest' />
<input><soap:body use='encoded' namespace='http://tempuri.org/message/'
encodingStyle='http://schemas.xmlsoap.org/soap/encoding/' /></input>
<output><soap:body use='encoded' namespace='http://tempuri.org/message/'
encodingStyle='http://schemas.xmlsoap.org/soap/encoding/' /></output>
</operation>
</binding>
<operation name:’RegisterUser’> ...
<definitions name=”Weather"targetNamespace="http://example.com/weathers.wsdl”xmlns:tns=...>
</definitions>
WSDL
Elementos HTML
tablebodytitlehead. . .
Elementos WSDL
types servicemessage importportType definitionsbinding
<types>...definição de tipos(sintaxe do XML Schema)...</types>
<message>...define as mensagens trocadasdurante uma operação...</message>
<portType>...define as operações que oWeb Service pode realizar...</portType>
<binding>...define o formato das mensagense detalhes de protocolo(reuso das definições abstratas)...</binding>
Root Element
WSDL<?xml version="1.0"?><definitions name="StockQuote"
targetNamespace="http://example.com/stockquote.wsdl"xmlns:tns="http://example.com/stockquote.wsdl"xmlns:xsd1="http://example.com/stockquote.xsd"xmlns:soap="http://schemas.xmlsoap.org/wsdl/soap/"xmlns="http://schemas.xmlsoap.org/wsdl/">
<types><schema targetNamespace="http://example.com/stockquote.xsd"
xmlns="http://www.w3.org/2000/10/XMLSchema"><element name="TradePriceRequest">
<complexType><all>
<element name="tickerSymbol" type="string"/></all>
</complexType></element><element name="TradePrice">
<complexType><all>
<element name="price" type="float"/></all>
</complexType></element>
</schema></types>
<message name="GetLastTradePriceInput"><part name="body" element="xsd1:TradePriceRequest"/>
</message>
<message name="GetLastTradePriceOutput"><part name="body" element="xsd1:TradePrice"/>
</message>
<portType name="StockQuotePortType"><operation name="GetLastTradePrice">
<input message="tns:GetLastTradePriceInput"/><output message="tns:GetLastTradePriceOutput"/>
</operation></portType>
<binding name="StockQuoteSoapBinding" type="tns:StockQuotePortType"><soap:binding style="document"
transport="http://schemas.xmlsoap.org/soap/http"/><operation name="GetLastTradePrice">
<soap:operation soapAction="http://example.com/GetLastTradePrice"/><input>
<soap:body use="literal"/></input><output>
<soap:body use="literal"/></output>
</operation></binding>
<binding name="StockQuoteSoapBinding" type="tns:StockQuotePortType"><soap:binding style="document"
transport="http://schemas.xmlsoap.org/soap/http"/><operation name="GetLastTradePrice">
<soap:operation soapAction="http://example.com/GetLastTradePrice"/><input>
<soap:body use="literal"/></input><output>
<soap:body use="literal"/></output>
</operation></binding>
<service name="StockQuoteService"><documentation>My first service</documentation><port name="StockQuotePort" binding="tns:StockQuoteBinding">
<soap:address location="http://example.com/stockquote"/></port> <port name="StockQuotePort" binding="tns:StockQuoteBinding">
<soap:address location="http://example.com/stockquote"/></port>
</service>
</definitions>
WSDL
http://www.capescience.com/downloads/wsdleditor/
13
Apresentação
Introdução
HTTP
XML
WSDL
SOAP
UDDI
USIP
Compilação
Conclusão
Protocolos base para a Web services
Web servicesWeb services
Nível Físico
IP
UDP TCP
HTTP
Cam
ada
de A
plic
ação
UDDI
XML
SOAP
UDDI
WSDL
UDDI
Publish
Find
Service Requestor Service Provider
Service Registry
Bind
PublishFind
Service Requestor
Service Provider
Service Registry
Service
Service Description • UDDI Business Registration
• UDDI API
Service Registry
UDDI BusinessRegistration
White Pages
Yellow Pages
Green Pages
Nome: Padaria do Sr. Manoel LtdaContato: Dona Maria LisboaDescrição: Importante padaria no subúrbio doRio de Janeiro. Pães frescos a toda hora.
UDDI
CNPJ: 35.402.759/9999-99Área de atividade: comércio de alimentosLocalização: América do Sul - Brasil
Taxonomias padrão como:North American Industry Classification System(NAICS)NAICS código 3341: computer manufacturersStandard Industrial Classification (SIC)
Serviço-1: Encomendar pãesAcesso: [email protected]ço-2: ObterPreçosAcesso: http://www.padaria.com.br/op.wsdl
UDDI API
Inquiry APIPublishers’ API
User
14
Elementos HTML
tablebodytitlehead. . .
Elementos UDDI
businessEntitybusinessServicebindingTemplatetModel
UDDI BusinessRegistration
White Pages
Yellow Pages
Green Pages
UDDIUDDI
tModeltModel
tModel
businessEntity
businessServicebusinessService
businessService
bindingTemplatebindingTemplate
bindingTemplate
UDDI
businessEntity
businessServicebusinessService
businessService
bindingTemplatebindingTemplate
bindingTemplate
tModeltModel
tModel
Universally Unique ID (UUID)
UDDI
businessEntity
businessServicebusinessService
businessService
bindingTemplatebindingTemplate
bindingTemplate
tModeltModel
tModel
UDDI<tModel authorizedName="..." operator= "..." tModelKey= "...">
<name>Weather Service</name><description xml:lang= "en” >
WSDL description of a standard weather service interface</description><overviewDoc><description xml:lang="en"> WSDL source document.</description><overviewURL> http://example.com/weathers.wsdl </overviewURL></overviewDoc><categoryBag>
<keyedReference tModelKey= "UUID:..."keyName= "uddi-org:types"keyValue= "wsdlSpec” />
</categoryBag></tModel>
UDDI<tModel authorizedName="..." operator= "..." tModelKey= "...">
<name>Weather Service</name><description xml:lang= "en” >
WSDL description of a standard weather service interface</description><overviewDoc><description xml:lang="en"> WSDL source document.</description><overviewURL> http://example.com/weathers.wsdl </overviewURL></overviewDoc><categoryBag>
<keyedReference tModelKey= "UUID:..."keyName= "uddi-org:types"keyValue= "wsdlSpec” />
</categoryBag></tModel>
15
UDDI
UDDI API
Inquiry APIPublishers’ API
Publishers’ API
•save_business
•save_service
•save_binding
•save_tModel
•delete_business
•delete_service
•delete_binding
•delete_tModel
Inquiry API
•find_business
•find_service
•find_binding
•find_tModel
•get_businessDetail
•get_serviceDetail
•get_bindingDetail
•get_tModelDetail
UDDI
Service Registry
Marketplaces
Search Portals
Technical Users
UD
DI A
PI
Nível Físico
IP
UDP TCP
HTTP
Cam
ada
de A
plic
ação
USIP
XML
SOAP
UDDI
WSDL
USIPApresentação
Introdução
HTTP
XML
WSDL
SOAP
UDDI
USIP
Compilação
Conclusão
Protocolos base para a Web services
Web servicesWeb services
16
CompilaçãoHelloWorld.java.Package com.wrox.helloworld.service;
Public class HelloWorld {String getMessage() {
return “Hello World!”;}
}
HelloWorldDD.xml.<?xml version=“1.0”?><isd:service xmlns:isd=“http://xml.apache.org/xml-soap/deployment”
id=“urn:HelloWorldService”><isd:provider type=“java”
scope=“Application”methods=“getMessage”>
<isd:java class=“com.wrox.helloworld.service.HelloWorld” static=“false” /></isd:provider><isd:faultListener>org.apache.soap.server.DOMFaultListener</isd:faultListener>
</isd:service>
Registrando o serviço:.> java org.apache.soap.server.ServiceManagerClienthttp://localhost:8080/soap/servlet/rpcrouter deploy HelloWorldDD.xml
Compilação - Java e ISD
CompilaçãoHelloWorldClient.java.import org.apache.soap.Constants;import java.net.URL;import org.apache.soap.Fault;import org.apache.soap.rpc.Call;import org.apache.soap.rpc.Response;import org.apache.soap.rpc.Parameter;
public class HelloWorldClient {
static String DEFAULT_ENDPOINT = “http://localhost:8080/soap/servlet/rpcrouter”;
public static void main(String args[]) throws Exception {String endPoint = DEFAULT_ENDPOINT;
if (args.length == 1) {endPoint = args[0];
} else if (args.length > 1) {System.out.println(“java HelloWorldClient [endpoint]”);
}
Call call = new Call();call.setTargetObjectURI(“urn:HelloWorldService”);call.setMethodName(“getMessage”);call.setEncodingStyleURI(Constants.NS_URI_SOAP_ENC);
...
Compilação - Cliente I
CompilaçãoHelloWorldClient.java (continuação)....
URL url = new URL(endPoint);
Response resp = call.invoke(url, “”);
if (resp.generatedFault()) {Fault fault = resp.getFault();System.out.println(“The Following Error Occured: ”);System.out.println(“ Fault Code = ” + fault.getFaultCode());System.out.println(“ Fault String = ” + fault.getFaultString());
} else {Parameter result = resp.getReturnValue();System.out.println(result.getValue());
}}
}
Chamando o serviço:.> java HelloWorldClient
Compilação - Cliente II
CompilaçãoPedido.POST /soap/servlet/rpcrouter HTTP/1.0Host: localhostContent-Type: text/xml; charset=utf-8Content-Length: 414SOAPAction: “”
<?xml version=‘1.0’ encoding=‘UTF-8’?><SOAP-ENV:Envelope xmlns:SOAP-ENV=“http://schemas.xmlsoap.org/soap/envelope/”
xmlns:xsi=“http://www.w3.org/1999/XMLSchema-instance”xmlns:xsd=“http://www.w3.org/1999/XMLSchema”>
<SOAP-ENV:Body><nsl:getMessage xmlns:nsl=“urn:HelloWorldService”
SOAP-ENV:encodingStyle=“http://schemas.xmlsoap.org/soap/encoding/”></nsl:getMessage>
</SOAP-ENV:Body>
</SOAP-ENV:Envelope>
Compilação - Request
17
CompilaçãoResposta.HTTP/1.1 200 OKContent-Type: text/xml; charset=utf-8Content-Length: 485Date: Wed, 19 Dec 2001 04:10:28 GMTServer: apache Tomcat/4.0.1 (HTTP/1.1 Connector)Set-Cookie: JSESSIONID=D712520676C524504110A4C5D6E672E9;Path=/soap
<?xml version=‘1.0’ encoding=‘UTF-8’?><SOAP-ENV:Envelope xmlns:SOAP-ENV=“http://schemas.xmlsoap.org/soap/envelope/”
xmlns:xsi=“http://www.w3.org/1999/XMLSchema-instance”xmlns:xsd=“http://www.w3.org/1999/XMLSchema”>
<SOAP-ENV:Body><nsl:getMessageResponse xmlns:nsl=“urn:HelloWorldService”
SOAP-ENV:encodingStyle=“http://schemas.xmlsoap.org/soap/encoding/”><return xsi:type=“xsd:string”>Hello World!</return>
</nsl:getMessageResponse></SOAP-ENV:Body>
</SOAP-ENV:Envelope>
Compilação - Response
Apresentação
Introdução
HTTP
XML
WSDL
SOAP
UDDI
USIP
Compilação
Conclusão
Protocolos base para a Web services
Web servicesWeb services
Conclusão - Lista
Web servicesWeb services
Bibliografia:
http://www.ime.uerj.br/~tpe_g01