Escolar Documentos
Profissional Documentos
Cultura Documentos
WEB
SERVICES
Este documento é parte integrante da metodologia de treinamento Senior.
É proibida a publicação ou reprodução deste documento sem autorização
prévia da empresa. A área Universidade Corporativa Senior é a única
autorizada para alteração do modelo. Todos os direitos são reservados para
a Senior. Nenhuma parte deste material e/ou treinamento poderá ser
reproduzida em qualquer forma ou por qualquer meio eletronicamente,
mecanicamente, por fotocópias, gravação ou outros, sem a prévia
autorização da Senior, sujeitando-se às penalidades previstas em Lei.
CAPÍTULO 01
Conceitos
Objetivo geral
1. O que é um WebService
Com isto, em vez de usar HTTP para pedir uma página HTML para ser visualizada
em um navegador, o SOAP envia uma mensagem de XML através do pedido HTTP e
recebe uma resposta, se existir, através da resposta do HTTP.
Importante!
Os Web Services padrões do Sistema iniciam seu nome em com.senior.g5,
continuando com a sigla do Sistema.Módulo.Gestão.Rotina
Exemplo. com.senior.g5.co.mcm.est.estoques
Dentro dos Web Services disponíveis para uso nos Sistemas Senior temos 3 tipos
de Web Services, sendo eles:
- Web Services Padrões:
- Web Services Personalizados:
- Web Services de Terceiros
4.1 Web Services Padrões
São Web Services disponibilizados por outros Sistemas, não Senior, e são
“importados” para o Sistema Senior. Não é possível alterar seu comportamento ou
personalizar suas portas (métodos). O Sistema Senior somente irá efetuar a chamada
do Web Service sendo que o processamento ocorrerá no outro Sistema.
Importante!
O cadastramento de um Provedor de Terceiros deve ser efetuado
manualmente dentro do Sistema Senior, verificando as informações
constantes na documentação do Web Service ou no WSDL do mesmo.
CAPÍTULO 02
Funcionamento
1. A estrutura de um WebService
Este documento é parte integrante da metodologia de treinamento Senior. É proibida a publicação ou reprodução deste documento sem autorização prévia da
deste material e/ou treinamento poderá ser reproduzida em qualquer forma ou por qualquer meio eletronicamente, mecanicamente, por fotocópias, gravação ou
empresa. A área Universidade Corporativa Senior é a única autorizada para alteração do modelo. Todos os direitos são reservados para a Senior. Nenhuma parte
Um Web Service é composto basicamente 2 itens principais. Sendo os itens 2 e 3
descritos abaixo. Estes itens irão compor o Web Service (1).
1– Web Service;
2– Portas de Comunicação
3– Parâmetros de Entrada e Saída
É possível também que o Web Service possua somente parâmetros de entrada outros, sem a prévia autorização da Senior, sujeitando-se às penalidades previstas em Lei.
deste material e/ou treinamento poderá ser reproduzida em qualquer forma ou por qualquer meio eletronicamente, mecanicamente, por fotocópias, gravação ou
empresa. A área Universidade Corporativa Senior é a única autorizada para alteração do modelo. Todos os direitos são reservados para a Senior. Nenhuma parte
2. Parâmetros de Entrada e Saída
Dentro de cada Web Service poderá haver parâmetros de entrada e saída.
Alguns destes parâmetros de entrada podem ser obrigatórios. A informação da
obrigatoriedade dos parâmetros de entrada pode ser verificada dentro do editor de
- Para a inclusão de um Pedido simples via ação SID por exemplo, é necessário a
execução das seguintes ações:
SID.Ped.Gravar
SID.Ped.GravarProduto ou SID.Ped.GravarServico
SID.Ped.GravarObservacao
SID.Ped.Fechar
Neste caso, o parâmetro “Pedido” é do tipo tabela, onde podemos inserir vários
pedidos dentro desta tabela.
Dentro da tabela “Pedido” estão disponíveis as tabelas “Produto”, “Servico” e
“Observação”. Assim, pode-se criar uma tabela contendo vários pedidos e dentro
deste pedido vários produtos para cada pedido, conforme exemplo abaixo:
Importante!
O cadastramento de um Provedor de Terceiros deve ser efetuado
manualmente dentro do Sistema Senior, verificando as informações
constantes na documentação do Web Service ou no WSDL do mesmo.
Chamada do WebService: Retorno do Web Service:
<GravarPedidos> <GravarPedidos>
<Pedido> <RespostaPedido>
Empresa: 1 Empresa: 1
Filial: 1 Filial: 1
Pedido: 1 Pedido: 1
Cliente: 10 Retorno: Inserido com Sucesso
Fecha Pedido: S <Produto>
<Produto> Seq. Item: 1
Seq. Item: 1 Pedido: 1
Pedido: 1 Retorno: OK
Produto: 1101 </Produto>
</Produto> <Produto>
<Produto> Seq. Item: 2
Seq. Item: 2 Pedido: 1
Pedido: 1 Retorno: OK
Produto: 1102 </Produto>
</Produto> </RespostaPedido>
</Pedido> <RespostaPedido>
<Pedido> Empresa: 1
Empresa: 1 Filial: 1
Filial: 1 Pedido: 2
Pedido: 2 Retorno: Pedido Inserido
Cliente: 20 Parcialmente
Fecha Pedido: N <Produto>
<Produto> Seq. Item: 1
Seq. Item: 1 Pedido: 2
Pedido: 2 Retorno: OK
Produto: 1501 </Produto>
</Produto> <Produto>
<Produto> Seq. Item: 2
Seq. Item: 2 Pedido: 2
Pedido: 2 Retorno: Falta Estoque
Produto: 1502 </Produto>
</Produto> </RespostaPedido>
</Pedido> </GravarPedidos>
</GravarPedidos>
4. Campos de Usuário
Alguns Web Services possibilitam que sejam inseridas informações nos campos de
usuário presentes na tabela envolvida no processo.
Para verificar se o Web Service possui este recurso, deve-se verificar se o Web Service
possui uma tabela chamada “Usuario”, conforme imagem abaixo. É possível informar
mais de um campo de usuário dentro de cada tabela, inserindo assim vários registros
nos campos de usuário de uma única vez.
CAPÍTULO 03
Chamada de um WebService padrão
ou personalizado
1. Chamando um WebService via MCDEBUG
Este documento é parte integrante da metodologia de treinamento Senior. É proibida a publicação ou reprodução deste documento sem autorização prévia da
empresa. A área Universidade Corporativa Senior é a única autorizada para alteração do modelo. Todos os direitos são reservados para a Senior. Nenhuma parte
deste material e/ou treinamento poderá ser reproduzida em qualquer forma ou por qualquer meio eletronicamente, mecanicamente, por fotocópias, gravação ou
Os Sistemas Senior possuem um modo de execução chamado “Modo Depuração
de Web Services”. Este recurso possibilita executar um Web Service internamente no
Sistema, sem a necessidade de Sistemas Externos ou componentes do Middleware
Senior instalado.
Exemplos:
C:\Senior\Sapiens\Sapiens.exe –MCDEBUG
C:\Senior\Regente\Regente.exe -MCDEBUG
Há também uma separação por método (porta), onde no MCDebug são listados vários
Web Services pela Descrição, mesmo estes pertencendo a mesma rotina. Exemplo:
Ao selecionar um Web Service disponível na lista, será aberta uma tela para
entrada de valores que serão enviados ao Web Service. Com isto, não há necessidade
de alterar o XML do Web Service manualmente, podendo então inserir os dados do
Web Service via tela.
Campos de Usuário
Retorno da Execução
Este XML gerado pelo MCDebug é interpretado somente por este recurso. Este
XML não possui o envelope SOAP, necessário para a comunicação do Web Service
entre Sistemas.
Devido a este comportamento, não é possível importar um XML gerado pelo soapUI ou
outro Sistema por exemplo, diretamente para o editor do MCDebug.
XML gerado via soapUI (Aplicação Externa)
Este documento é parte integrante da metodologia de treinamento Senior. É proibida a publicação ou reprodução deste documento sem autorização prévia da
empresa. A área Universidade Corporativa Senior é a única autorizada para alteração do modelo. Todos os direitos são reservados para a Senior. Nenhuma parte
deste material e/ou treinamento poderá ser reproduzida em qualquer forma ou por qualquer meio eletronicamente, mecanicamente, por fotocópias, gravação ou
1.5. Modos de Execução
Este documento é parte integrante da metodologia de treinamento Senior. É proibida a publicação ou reprodução deste documento sem autorização prévia da
empresa. A área Universidade Corporativa Senior é a única autorizada para alteração do modelo. Todos os direitos são reservados para a Senior. Nenhuma parte
deste material e/ou treinamento poderá ser reproduzida em qualquer forma ou por qualquer meio eletronicamente, mecanicamente, por fotocópias, gravação ou
O MCDebug permite que sejam depuradas as regras ligadas as rotinas dos Web
Services, quando a execução é efetuada em modo Local. Este meio de execução
permite tal funcionalidade, pois pode-se abrir telas de interação com o usuário. Os
demais meios de execução não possibilitam tal funcionalidade, visto que não é
possível a abertura de telas do Sistema.
Este documento é parte integrante da metodologia de treinamento Senior. É proibida a publicação ou reprodução deste documento sem autorização prévia da
empresa. A área Universidade Corporativa Senior é a única autorizada para alteração do modelo. Todos os direitos são reservados para a Senior. Nenhuma parte
deste material e/ou treinamento poderá ser reproduzida em qualquer forma ou por qualquer meio eletronicamente, mecanicamente, por fotocópias, gravação ou
Diferente da execução do Web Service via MCDebug, as informações enviadas ao
Web Service via regra LSP devem ser tratadas manualmente. É necessário declarar a
variável do Web Service na regra para que ele fique disponível para chamada.
Os modos de execução de Web Service via regra LSP seguem o mesmo padrão
utilizado via MCDebug, porém são tratados por numeração na regra, conforme abaixo:
Este documento é parte integrante da metodologia de treinamento Senior. É proibida a publicação ou reprodução deste documento sem autorização prévia da
empresa. A área Universidade Corporativa Senior é a única autorizada para alteração do modelo. Todos os direitos são reservados para a Senior. Nenhuma parte
deste material e/ou treinamento poderá ser reproduzida em qualquer forma ou por qualquer meio eletronicamente, mecanicamente, por fotocópias, gravação ou
2 – Síncrono
3 – Assíncrono
4 - Agendado
- Se o retorno for do tipo tabela e não foram lidos todos os registros, o retorno será
apresentado de forma incompleta.
Este documento é parte integrante da metodologia de treinamento Senior. É proibida a publicação ou reprodução deste documento sem autorização prévia da
empresa. A área Universidade Corporativa Senior é a única autorizada para alteração do modelo. Todos os direitos são reservados para a Senior. Nenhuma parte
deste material e/ou treinamento poderá ser reproduzida em qualquer forma ou por qualquer meio eletronicamente, mecanicamente, por fotocópias, gravação ou
definir alfa acodemp;
definir alfa acodfil;
definir alfa anumtit;
definir alfa aTitLog;
definir alfa aCodTpt;
definir alfa amensagem;
definir alfa aresultado;
Definir data dDatEmi;
Definir data dDatEnt;
Definir data dVctOri;
Definir data dVctPro;
Definir data dDatPpt;
dDatEmi = CodData(24,01,2013);
dDatEnt = CodData(24,01,2013);
dVctOri = CodData(01,02,2013);
dVctPro = CodData(01,02,2013);
dDatPpt = CodData(01,02,2013);
SrvGerCtaRec.ModoExecucao = 1;
SrvGerCtaRec.Executar();
nQtdLin = SrvGerCtaRec.GridResult.QtdLinhas;
Este documento é parte integrante da metodologia de treinamento Senior. É proibida a publicação ou reprodução deste documento sem autorização prévia da
empresa. A área Universidade Corporativa Senior é a única autorizada para alteração do modelo. Todos os direitos são reservados para a Senior. Nenhuma parte
deste material e/ou treinamento poderá ser reproduzida em qualquer forma ou por qualquer meio eletronicamente, mecanicamente, por fotocópias, gravação ou
aMensagem = "Título: " + aNumTit + " = " + SrvGerCtaRec.GridResult.TxtRet;
Assim, temos o WSDL como uma “capa” das definições do Web Service e o XSD
com todas as informações detalhadas sobre o Web Service.
Este documento é parte integrante da metodologia de treinamento Senior. É proibida a publicação ou reprodução deste documento sem autorização prévia da
empresa. A área Universidade Corporativa Senior é a única autorizada para alteração do modelo. Todos os direitos são reservados para a Senior. Nenhuma parte
deste material e/ou treinamento poderá ser reproduzida em qualquer forma ou por qualquer meio eletronicamente, mecanicamente, por fotocópias, gravação ou
localizado, a fim de que possa ser processada. O Web Service, quando recebe esta
mensagem valida-a conforme as informações contidas no documento WSDL.
À partir de então, o serviço remoto sabe como tratar a mensagem, sabe como
processá-la (possivelmente enviando-a para outro programa) e como montar a
resposta ao cliente.
Para os Web Services padrões Senior ou Personalizados, o WSDL pode ser obtido
no endereço do Web Service, adicionando o parâmetro ?WSDL no final do endereço.
Exemplo:
http://servidor:9090/g5-senior-
services/sapiens/Synccom_senior_g5_co_mcm_ven_pedidos?wsdl
Após obter o endereço do WSDL do Web Service, será necessário criar um novo
projeto dentro do soapUI. O soapUI irá “ler” as definições contidas no WSDL e no XSD
do Web Service para montar a chamada do Serviço e disponibilizar os campos do Web
Service em forma de XML na tela do soapUI.
Corporativa
Universidade
AREA
Corporativa
Universidade
não utilizados do Web Service.
Apostila
GESTÃO
mensagemRetorno, retorno e tipoRetorno
É possível verificar que há mais de
CAPITULO
Cores e fontes
uma
informação
de
Este documento é parte integrante da metodologia de treinamento Senior. É proibida a publicação ou reprodução deste documento sem autorização prévia da
empresa. A área Universidade Corporativa Senior é a única autorizada para alteração do modelo. Todos os direitos são reservados para a Senior. Nenhuma parte
deste material e/ou treinamento poderá ser reproduzida em qualquer forma ou por qualquer meio eletronicamente, mecanicamente, por fotocópias, gravação ou
outros, sem a prévia autorização da Senior, sujeitando-se às penalidades previstas em Lei.
retorno: Mensagem de retorno do processamento do item do Web Service.
Este documento é parte integrante da metodologia de treinamento Senior. É proibida a publicação ou reprodução deste documento sem autorização prévia da
empresa. A área Universidade Corporativa Senior é a única autorizada para alteração do modelo. Todos os direitos são reservados para a Senior. Nenhuma parte
deste material e/ou treinamento poderá ser reproduzida em qualquer forma ou por qualquer meio eletronicamente, mecanicamente, por fotocópias, gravação ou
tipoRetorno: 1 = Processado, 2 = Erro na Solicitação
<soapenv:Header/>
<soapenv:Body>
<ser:AuthenticateJAAS>
<user>senior</user>
<password>senior</password>
<encryption>0</encryption>
<parameters>
<pmUserName>Usuario</pmUserName>
<pmuserpassword>Senha</pmuserpassword>
</parameters>
</ser:AuthenticateJAAS>
</soapenv:Body>
<soapenv:Header/>
<soapenv:Body>
<ser:AuthenticateJAAS>
<user>senior</user>
<password>senior</password>
<encryption>0</encryption>
<parameters>
<pmUserName>Usuario</pmUserName>
</parameters>
</ser:AuthenticateJAAS>
</soapenv:Body>
Este documento é parte integrante da metodologia de treinamento Senior. É proibida a publicação ou reprodução deste documento sem autorização prévia da
empresa. A área Universidade Corporativa Senior é a única autorizada para alteração do modelo. Todos os direitos são reservados para a Senior. Nenhuma parte
deste material e/ou treinamento poderá ser reproduzida em qualquer forma ou por qualquer meio eletronicamente, mecanicamente, por fotocópias, gravação ou
modo local, não permitem a utilização da função “Mensagem(Retorna,xxx)” nas regras
ligadas a rotina do Web Service.
Corporativa
Universidade
AREA
Corporativa
Universidade
Apostila
GESTÃO
3.6.6 – Publicação de Alterações (Deploy )
CAPITULO
Cores e fontes
Sempre que um Web Service personalizado for alterado após sua publicação no
Glassfish (Deploy) e esta alteração envolver campos do Web Service, será necessário
efetuar um novo Deploy. Caso não for efetuado um novo Deploy após sua alteração,
as alterações nos Campos não ficarão disponíveis no Web Service publicado no
Este documento é parte integrante da metodologia de treinamento Senior. É proibida a publicação ou reprodução deste documento sem autorização prévia da
empresa. A área Universidade Corporativa Senior é a única autorizada para alteração do modelo. Todos os direitos são reservados para a Senior. Nenhuma parte
deste material e/ou treinamento poderá ser reproduzida em qualquer forma ou por qualquer meio eletronicamente, mecanicamente, por fotocópias, gravação ou
outros, sem a prévia autorização da Senior, sujeitando-se às penalidades previstas em Lei.
PRODUTO
Corporativa
Universidade
AREA
Corporativa
Universidade
Apostila
GESTÃO
CAPITULO
Cores e fontes
CAPÍTULO 04
Provedores de Terceiros
Este documento é parte integrante da metodologia de treinamento Senior. É proibida a publicação ou reprodução deste documento sem autorização prévia da
empresa. A área Universidade Corporativa Senior é a única autorizada para alteração do modelo. Todos os direitos são reservados para a Senior. Nenhuma parte
deste material e/ou treinamento poderá ser reproduzida em qualquer forma ou por qualquer meio eletronicamente, mecanicamente, por fotocópias, gravação ou
outros, sem a prévia autorização da Senior, sujeitando-se às penalidades previstas em Lei.
1. Identificando a URL do provedor e o contexto
Este documento é parte integrante da metodologia de treinamento Senior. É proibida a publicação ou reprodução deste documento sem autorização prévia da
empresa. A área Universidade Corporativa Senior é a única autorizada para alteração do modelo. Todos os direitos são reservados para a Senior. Nenhuma parte
deste material e/ou treinamento poderá ser reproduzida em qualquer forma ou por qualquer meio eletronicamente, mecanicamente, por fotocópias, gravação ou
Acessar a WSDL do Web Service:
http://www.w3schools.com/webservices/tempconvert.asmx?WSDL
A URL do provedor é o trecho do endereço até a primeira barra “/”:
http://www.w3schools.com
O contexto é tudo o que está entre a URL do provedor e o nome do serviço:
webservices
O Web Service é o trecho após o contexto
tempconvert.asmx
<wsdl:types>
<s:schema elementFormDefault="qualified" targetNamespace="http://tempuri.org/">
<s:element name="FahrenheitToCelsius">
<s:complexType>
<s:sequence>
<s:element minOccurs="0" maxOccurs="1" name="Fahrenheit" type="s:string"/>
</s:sequence>
</s:complexType>
</s:element>
<s:element name="FahrenheitToCelsiusResponse">
<s:complexType>
<s:sequence>
<s:element minOccurs="0" maxOccurs="1" name="FahrenheitToCelsiusResult" type="s:string"/>
</s:sequence>
</s:complexType>
</s:element>
</s:schema>
</wsdl:types>
Corporativa
Universidade
AREA
Corporativa
Universidade
Apostila
GESTÃO
CAPITULO
Cores e fontes
CAPÍTULO 05
Exemplo de Web Service Personalizado
Este documento é parte integrante da metodologia de treinamento Senior. É proibida a publicação ou reprodução deste documento sem autorização prévia da
empresa. A área Universidade Corporativa Senior é a única autorizada para alteração do modelo. Todos os direitos são reservados para a Senior. Nenhuma parte
deste material e/ou treinamento poderá ser reproduzida em qualquer forma ou por qualquer meio eletronicamente, mecanicamente, por fotocópias, gravação ou
outros, sem a prévia autorização da Senior, sujeitando-se às penalidades previstas em Lei.
Este documento é parte integrante da metodologia de treinamento Senior. É proibida a publicação ou reprodução deste documento sem autorização prévia da
empresa. A área Universidade Corporativa Senior é a única autorizada para alteração do modelo. Todos os direitos são reservados para a Senior. Nenhuma parte
deste material e/ou treinamento poderá ser reproduzida em qualquer forma ou por qualquer meio eletronicamente, mecanicamente, por fotocópias, gravação ou
Entrada: Campo de Entrada.
Tipo: AlfaNumérico
entrada = msg.entrada;
Cur_E085CLI.FecharCursor();
No exemplo acima, “msg” é o nome da porta do Web Service. Sempre que for
necessário ler ou devolver um dado para um dos parâmetros do Web Service, deve-se
inserir o nome da porta antes do parâmetro.