Anda di halaman 1dari 34

TESTANDO

WEB
SERVICES
Este documento parte integrante da metodologia de treinamento Senior.
proibida a publicao ou reproduo deste documento sem autorizao
prvia da empresa. A rea Universidade Corporativa Senior a nica
autorizada para alterao do modelo. Todos os direitos so reservados para
a Senior. Nenhuma parte deste material e/ou treinamento poder ser
reproduzida em qualquer forma ou por qualquer meio eletronicamente,
mecanicamente, por fotocpias, gravao ou outros, sem a prvia
autorizao da Senior, sujeitando-se s penalidades previstas em Lei.

CAPTULO 01

Conceitos

Objetivo geral
Ao final deste captulo, voc ser capaz de:

Efetuar testes de execuo de Web Services padres


dos Sistemas Senior, utilizando suas vrias formas de
execuo

(MCDebug,

Regra

LSP

Sistema

de

Terceiros.

Tambm so apresentadas informaes sobre o uso de


Web Services Customizados e a utilizao de Web
Services de Outros Sistemas.

1. O que um WebService
Web Service uma soluo utilizada para integrar Sistemas e na comunicao
entre aplicaes de plataformas diferentes. Com este recurso possvel que novas
aplicaes possam ser integradas com aplicaes j existentes e que Sistemas
desenvolvidos em plataformas distintas sejam compatveis.
Os Web Services so componentes que permitem as aplicaes enviar e receber
dados no formato XML. Cada aplicaes pode ter sua linguagem, que ser traduzida
para o XML, fazendo com que em certo ponto utilizem a mesma linguagem para
comunicao.

2. Como Funciona um WebService


A comunicao dos Web Services baseiam-se no protocolo SOAP (Simple Object
Access Protocol). O protocolo SOAP utiliza geralmente o HTTP para transferncia das
informaes.
Com isto, em vez de usar HTTP para pedir uma pgina HTML para ser visualizada
em um navegador, o SOAP envia uma mensagem de XML atravs do pedido HTTP e
recebe uma resposta, se existir, atravs da resposta do HTTP.
Utilizando o Web Service internamente no Sistema, via Regra LSP ou via
MCDebug, como veremos mais a frente, a comunicao ocorre internamente no

Sistema. Assim, quando efetuada uma chamada de Web Service internamente pelo
Sistema, o Web Service chama diretamente a rotina que ir efetuar o processamento,
no necessitando de camadas intermedirias para direcionar o processamento do Web
Service.

3. Quais Web Services esto disponveis e onde


encontr-los
A lista dos Web Services disponveis em cada Sistema deve ser obtida no Editor
de Servios, dentro de cada Sistema, nos caminhos abaixo:
ERP: Recursos > Implementaes > WebServices > Editar
Regente: Diversos > Servios > Editor
RH e Acesso: Recursos > Implementaes > Editor Web Services

Importante!
Os Web Services padres do Sistema iniciam seu nome em com.senior.g5,
continuando com a sigla do Sistema.Mdulo.Gesto.Rotina

Exemplo. com.senior.g5.co.mcm.est.estoques

4. Diferena entre WS Padro, de Terceiros e


Personalizados
Dentro dos Web Services disponveis para uso nos Sistemas Senior temos 3 tipos
de Web Services, sendo eles:
- Web Services Padres:
- Web Services Personalizados:
- Web Services de Terceiros

4.1 Web Services Padres


So disponibilizados juntamente com o Sistema, sendo programado pela rea de
Desenvolvimento. No possvel alterar seu comportamento padro ou personalizar
as portas (mtodos) liberadas;
possvel adicionar novas portas (mtodos) dentro de um WebService Padro, criando
assim uma porta personalizada, com a mesma estrutura de um Web Service
personalizado.
Os Web Services padres so identificveis conforme o cone abaixo:

4.2 - Web Services Personalizados


So Web Services criados ou customizados de acordo com a necessidade do
Cliente. Todas as portas de entrada e sada de informaes so customizadas.
O comportamento e processamento deste tipo de Web Service controlado via regra
LSP, programada dentro do prprio Web Service.
Os Web Services Customizados so identificveis conforme o cone abaixo:

4.3 - Web Services de Terceiros


So Web Services disponibilizados por outros Sistemas, no Senior, e so
importados para o Sistema Senior. No possvel alterar seu comportamento ou
personalizar suas portas (mtodos). O Sistema Senior somente ir efetuar a chamada
do Web Service sendo que o processamento ocorrer no outro Sistema.
Um Web Service de Terceiros ser adicionado dentro de um provedor diferente
do provedor interno, onde esto disponveis os Web Services Padres e
Personalizados.

Importante!
O cadastramento de um Provedor de Terceiros deve ser efetuado
manualmente dentro do Sistema Senior, verificando as informaes
constantes na documentao do Web Service ou no WSDL do mesmo.

CAPTULO 02

Funcionamento

Um Web Service composto basicamente 2 itens principais. Sendo os itens 2 e 3


descritos abaixo. Estes itens iro compor o Web Service (1).
1

Web Service;
2

Portas de Comunicao

Parmetros de Entrada e Sada

As portas de comunicao so os mtodos do WebService. Ou seja, a rotina


que ir ser executada pelo Sistema. Os parmetros desta porta so as entradas de
dados para processamento e a sada que ser devolvida aps o processamento da
rotina pelo Sistema.
Um Web Service pode ter mais de uma porta (mtodo), conforme a rea do
WebService. O exemplo abaixo ilustra um Web Service que possui mais de uma porta
(mtodo) para a mesma rotina do Sistema (Pedidos).

possvel tambm que o Web Service possua somente parmetros de entrada


ou somente parmetros de sada.
Havendo somente parmetros de entrada o Web Service no devolver nenhuma
informao sobre o processamento. Caso houver somente parmetros de sada, no
ser necessrio informar nenhuma informao para execuo do Web Service,
bastando somente invoc-lo para obter o resultado.

PRODUTO
Universidade
Corporativa

AREA
Universidade
Corporativa

GESTO
Apostila

CAPITULO
Layout

Este documento parte integrante da metodologia de treinamento Senior. proibida a publicao ou reproduo deste documento sem autorizao prvia da
empresa. A rea Universidade Corporativa Senior a nica autorizada para alterao do modelo. Todos os direitos so reservados para a Senior. Nenhuma parte
deste material e/ou treinamento poder ser reproduzida em qualquer forma ou por qualquer meio eletronicamente, mecanicamente, por fotocpias, gravao ou
outros, sem a prvia autorizao da Senior, sujeitando-se s penalidades previstas em Lei.

1. A estrutura de um WebService

Dentro de cada Web Service poder haver parmetros de entrada e sada.


Alguns destes parmetros de entrada podem ser obrigatrios. A informao da
obrigatoriedade dos parmetros de entrada pode ser verificada dentro do editor de
Servios. Aps clicar sobre a porta ou parmetro tabela do Web Service ser
apresentada uma tabela com os parmetros e informaes sobre o tipo e
obrigatoriedade.
importante que sejam verificados os parmetros obrigatrios do Web Service para
sua execuo correta.

PRODUTO
Universidade
Corporativa

AREA
Universidade
Corporativa

GESTO
Apostila

CAPITULO
Layout

Este documento parte integrante da metodologia de treinamento Senior. proibida a publicao ou reproduo deste documento sem autorizao prvia da
empresa. A rea Universidade Corporativa Senior a nica autorizada para alterao do modelo. Todos os direitos so reservados para a Senior. Nenhuma parte
deste material e/ou treinamento poder ser reproduzida em qualquer forma ou por qualquer meio eletronicamente, mecanicamente, por fotocpias, gravao ou
outros, sem a prvia autorizao da Senior, sujeitando-se s penalidades previstas em Lei.

2. Parmetros de Entrada e Sada

3. Conceito de Grid (tabela) nos Web Services


A grande vantagem no uso dos Web Services o conceito de mltiplos registros
dentro da mesma chamada do Servio. Ou seja, pode-se inserir uma grande
quantidade de informaes distintas dentro da mesma execuo, onde o Sistema ir
decompor esta mensagem e ir processar os vrios registros enviados.
Esta diferena fica visvel se comparar-mos a incluso de um Pedido via Ao
SID e via Web Service.
- Para a incluso de um Pedido simples via ao SID por exemplo, necessrio a
execuo das seguintes aes:
SID.Ped.Gravar
SID.Ped.GravarProduto ou SID.Ped.GravarServico
SID.Ped.GravarObservacao
SID.Ped.Fechar
- Para a incluso de um Pedido Simples via Web Service necessrio a execuo do
Web Service com.senior.g5.co.mcm.ven.pedidos@GravarPedidos.Pedido
Neste caso, o parmetro Pedido do tipo tabela, onde podemos inserir vrios
pedidos dentro desta tabela.
Dentro da tabela Pedido esto disponveis as tabelas Produto, Servico e
Observao. Assim, pode-se criar uma tabela contendo vrios pedidos e dentro
deste pedido vrios produtos para cada pedido, conforme exemplo abaixo:
Como os pedidos sero tratados de forma separada ao chegarem no Sistema,
pode-se controlar o comportamento do pedido individualmente. Como por exemplo,
um pedido pode ser fechado ao ser inserido e outro pedido pode ser mantido em
aberto.
O retorno do processamento tambm ser devolvido em uma tabela, contendo
as informaes de cada pedido e de cada item do pedido. Assim, quando ocorrer um
problema na incluso de um Pedido por exemplo, pode-se verificar em que item do
pedido o problema ocorreu.

Importante!
O cadastramento de um Provedor de Terceiros deve ser efetuado
manualmente dentro do Sistema Senior, verificando as informaes
constantes na documentao do Web Service ou no WSDL do mesmo.

Chamada do WebService:

Retorno do Web Service:

<GravarPedidos>
<Pedido>
Empresa: 1
Filial: 1
Pedido: 1
Cliente: 10
Fecha Pedido: S
<Produto>
Seq. Item: 1
Pedido: 1
Produto: 1101
</Produto>
<Produto>
Seq. Item: 2
Pedido: 1
Produto: 1102
</Produto>
</Pedido>
<Pedido>
Empresa: 1
Filial: 1
Pedido: 2
Cliente: 20
Fecha Pedido: N
<Produto>
Seq. Item: 1
Pedido: 2
Produto: 1501
</Produto>
<Produto>
Seq. Item: 2
Pedido: 2
Produto: 1502
</Produto>
</Pedido>
</GravarPedidos>

<GravarPedidos>
<RespostaPedido>
Empresa: 1
Filial: 1
Pedido: 1
Retorno: Inserido com Sucesso
<Produto>
Seq. Item: 1
Pedido: 1
Retorno: OK
</Produto>
<Produto>
Seq. Item: 2
Pedido: 1
Retorno: OK
</Produto>
</RespostaPedido>
<RespostaPedido>
Empresa: 1
Filial: 1
Pedido: 2
Retorno:
Pedido
Inserido
Parcialmente
<Produto>
Seq. Item: 1
Pedido: 2
Retorno: OK
</Produto>
<Produto>
Seq. Item: 2
Pedido: 2
Retorno: Falta Estoque
</Produto>
</RespostaPedido>
</GravarPedidos>

4. Campos de Usurio
Alguns Web Services possibilitam que sejam inseridas informaes nos campos de
usurio 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. possvel informar
mais de um campo de usurio dentro de cada tabela, inserindo assim vrios registros
nos campos de usurio de uma nica vez.

CAPTULO 03

Chamada de um WebService padro


ou personalizado

Os Sistemas Senior possuem um modo de execuo chamado Modo Depurao


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.
A interface de execuo do Web Service composta de uma tela com os
parmetros de entrada e os campos de sada, bastando o usurio informar os
parmetros obrigatrios, verificamos no Editor de Servios.

1.1. Como executar o Sistema com o -MCDEBUG


Para executar o Sistema em modo de Depurao de Web Service, deve-se
adicionar o parmetro MCDEBUG no atalho do executvel do Sistema.
Exemplos:
C:\Senior\Sapiens\Sapiens.exe MCDEBUG
C:\Senior\Regente\Regente.exe -MCDEBUG
C:\Senior\Vetorh\Rubi.exe -MCDEBUG
Ao iniciar o Sistema, estar disponvel somente o Menu Diversos, conforme imagem
abaixo:

Para acessar os Web Services disponveis, deve-se acessar o caminho:


Diversos > Multicamada, onde ser aberta uma tela com a listagem dos Web Services.

PRODUTO
Universidade
Corporativa

AREA
Universidade
Corporativa

GESTO
Apostila

CAPITULO
Cores e fontes

Este documento parte integrante da metodologia de treinamento Senior. proibida a publicao ou reproduo deste documento sem autorizao prvia da
empresa. A rea Universidade Corporativa Senior a nica autorizada para alterao do modelo. Todos os direitos so reservados para a Senior. Nenhuma parte
deste material e/ou treinamento poder ser reproduzida em qualquer forma ou por qualquer meio eletronicamente, mecanicamente, por fotocpias, gravao ou
outros, sem a prvia autorizao da Senior, sujeitando-se s penalidades previstas em Lei.

1. Chamando um WebService via MCDEBUG

Diferente da listagem dos Web Service disponvel no Editor de Servios, a lista


dos Web Services disponvel via MCDebug traz a descrio do Web Service e no o seu
nome.
MCDebug: Mercado - Gesto de Vendas - Pedidos - Gravar Pedidos
Editor: com.senior.g5.co.mcm.ven.pedidos@GravarPedidos
MCDebug: Mercado - Gesto de Vendas - Pedidos - Exportar Pedidos
Editor: com.senior.g5.co.mcm.ven.pedidos@ExportarPedidos
H tambm uma separao por mtodo (porta), onde no MCDebug so listados vrios
Web Services pela Descrio, mesmo estes pertencendo a mesma rotina. Exemplo:
Web Service Editor: com.senior.g5.co.mcm.ven.pedidos
Web Service MCDebug:
Mercado
Mercado
Mercado
Mercado

Gesto
Gesto
Gesto
Gesto

de
de
de
de

Vendas
Vendas
Vendas
Vendas

Pedidos
Pedidos
Pedidos
Pedidos

Calcular Valores Item Pedido ECF


Exportar Pedidos
Gravar Pedidos
Gravar Pedidos em Grade

1.3. Tela de Entrada do WebService


Ao selecionar um Web Service disponvel na lista, ser aberta uma tela para
entrada de valores que sero enviados ao Web Service. Com isto, no h necessidade
de alterar o XML do Web Service manualmente, podendo ento inserir os dados do
Web Service via tela.

PRODUTO
Universidade
Corporativa

AREA
Universidade
Corporativa

GESTO
Apostila

CAPITULO
Cores e fontes

Este documento parte integrante da metodologia de treinamento Senior. proibida a publicao ou reproduo deste documento sem autorizao prvia da
empresa. A rea Universidade Corporativa Senior a nica autorizada para alterao do modelo. Todos os direitos so reservados para a Senior. Nenhuma parte
deste material e/ou treinamento poder ser reproduzida em qualquer forma ou por qualquer meio eletronicamente, mecanicamente, por fotocpias, gravao ou
outros, sem a prvia autorizao da Senior, sujeitando-se s penalidades previstas em Lei.

1.2. Encontrando o WebService

Este documento parte integrante da metodologia de treinamento Senior. proibida a publicao ou reproduo deste documento sem autorizao prvia da
empresa. A rea Universidade Corporativa Senior a nica autorizada para alterao do modelo. Todos os direitos so reservados para a Senior. Nenhuma parte
deste material e/ou treinamento poder ser reproduzida em qualquer forma ou por qualquer meio eletronicamente, mecanicamente, por fotocpias, gravao ou
outros, sem a prvia autorizao da Senior, sujeitando-se s penalidades previstas em Lei.

Tabelas do Web Service

Campos de Usurio

Retorno da Execuo

1.4. Manipulando XMLs


A partir da tela de entrada do Web Service possvel importar um XML
previamente salvo ou salvar os dados digitados na tela para um arquivo XML. Com
isso, pode-se salvar os dados de um teste para novo uso futuramente.
Este XML gerado pelo MCDebug interpretado somente por este recurso. Este
XML no possui o envelope SOAP, necessrio para a comunicao do Web Service
entre Sistemas.
Devido a este comportamento, no possvel importar um XML gerado pelo soapUI ou
outro Sistema por exemplo, diretamente para o editor do MCDebug.
XML gerado via soapUI (Aplicao Externa)

PRODUTO
Universidade
Corporativa

AREA
Universidade
Corporativa

GESTO
Apostila

CAPITULO
Cores e fontes

1.5. Modos de Execuo


No modo de Depurao de Servios h 4 formas de execuo de um Web
Service. Local, Sncrono, Assncrono e Agendado.
Modo Local: O processamento da requisio ir ocorrer na mesma instncia do
aplicativo, diretamente dentro do Sistema. No haver a necessidade de outros
recursos para a execuo do Web Service, como o Middleware Senior.
O processamento ocorre no mesmo momento da chamada do Web Service.
Modo Sncrono: O processamento da requisio ser direcionada ao Middleware
Senior. necessrio que o Middleware Senior esteja instalado e configurado para uso
dos WebServices. Ser enviada uma solicitao do Servidor Glassfish que ir solicitar
uma instncia do Sistema Senior para processar a requisio.
O processamento tem incio no momento da chamada do Web Service, e o retorno
ser devolvido pelo Servidor Glassfish.
Modo Assncrono: O processamento da requisio ser direcionada ao Middleware
Senior. necessrio que o Middleware Senior esteja instalado e configurado para uso
dos WebServices. Ser enviada uma solicitao do Servidor Glassfish que ir solicitar
uma
instncia
do
Sistema
Senior
para
processar
a
requisio.
O processamento tem incio no momento da chamada do Web Service, e no haver
retorno sobre o processamento da requisio.
Modo Agendado: A solicitao de execuo ser direcionada ao Middleware Senior,
porm no ocorrer no momento da requisio. A solicitao ser Agendada para
execuo no Middleware. Neste modo de execuo no h retorno da execuo para o
Solicitante.

PRODUTO
Universidade
Corporativa

AREA
Universidade
Corporativa

GESTO
Apostila

CAPITULO
Cores e fontes

Este documento parte integrante da metodologia de treinamento Senior. proibida a publicao ou reproduo deste documento sem autorizao prvia da
empresa. A rea Universidade Corporativa Senior a nica autorizada para alterao do modelo. Todos os direitos so reservados para a Senior. Nenhuma parte
deste material e/ou treinamento poder ser reproduzida em qualquer forma ou por qualquer meio eletronicamente, mecanicamente, por fotocpias, gravao ou
outros, sem a prvia autorizao da Senior, sujeitando-se s penalidades previstas em Lei.

XML gerado via MCDebug (Aplicao Senior)

O MCDebug permite que sejam depuradas as regras ligadas as rotinas dos Web
Services, quando a execuo efetuada em modo Local. Este meio de execuo
permite tal funcionalidade, pois pode-se abrir telas de interao com o usurio. Os
demais meios de execuo no possibilitam tal funcionalidade, visto que no
possvel a abertura de telas do Sistema.
Regra com o Depurador ativo

Retorno da Execuo

1.7. Particularidades desta Forma de execuo


- No possvel efetuar a reordenao dos dados da Grid.
- No possvel salvar o XML de retorno do Web Service. Caso for necessrio, deve-se
habilitar a gerao de LOGs nas configuraes dos WebServices, aba Monitoramento.

PRODUTO
Universidade
Corporativa

AREA
Universidade
Corporativa

GESTO
Apostila

CAPITULO
Cores e fontes

Este documento parte integrante da metodologia de treinamento Senior. proibida a publicao ou reproduo deste documento sem autorizao prvia da
empresa. A rea Universidade Corporativa Senior a nica autorizada para alterao do modelo. Todos os direitos so reservados para a Senior. Nenhuma parte
deste material e/ou treinamento poder ser reproduzida em qualquer forma ou por qualquer meio eletronicamente, mecanicamente, por fotocpias, gravao ou
outros, sem a prvia autorizao da Senior, sujeitando-se s penalidades previstas em Lei.

1.6. Depurando uma regra ligada a rotina do Web Service

Diferente da execuo do Web Service via MCDebug, as informaes enviadas ao


Web Service via regra LSP devem ser tratadas manualmente. necessrio declarar a
varivel do Web Service na regra para que ele fique disponvel para chamada.
Para parmetros do tipo tabela, deve-se obrigatoriamente inserir linhas na
tabela do parmetro para que o processamento seja efetuado corretamente. Caso no
sejam adicionadas linhas para o parmetro do tipo tabela, os valores informados
podem ser sobrescritos.

2.1. Estrutura da regra LSP

2.2. Modos de Execuo


Os modos de execuo de Web Service via regra LSP seguem o mesmo padro
utilizado via MCDebug, porm so tratados por numerao na regra, conforme abaixo:

PRODUTO
Universidade
Corporativa

AREA
Universidade
Corporativa

GESTO
Apostila

CAPITULO
Cores e fontes

Este documento parte integrante da metodologia de treinamento Senior. proibida a publicao ou reproduo deste documento sem autorizao prvia da
empresa. A rea Universidade Corporativa Senior a nica autorizada para alterao do modelo. Todos os direitos so reservados para a Senior. Nenhuma parte
deste material e/ou treinamento poder ser reproduzida em qualquer forma ou por qualquer meio eletronicamente, mecanicamente, por fotocpias, gravao ou
outros, sem a prvia autorizao da Senior, sujeitando-se s penalidades previstas em Lei.

2. Chamando um WebService via Regra LSP

Local
Sncrono
Assncrono
- Agendado

Caso a varivel ModoExecucao no seja declarada na execuo do Web Service


via regra LSP, por padro o Web Service ser executado Localmente.
Nesta situao, executando o Web Service localmente na regra LSP o Web Service
ter o mesmo comportamento de uma funo de programador, sendo executado
diretamente no mesmo aplicativo que est executando a regra.

2.3. Obtendo retorno da execuo (Grids)


Aps a execuo do Web Service em modo Local ou Sncrono, possvel obter os
dados de retorno da execuo do Web Service e os dados de retorno das tabelas,
quando disponveis.
O retorno das informaes geralmente ocorre em uma tabela. Com isso,
necessrio ler os dados das linhas desta tabela para obter o retorno de cada linha da
tabela. Caso contrrio no ser possvel verificar o retorno de todos os Itens da tabela
e verificar possveis problemas.
Abaixo h um exemplo de regra para obter o retorno de cada linha das tabelas de
retorno da tabela de Pedido e Produto.

2.4. Particularidades desta forma de execuo


- Se o retorno for do tipo tabela e no foram lidos todos os registros, o retorno ser
apresentado de forma incompleta.
PRODUTO
Universidade
Corporativa

AREA
Universidade
Corporativa

GESTO
Apostila

CAPITULO
Cores e fontes

Este documento parte integrante da metodologia de treinamento Senior. proibida a publicao ou reproduo deste documento sem autorizao prvia da
empresa. A rea Universidade Corporativa Senior a nica autorizada para alterao do modelo. Todos os direitos so reservados para a Senior. Nenhuma parte
deste material e/ou treinamento poder ser reproduzida em qualquer forma ou por qualquer meio eletronicamente, mecanicamente, por fotocpias, gravao ou
outros, sem a prvia autorizao da Senior, sujeitando-se s penalidades previstas em Lei.

1
2
3
4

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);
definir interno.com.senior.g5.co.mfi.cre.titulos.EntradaTitulosLoteCR SrvGerCtaRec;
@ Montagem do servivo para incluso do ttulo substitulo @
SrvGerCtaRec.CodEmp = 1;
@ Codigo da empresa @
SrvGerCtaRec.CodFil = 1;
@ Codigo da filial @
SrvGerCtaRec.EntradaTitulos.CriarLinha();
SrvGerCtaRec.EntradaTitulos.CodFil = 1;
@ Codigo da filial @
SrvGerCtaRec.EntradaTitulos.NumTit = "TIT001"; @ Nmero do ttulo a receber @
SrvGerCtaRec.EntradaTitulos.CodTpt = "DM";
@ Cdigo do tipo de ttulo a receber @
SrvGerCtaRec.EntradaTitulos.CodTns = "90300";
@ Cdigo da transao que gerou o ttulo a
receber @
SrvGerCtaRec.EntradaTitulos.DatEmi = dDatEmi;
@ Data de emisso do ttulo a receber @
SrvGerCtaRec.EntradaTitulos.DatEnt = dDatEnt;
@ Data de entrada do ttulo a receber @
SrvGerCtaRec.EntradaTitulos.CodCli = 1;
@ Cdigo do cliente do ttulo a receber @
SrvGerCtaRec.EntradaTitulos.CodRep = 1;
@ Cdigo do representante do ttulo a receber @
SrvGerCtaRec.EntradaTitulos.VctOri = dVctOri;
@ Data do vencimento @
SrvGerCtaRec.EntradaTitulos.VctPro = dVctPro;
@ Data do vencimento Prorrogado @
SrvGerCtaRec.EntradaTitulos.VlrOri = 100;
@ Valor original do ttulo a receber @
SrvGerCtaRec.EntradaTitulos.CodFpg = 001;
@ Cdigo da forma de pagamento @
SrvGerCtaRec.EntradaTitulos.DatPpt = dDatPpt;
@ Data do provvel pagamento @
SrvGerCtaRec.EntradaTitulos.CodPor = "9999";
@ Cdigo do portador do ttulo @
SrvGerCtaRec.EntradaTitulos.CodCrt = "99";
@ Cdigo da carteira do ttulo a receber @
SrvGerCtaRec.EntradaTitulos.CodMoe = "01";
@ Cdigo da moeda @
SrvGerCtaRec.EntradaTitulos.CodFil = 1;
@ Codigo da filial @
SrvGerCtaRec.EntradaTitulos.NumTit = "TIT002"; @ Nmero do ttulo a receber @
SrvGerCtaRec.EntradaTitulos.CodTpt = "DM";
@ Cdigo do tipo de ttulo a receber @
SrvGerCtaRec.EntradaTitulos.CodTns = "90300";
@ Cdigo da transao que gerou o ttulo a
receber @
SrvGerCtaRec.EntradaTitulos.DatEmi = dDatEmi;
@ Data de emisso do ttulo a receber @
SrvGerCtaRec.EntradaTitulos.DatEnt = dDatEnt;
@ Data de entrada do ttulo a receber @
SrvGerCtaRec.EntradaTitulos.CodCli = 1;
@ Cdigo do cliente do ttulo a receber @
SrvGerCtaRec.EntradaTitulos.CodRep = 1;
@ Cdigo do representante do ttulo a receber @
SrvGerCtaRec.EntradaTitulos.VctOri = dVctOri;
@ Data do vencimento @
SrvGerCtaRec.EntradaTitulos.VctPro = dVctPro;
@ Data do vencimento Prorrogado @
SrvGerCtaRec.EntradaTitulos.VlrOri = 100;
@ Valor original do ttulo a receber @
SrvGerCtaRec.EntradaTitulos.CodFpg = 001;
@ Cdigo da forma de pagamento @
SrvGerCtaRec.EntradaTitulos.DatPpt = dDatPpt;
@ Data do provvel pagamento @
SrvGerCtaRec.EntradaTitulos.CodPor = "9999";
@ Cdigo do portador do ttulo @
SrvGerCtaRec.EntradaTitulos.CodCrt = "99";
@ Cdigo da carteira do ttulo a receber @
SrvGerCtaRec.EntradaTitulos.CodMoe = "01";
@ Cdigo da moeda @
SrvGerCtaRec.ModoExecucao = 1;
SrvGerCtaRec.Executar();
nQtdLin = SrvGerCtaRec.GridResult.QtdLinhas;
Para (i = 0; i < nqtdlin;i++)
{
SrvGerCtaRec.GridResult.LinhaAtual = i;
aNumTit = SrvGerCtaRec.GridResult.NumTit;
PRODUTO
Universidade
Corporativa

AREA
Universidade
Corporativa

GESTO
Apostila

CAPITULO
Cores e fontes

Este documento parte integrante da metodologia de treinamento Senior. proibida a publicao ou reproduo deste documento sem autorizao prvia da
empresa. A rea Universidade Corporativa Senior a nica autorizada para alterao do modelo. Todos os direitos so reservados para a Senior. Nenhuma parte
deste material e/ou treinamento poder ser reproduzida em qualquer forma ou por qualquer meio eletronicamente, mecanicamente, por fotocpias, gravao ou
outros, sem a prvia autorizao da Senior, sujeitando-se s penalidades previstas em Lei.

2.5. Exemplo

3.

Chamando um WebService via Sistema Externo

(soapUI)
possvel chamar um Web Service padro do Sistema ou Personalizado a partir
de Sistemas de Terceiros.
Isto possvel ao publicar os Web Services no Servidor Glassfish (deploy), onde este
ir disponibilizar os Web Services para outros Sistemas, criando uma ponte entre os
Sistemas de Terceiros e os Sistemas Senior. Esta ponde pode ser chamada de
Registrador.

3.1. Entidades envolvidas no processo


Provedor (Sistema Senior): Responsvel pela descrio do servio. Esta descrio
um documento WSDL que contm vrias informaes do servio, como por exemplo,
informaes sobre parmetros, endpoints, dados do criador. Tambm encarregado
de publicar os servios em uma entidade registradora.
Consumidor (Sistema Terceiros): Responsvel por obter o documento WSDL do
servio desejado. Posteriormente, utilizar as informaes fornecidas por este
documento fazer a ligao com o provedor, invocando um Servio Web.
Registrador (Servidor Glassfish): Entidade responsvel por armazenar as
informaes disponibilizadas pelos provedores em um repositrio. nesta entidade
que o consumidor procura por um servio com base no endereo disponibilizado.

3.2. WSDL (Web Service Description Language)


Podemos descrever o WSDL como a definio do Web Service. O WSDL um
documento XML disponvel de forma on-line para qualquer aplicao ou usurio que
tenha acesso ao seu endereo. Neste documento XML esto disponveis todas as
informaes do Web Service como parmetros, tipos de dados, endereos dos
Servios, Provedores. Est disponvel tambm em alguns WSDLs o endereo do XSD
do Web Service, que contm a definio de todos os parmetros do Web Service.
Assim, temos o WSDL como uma capa das definies do Web Service e o XSD
com todas as informaes detalhadas sobre o Web Service.
Basicamente, quando o cliente deseja enviar uma mensagem para um
determinado Web Service, ele obtm a descrio do servio (atravs da localizao do
respectivo documento WSDL), e em seguida constri a mensagem, passando todos os
parmetros de acordo com a definio encontrada no documento.
PRODUTO
Universidade
Corporativa

AREA
Universidade
Corporativa

GESTO
Apostila

CAPITULO
Cores e fontes

Este documento parte integrante da metodologia de treinamento Senior. proibida a publicao ou reproduo deste documento sem autorizao prvia da
empresa. A rea Universidade Corporativa Senior a nica autorizada para alterao do modelo. Todos os direitos so reservados para a Senior. Nenhuma parte
deste material e/ou treinamento poder ser reproduzida em qualquer forma ou por qualquer meio eletronicamente, mecanicamente, por fotocpias, gravao ou
outros, sem a prvia autorizao da Senior, sujeitando-se s penalidades previstas em Lei.

aResultado = SrvGerCtaRec.Resultado;
aMensagem = "Ttulo: " + aNumTit + " = " + SrvGerCtaRec.GridResult.TxtRet;

partir de ento, o servio remoto sabe como tratar a mensagem, sabe como
process-la (possivelmente enviando-a para outro programa) e como montar a
resposta ao cliente.

3.3. Obtendo o EndPoint do WSDL do Webservice


Para os Web Services padres Senior ou Personalizados, o WSDL pode ser obtido
no endereo do Web Service, adicionando o parmetro ?WSDL no final do endereo.
Exemplo:
http://servidor:9090/g5-seniorservices/sapiens/Synccom_senior_g5_co_mcm_ven_pedidos?wsdl
Acessar o console de Administrao do Glassfish;
Abrir o item Web Services do menu a esquerda;
Procurar o Web Service na lista aberta a direita
Utilizar os Web Service do modo SynConn que so os Web Service do modo
Sncrono;
Clicar no item View WSDL;
Copiar o endereo do WSDL;

3.4. Criando um projeto WSDL no soapUI


Aps obter o endereo do WSDL do Web Service, ser necessrio criar um novo
projeto dentro do soapUI. O soapUI ir ler as definies contidas no WSDL e no XSD
do Web Service para montar a chamada do Servio e disponibilizar os campos do Web
Service em forma de XML na tela do soapUI.
- Acessar o menu File > New SoapUI Project

PRODUTO
Universidade
Corporativa

AREA
Universidade
Corporativa

GESTO
Apostila

CAPITULO
Cores e fontes

Este documento parte integrante da metodologia de treinamento Senior. proibida a publicao ou reproduo deste documento sem autorizao prvia da
empresa. A rea Universidade Corporativa Senior a nica autorizada para alterao do modelo. Todos os direitos so reservados para a Senior. Nenhuma parte
deste material e/ou treinamento poder ser reproduzida em qualquer forma ou por qualquer meio eletronicamente, mecanicamente, por fotocpias, gravao ou
outros, sem a prvia autorizao da Senior, sujeitando-se s penalidades previstas em Lei.

Em seguida, a mensagem enviada para o endereo onde o servio est


localizado, a fim de que possa ser processada. O Web Service, quando recebe esta
mensagem valida-a conforme as informaes contidas no documento WSDL.

- Ser criado um novo projeto com o nome definido na importao do WSDL

- Dentro do Projeto est o Web Service importado e as portas de entrada.


- Ao clicar na opo Request 1, sero apresentados os parmetros de entrada da
porta do Web Service.
A partir deste momento possvel inserir as informaes necessrias para execuo
do Web Service via Middleware Senior.

3.5. Verificando os parmetros do WebService


Com a importao do WSDL do Web Service, o SoapUI ir importar todos os
parmetros de entrada da porta selecionada.
Importante: No h como importar somente os parmetros obrigatrios. Caso no for
necessrio utilizar determinado parmetro, deve-se deixar com a informao original,
sem alterao.

PRODUTO
Universidade
Corporativa

AREA
Universidade
Corporativa

GESTO
Apostila

CAPITULO
Cores e fontes

Este documento parte integrante da metodologia de treinamento Senior. proibida a publicao ou reproduo deste documento sem autorizao prvia da
empresa. A rea Universidade Corporativa Senior a nica autorizada para alterao do modelo. Todos os direitos so reservados para a Senior. Nenhuma parte
deste material e/ou treinamento poder ser reproduzida em qualquer forma ou por qualquer meio eletronicamente, mecanicamente, por fotocpias, gravao ou
outros, sem a prvia autorizao da Senior, sujeitando-se s penalidades previstas em Lei.

- Informar o endereo do WSDL no campo Initial WSDL/WADL

possvel verificar que h mais de


mensagemRetorno, retorno e tipoRetorno

PRODUTO
Universidade
Corporativa

AREA
Universidade
Corporativa

GESTO
Apostila

uma

CAPITULO
Cores e fontes

informao
de
retorno,

mensagemRetorno: Mensagem de retorno do processamento do Web Service.


sendo:

Este documento parte integrante da metodologia de treinamento Senior. proibida a publicao ou reproduo deste documento sem autorizao prvia da
empresa. A rea Universidade Corporativa Senior a nica autorizada para alterao do modelo. Todos os direitos so reservados para a Senior. Nenhuma parte
deste material e/ou treinamento poder ser reproduzida em qualquer forma ou por qualquer meio eletronicamente, mecanicamente, por fotocpias, gravao ou
outros, sem a prvia autorizao da Senior, sujeitando-se s penalidades previstas em Lei.

possvel tambm, para melhor visualizao e padronizao remover os parmetros


no utilizados do Web Service.

tipoRetorno: 1 = Processado, 2 = Erro na Solicitao

3.6. Particularidades desta forma de execuo


3.6.1. Java Case Sensitive
A linguagem JAVA Case Sensitive, ou seja, o parmetro <user> diferente de
do parmetro <User>. obrigatrio manter o mesmo nome do parmetro que o
soapUI importou no projeto.
Caso seja definido um parmetro com diferena entre letras maisculas e minsculas
do que est definido no WSDL, o Sistema Senior no interpretar este parmetro pois
o JAVA ir abstra-lo, conforme exemplo:
Definio do Web Service na WSDL:
<soapenv:Header/>
<soapenv:Body>
<ser:AuthenticateJAAS>
<user> </user>
<password> </password>
<encryption></encryption>
<parameters>
<pmUserName> </pmUserName>
<pmUserPassword> </pmUserPassword>
</parameters>
</ser:AuthenticateJAAS>
</soapenv:Body>

Mensagem enviada ao Servidor Glassfish com o parmetro alterado:


<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>

Mensagem recebida pelo Sistemas Senior (G5):


<soapenv:Header/>
<soapenv:Body>
<ser:AuthenticateJAAS>
<user>senior</user>
<password>senior</password>
<encryption>0</encryption>
<parameters>
<pmUserName>Usuario</pmUserName>
</parameters>
</ser:AuthenticateJAAS>
</soapenv:Body>

3.6.2. Funo Mensagem(Retorna,xxx)


PRODUTO
Universidade
Corporativa

AREA
Universidade
Corporativa

GESTO
Apostila

CAPITULO
Cores e fontes

Este documento parte integrante da metodologia de treinamento Senior. proibida a publicao ou reproduo deste documento sem autorizao prvia da
empresa. A rea Universidade Corporativa Senior a nica autorizada para alterao do modelo. Todos os direitos so reservados para a Senior. Nenhuma parte
deste material e/ou treinamento poder ser reproduzida em qualquer forma ou por qualquer meio eletronicamente, mecanicamente, por fotocpias, gravao ou
outros, sem a prvia autorizao da Senior, sujeitando-se s penalidades previstas em Lei.

retorno: Mensagem de retorno do processamento do item do Web Service.

Quando o Web Service executado de forma Sncrona, Assncrona ou Agendada,


no possvel utilizar nenhum recurso que necessite de interao do usurio, como a
funo Mensagem(Retorna,xxx). Isto ocorre pois, nestes meios de execuo, no h
como confirmar uma mensagem gerada para o usurio e prosseguir com a execuo
da regra.
Esta situao pode ocorrer quando utilizado um identificador de regras atrelado
a uma regra LSP, sendo que esta regra possui uma ocorrncia da funo
Mensagen(Retorna,xxx).
Quando esta situao for constatada, o Sistema ir retornar a seguinte mensagem no
campo de retorno do Web Service:
Regra XXX: No permitido executar nas regras o comando "Mensagem" com
"Retorna" quando a instncia da aplicao de servio.
3.6.3. Janelas via Servio
Constatamos em alguns situaes que a rotina do Sistema tenta abrir uma tela
do Sistema quando executada a rotina do Web Service. Por exemplo, ao executar
um Web Service ou ao SID via Web Service, gerada uma tela com uma barra de
progresso.
Nesta situao, quando o Web Service ou ao SID via Web Service for executada via
Middleware Senior, a sua execuo ser abortada no chegando a ser processado
pelo ERP. Isto pode ocorrer quando utiliza-se um Web Service personalizado e algum
Web Service ou ao SID na regra LSP do Web Service.
3.6.4. XML gerado pelo MCDebug e via soapUI (incompatibilidade)
Conforme item 3.1.4, no possvel importar um XML gerado pelo MCDebug no
SoapUI, devido a ausncia do envelope SOAP no XML do MCDebug.
3.6.5. Campos data (no informados)
Em alguns Web Services, pode haver um campo do tipo Data que opcional.
Nesta situao, se no for informada nenhuma informao para este campo, o mesmo
deve ser retirado do XML do Web Service.
Isto necessrio pois o SoapUI adiciona o valor ? para todos os campos, fazendo com
que ele se torne em branco quando enviado para exeuo.
Porm para os campos do tipo data, h uma validao desta informao, retornando
que a data no est no formato correto.

PRODUTO
Universidade
Corporativa

AREA
Universidade
Corporativa

GESTO
Apostila

CAPITULO
Cores e fontes

Este documento parte integrante da metodologia de treinamento Senior. proibida a publicao ou reproduo deste documento sem autorizao prvia da
empresa. A rea Universidade Corporativa Senior a nica autorizada para alterao do modelo. Todos os direitos so reservados para a Senior. Nenhuma parte
deste material e/ou treinamento poder ser reproduzida em qualquer forma ou por qualquer meio eletronicamente, mecanicamente, por fotocpias, gravao ou
outros, sem a prvia autorizao da Senior, sujeitando-se s penalidades previstas em Lei.

Os Web Services executados por outras formas que no seja via regra LSP em
modo local, no permitem a utilizao da funo Mensagem(Retorna,xxx) nas regras
ligadas a rotina do Web Service.

Sempre que um Web Service personalizado for alterado aps sua publicao no
Glassfish (Deploy) e esta alterao envolver campos do Web Service, ser necessrio
efetuar um novo Deploy. Caso no for efetuado um novo Deploy aps sua alterao,
as alteraes nos Campos no ficaro disponveis no Web Service publicado no
Glassfish.

PRODUTO
Universidade
Corporativa

AREA
Universidade
Corporativa

GESTO
Apostila

CAPITULO
Cores e fontes

Este documento parte integrante da metodologia de treinamento Senior. proibida a publicao ou reproduo deste documento sem autorizao prvia da
empresa. A rea Universidade Corporativa Senior a nica autorizada para alterao do modelo. Todos os direitos so reservados para a Senior. Nenhuma parte
deste material e/ou treinamento poder ser reproduzida em qualquer forma ou por qualquer meio eletronicamente, mecanicamente, por fotocpias, gravao ou
outros, sem a prvia autorizao da Senior, sujeitando-se s penalidades previstas em Lei.

3.6.6 Publicao de Alteraes (Deploy )

Provedores de Terceiros

PRODUTO
Universidade
Corporativa

AREA
Universidade
Corporativa

GESTO
Apostila

CAPITULO
Cores e fontes

Este documento parte integrante da metodologia de treinamento Senior. proibida a publicao ou reproduo deste documento sem autorizao prvia da
empresa. A rea Universidade Corporativa Senior a nica autorizada para alterao do modelo. Todos os direitos so reservados para a Senior. Nenhuma parte
deste material e/ou treinamento poder ser reproduzida em qualquer forma ou por qualquer meio eletronicamente, mecanicamente, por fotocpias, gravao ou
outros, sem a prvia autorizao da Senior, sujeitando-se s penalidades previstas em Lei.

CAPTULO 04

Identificando a URL do provedor e o contexto

Acessar a WSDL do Web Service:


http://www.w3schools.com/webservices/tempconvert.asmx?WSDL
A URL do provedor o trecho do endereo at a primeira barra /:
http://www.w3schools.com
O contexto tudo o que est entre a URL do provedor e o nome do servio:
webservices
O Web Service o trecho aps o contexto
tempconvert.asmx

2.

Localizando o Identificador Universal

O Identificador Universal o namespace informado na WSDL do Web Service


targetNamespace="http://tempuri.org/"

3.

Identificando a Ao do Web Service

A ao do Web Service publicada na TAG "soapAction" da Porta do Web Service


soapAction="http://tempuri.org/FahrenheitToCelsius"

4.

Parmetros de Entrada e Sada

Os parmetros de entrada e sada so publicado no WSDL ou no XSD do Web Service.


Exemplo:
<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>

PRODUTO
Universidade
Corporativa

AREA
Universidade
Corporativa

GESTO
Apostila

CAPITULO
Cores e fontes

Este documento parte integrante da metodologia de treinamento Senior. proibida a publicao ou reproduo deste documento sem autorizao prvia da
empresa. A rea Universidade Corporativa Senior a nica autorizada para alterao do modelo. Todos os direitos so reservados para a Senior. Nenhuma parte
deste material e/ou treinamento poder ser reproduzida em qualquer forma ou por qualquer meio eletronicamente, mecanicamente, por fotocpias, gravao ou
outros, sem a prvia autorizao da Senior, sujeitando-se s penalidades previstas em Lei.

1.

Exemplo de Web Service Personalizado

PRODUTO
Universidade
Corporativa

AREA
Universidade
Corporativa

GESTO
Apostila

CAPITULO
Cores e fontes

Este documento parte integrante da metodologia de treinamento Senior. proibida a publicao ou reproduo deste documento sem autorizao prvia da
empresa. A rea Universidade Corporativa Senior a nica autorizada para alterao do modelo. Todos os direitos so reservados para a Senior. Nenhuma parte
deste material e/ou treinamento poder ser reproduzida em qualquer forma ou por qualquer meio eletronicamente, mecanicamente, por fotocpias, gravao ou
outros, sem a prvia autorizao da Senior, sujeitando-se s penalidades previstas em Lei.

CAPTULO 05

Saida: Campo de Sada dos dados


Tipo: AlfaNumrico
Regra do Web Service
Definir
Definir
Definir
Definir

alfa entrada;
alfa aRetorno;
alfa aNomCli;
cursor Cur_E085CLI;

entrada = msg.entrada;
Cur_E085CLI.SQL "Select NomCli \
from E085CLI \
where CodCli =:entrada";
Cur_E085CLI.AbrirCursor();
Se (Cur_E085CLI.Achou)
inicio
aNomCli = Cur_E085CLI.NomCli;
msg.saida = aNomCli;
fim;
Senao
inicio
msg.saida = "Cliente no encontrado";
fim;
Cur_E085CLI.FecharCursor();

No exemplo acima, msg o nome da porta do Web Service. Sempre que for
necessrio ler ou devolver um dado para um dos parmetros do Web Service, deve-se
inserir o nome da porta antes do parmetro.

PRODUTO
Universidade
Corporativa

AREA
Universidade
Corporativa

GESTO
Apostila

CAPITULO
Cores e fontes

Este documento parte integrante da metodologia de treinamento Senior. proibida a publicao ou reproduo deste documento sem autorizao prvia da
empresa. A rea Universidade Corporativa Senior a nica autorizada para alterao do modelo. Todos os direitos so reservados para a Senior. Nenhuma parte
deste material e/ou treinamento poder ser reproduzida em qualquer forma ou por qualquer meio eletronicamente, mecanicamente, por fotocpias, gravao ou
outros, sem a prvia autorizao da Senior, sujeitando-se s penalidades previstas em Lei.

Entrada: Campo de Entrada.


Tipo: AlfaNumrico

Rua So Paulo, 825 - Victor Konder


Blumenau - SC - CEP: 89012-001
Rua So Paulo, 825 - Victor Konder
Telefone: +55 47 3039-3580
Blumenau - SC - CEP: 89012-001
universidade.corporativa@senior.com.br
Telefone: 0800 648 3300
www.senior.com.br
faleconosco@senior.com.br
PRODUTO

AREA

GESTO

CAPITULO

ERP

Controladoria

Gesto de Compras

Introduo

www.senior.com.br

Anda mungkin juga menyukai