Download - PPT Descritivo Web Services SAPIENS
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.
TESTANDO WEB SERVICES
CAPÍTULO 01 Conceitos
Objetivo geral
Ao final deste capítulo, você será capaz de:
Efetuar testes de execução de Web Services padrões
dos Sistemas Senior, utilizando suas várias formas de
execução (MCDebug, Regra LSP e Sistema de
Terceiros.
Também são apresentadas informações sobre o uso de
Web Services Customizados e a utilização de Web
Services de Outros Sistemas.
1. O que é um WebService
Web Service é uma solução utilizada para integrar Sistemas e na comunicação
entre aplicações de plataformas diferentes. Com este recurso é possível que novas
aplicações possam ser integradas com aplicações já existentes e que Sistemas
desenvolvidos em plataformas distintas sejam compatíveis.
Os Web Services são componentes que permitem as aplicações enviar e receber
dados no formato XML. Cada aplicações pode ter sua linguagem, que será traduzida
para o XML, fazendo com que em certo ponto utilizem a mesma linguagem para
comunicação.
2. Como Funciona um WebService
A comunicação dos Web Services baseiam-se no protocolo SOAP (Simple Object
Access Protocol). O protocolo SOAP utiliza geralmente o HTTP para transferência das
informações.
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.
Utilizando o Web Service internamente no Sistema, via Regra LSP ou via
MCDebug, como veremos mais a frente, a comunicação 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,
não necessitando de camadas intermediárias para direcionar o processamento do Web
Service.
3. Quais Web Services estão disponíveis e onde
encontrá-los
A lista dos Web Services disponíveis em cada Sistema deve ser obtida no Editor
de Serviços, dentro de cada Sistema, nos caminhos abaixo:
ERP: Recursos > Implementações > WebServices > Editar
Regente: Diversos > Serviços > Editor
RH e Acesso: Recursos > Implementações > Editor Web Services
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
4. Diferença entre WS Padrão, de Terceiros e
Personalizados
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 disponibilizados juntamente com o Sistema, sendo programado pela área de
Desenvolvimento. Não é possível alterar seu comportamento padrão ou personalizar
as portas (métodos) liberadas;
É possível adicionar novas portas (métodos) dentro de um WebService Padrão, criando
assim uma porta personalizada, com a mesma estrutura de um Web Service
personalizado.
Os Web Services padrões são identificáveis conforme o ícone abaixo:
4.2 - Web Services Personalizados
São Web Services criados ou customizados de acordo com a necessidade do
Cliente. Todas as portas de entrada e saída de informações são customizadas.
O comportamento e processamento deste tipo de Web Service é controlado via regra
LSP, programada dentro do próprio Web Service.
Os Web Services Customizados são identificáveis conforme o ícone abaixo:
4.3 - Web Services de Terceiros
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.
Um Web Service de Terceiros será adicionado dentro de um provedor diferente
do provedor interno, onde estão disponíveis os Web Services Padrões e
Personalizados.
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
PRODUTO AREA GESTÃO CAPITULO
Universidade Corporativa
Universidade Corporativa
Apostila Layout
Este
docum
ento
é p
art
e i
nte
gra
nte
da m
eto
dolo
gia
de t
rein
am
ento
Senio
r. É
pro
ibid
a a
publicação o
u r
epro
dução d
este
docum
ento
sem
auto
rização p
révia
da
em
pre
sa.
A á
rea U
niv
ers
idade C
orp
ora
tiva S
enio
r é a
únic
a a
uto
rizada p
ara
altera
ção d
o m
odelo
. Todos o
s d
ireitos s
ão r
eserv
ados p
ara
a S
enio
r. N
enhum
a p
art
e
deste
mate
rial e/o
u t
rein
am
ento
poderá
ser
repro
duzid
a e
m q
ualq
uer
form
a o
u p
or
qualq
uer
meio
ele
tronic
am
ente
, m
ecanic
am
ente
, por
foto
cópia
s,
gra
vação o
u
outr
os, sem
a p
révia
auto
rização d
a S
enio
r, s
uje
itando-s
e à
s p
enalidades p
revis
tas e
m L
ei.
1. A estrutura de um WebService
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
As portas de comunicação são os métodos do WebService. Ou seja, é a rotina
que irá ser executada pelo Sistema. Os parâmetros desta porta são as entradas de
dados para processamento e a saída que será devolvida após o processamento da
rotina pelo Sistema.
Um Web Service pode ter mais de uma porta (método), conforme a área do
WebService. O exemplo abaixo ilustra um Web Service que possui mais de uma porta
(método) para a mesma rotina do Sistema (Pedidos).
É possível também que o Web Service possua somente parâmetros de entrada
ou somente parâmetros de saída.
Havendo somente parâmetros de entrada o Web Service não devolverá nenhuma
informação sobre o processamento. Caso houver somente parâmetros de saída, não
será necessário informar nenhuma informação para execução do Web Service,
bastando somente invocá-lo para obter o resultado.
PRODUTO AREA GESTÃO CAPITULO
Universidade Corporativa
Universidade Corporativa
Apostila Layout
Este
docum
ento
é p
art
e i
nte
gra
nte
da m
eto
dolo
gia
de t
rein
am
ento
Senio
r. É
pro
ibid
a a
publicação o
u r
epro
dução d
este
docum
ento
sem
auto
rização p
révia
da
em
pre
sa.
A á
rea U
niv
ers
idade C
orp
ora
tiva S
enio
r é a
únic
a a
uto
rizada p
ara
altera
ção d
o m
odelo
. Todos o
s d
ireitos s
ão r
eserv
ados p
ara
a S
enio
r. N
enhum
a p
art
e
deste
mate
rial e/o
u t
rein
am
ento
poderá
ser
repro
duzid
a e
m q
ualq
uer
form
a o
u p
or
qualq
uer
meio
ele
tronic
am
ente
, m
ecanic
am
ente
, por
foto
cópia
s,
gra
vação o
u
outr
os, sem
a p
révia
auto
rização d
a S
enio
r, s
uje
itando-s
e à
s p
enalidades p
revis
tas e
m L
ei.
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
Serviços. Após clicar sobre a porta ou parâmetro tabela do Web Service será
apresentada uma tabela com os parâmetros e informações sobre o tipo e
obrigatoriedade.
É importante que sejam verificados os parâmetros obrigatórios do Web Service para
sua execução correta.
3. Conceito de Grid (tabela) nos Web Services
A grande vantagem no uso dos Web Services é o conceito de múltiplos registros
dentro da mesma chamada do Serviço. Ou seja, pode-se inserir uma grande
quantidade de informações distintas dentro da mesma execução, onde o Sistema irá
“decompor” esta mensagem e irá processar os vários registros enviados.
Esta diferença fica visível se comparar-mos a inclusão de um Pedido via Ação
SID e via Web Service.
- 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
- Para a inclusão de um Pedido Simples via Web Service é necessário a execução do
Web Service [email protected]
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:
Como os pedidos serão 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 também será devolvido em uma tabela, contendo
as informações de cada pedido e de cada item do pedido. Assim, quando ocorrer um
problema na inclusão 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 informações
constantes na documentação do Web Service ou no WSDL do mesmo.
Chamada do WebService:
<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>
Retorno do Web Service:
<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 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
PRODUTO AREA GESTÃO CAPITULO
Universidade Corporativa
Universidade Corporativa
Apostila Cores e fontes
Este
docum
ento
é p
art
e i
nte
gra
nte
da m
eto
dolo
gia
de t
rein
am
ento
Senio
r. É
pro
ibid
a a
publicação o
u r
epro
dução d
este
docum
ento
sem
auto
rização p
révia
da
em
pre
sa.
A á
rea U
niv
ers
idade C
orp
ora
tiva S
enio
r é a
únic
a a
uto
rizada p
ara
altera
ção d
o m
odelo
. Todos o
s d
ireitos s
ão r
eserv
ados p
ara
a S
enio
r.
Nenhum
a p
art
e
deste
mate
rial e/o
u t
rein
am
ento
poderá
ser
repro
duzid
a e
m q
ualq
uer
form
a o
u p
or
qualq
uer
meio
ele
tronic
am
ente
, m
ecanic
am
ente
, por
foto
cópia
s,
gra
vação o
u
outr
os, sem
a p
révia
auto
rização d
a S
enio
r, s
uje
itando-s
e à
s p
enalidades p
revis
tas e
m L
ei.
1. Chamando um WebService via MCDEBUG
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.
A interface de execução do Web Service é composta de uma tela com os
parâmetros de entrada e os campos de saída, bastando o usuário informar os
parâmetros obrigatórios, verificamos no Editor de Serviços.
1.1. Como executar o Sistema com o -MCDEBUG
Para executar o Sistema em modo de Depuração de Web Service, deve-se
adicionar o parâmetro –MCDEBUG no atalho do executável 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á disponível somente o Menu Diversos, conforme imagem
abaixo:
Para acessar os Web Services disponíveis, deve-se acessar o caminho:
Diversos > Multicamada, onde será aberta uma tela com a listagem dos Web Services.
PRODUTO AREA GESTÃO CAPITULO
Universidade Corporativa
Universidade Corporativa
Apostila Cores e fontes
Este
docum
ento
é p
art
e i
nte
gra
nte
da m
eto
dolo
gia
de t
rein
am
ento
Senio
r. É
pro
ibid
a a
publicação o
u r
epro
dução d
este
docum
ento
sem
auto
rização p
révia
da
em
pre
sa.
A á
rea U
niv
ers
idade C
orp
ora
tiva S
enio
r é a
únic
a a
uto
rizada p
ara
altera
ção d
o m
odelo
. Todos o
s d
ireitos s
ão r
eserv
ados p
ara
a S
enio
r.
Nenhum
a p
art
e
deste
mate
rial e/o
u t
rein
am
ento
poderá
ser
repro
duzid
a e
m q
ualq
uer
form
a o
u p
or
qualq
uer
meio
ele
tronic
am
ente
, m
ecanic
am
ente
, por
foto
cópia
s,
gra
vação o
u
outr
os, sem
a p
révia
auto
rização d
a S
enio
r, s
uje
itando-s
e à
s p
enalidades p
revis
tas e
m L
ei.
1.2. Encontrando o WebService
Diferente da listagem dos Web Service disponível no Editor de Serviços, a lista
dos Web Services disponível via MCDebug traz a descrição do Web Service e não o seu
nome.
MCDebug: Mercado - Gestão de Vendas - Pedidos - Gravar Pedidos
Editor: com.senior.g5.co.mcm.ven.pedidos@GravarPedidos
MCDebug: Mercado - Gestão de Vendas - Pedidos - Exportar Pedidos
Editor: com.senior.g5.co.mcm.ven.pedidos@ExportarPedidos
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:
Web Service Editor: com.senior.g5.co.mcm.ven.pedidos
Web Service MCDebug:
Mercado - Gestão de Vendas - Pedidos – Calcular Valores Item Pedido ECF
Mercado - Gestão de Vendas - Pedidos – Exportar Pedidos
Mercado - Gestão de Vendas - Pedidos – Gravar Pedidos
Mercado - Gestão de Vendas - Pedidos – Gravar Pedidos em Grade
1.3. Tela de Entrada do WebService
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.
PRODUTO AREA GESTÃO CAPITULO
Universidade Corporativa
Universidade Corporativa
Apostila Cores e fontes
Este
docum
ento
é p
art
e i
nte
gra
nte
da m
eto
dolo
gia
de t
rein
am
ento
Senio
r. É
pro
ibid
a a
publicação o
u r
epro
dução d
este
docum
ento
sem
auto
rização p
révia
da
em
pre
sa.
A á
rea U
niv
ers
idade C
orp
ora
tiva S
enio
r é a
únic
a a
uto
rizada p
ara
altera
ção d
o m
odelo
. Todos o
s d
ireitos s
ão r
eserv
ados p
ara
a S
enio
r.
Nenhum
a p
art
e
deste
mate
rial e/o
u t
rein
am
ento
poderá
ser
repro
duzid
a e
m q
ualq
uer
form
a o
u p
or
qualq
uer
meio
ele
tronic
am
ente
, m
ecanic
am
ente
, por
foto
cópia
s,
gra
vação o
u
outr
os, sem
a p
révia
auto
rização d
a S
enio
r, s
uje
itando-s
e à
s p
enalidades p
revis
tas e
m L
ei.
1.4. Manipulando XMLs
A partir da tela de entrada do Web Service é possível 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 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)
Tabelas do Web Service
Retorno da Execução
Campos de Usuário
PRODUTO AREA GESTÃO CAPITULO
Universidade Corporativa
Universidade Corporativa
Apostila Cores e fontes
Este
docum
ento
é p
art
e i
nte
gra
nte
da m
eto
dolo
gia
de t
rein
am
ento
Senio
r. É
pro
ibid
a a
publicação o
u r
epro
dução d
este
docum
ento
sem
auto
rização p
révia
da
em
pre
sa.
A á
rea U
niv
ers
idade C
orp
ora
tiva S
enio
r é a
únic
a a
uto
rizada p
ara
altera
ção d
o m
odelo
. Todos o
s d
ireitos s
ão r
eserv
ados p
ara
a S
enio
r.
Nenhum
a p
art
e
deste
mate
rial e/o
u t
rein
am
ento
poderá
ser
repro
duzid
a e
m q
ualq
uer
form
a o
u p
or
qualq
uer
meio
ele
tronic
am
ente
, m
ecanic
am
ente
, por
foto
cópia
s,
gra
vação o
u
outr
os, sem
a p
révia
auto
rização d
a S
enio
r, s
uje
itando-s
e à
s p
enalidades p
revis
tas e
m L
ei.
XML gerado via MCDebug (Aplicação Senior)
1.5. Modos de Execução
No modo de Depuração de Serviços há 4 formas de execução de um Web
Service. Local, Síncrono, Assíncrono e Agendado.
Modo Local: O processamento da requisição irá ocorrer na mesma instância do
aplicativo, diretamente dentro do Sistema. Não haverá a necessidade de outros
recursos para a execução do Web Service, como o Middleware Senior.
O processamento ocorre no mesmo momento da chamada do Web Service.
Modo Síncrono: O processamento da requisição será direcionada ao Middleware
Senior. É necessário que o Middleware Senior esteja instalado e configurado para uso
dos WebServices. Será enviada uma solicitação do Servidor Glassfish que irá solicitar
uma instância do Sistema Senior para processar a requisição.
O processamento tem início no momento da chamada do Web Service, e o retorno
será devolvido pelo Servidor Glassfish.
Modo Assíncrono: O processamento da requisição será direcionada ao Middleware
Senior. É necessário que o Middleware Senior esteja instalado e configurado para uso
dos WebServices. Será enviada uma solicitação do Servidor Glassfish que irá solicitar
uma instância do Sistema Senior para processar a requisição.
O processamento tem início no momento da chamada do Web Service, e não haverá
retorno sobre o processamento da requisição.
Modo Agendado: A solicitação de execução será direcionada ao Middleware Senior,
porém não ocorrerá no momento da requisição. A solicitação será Agendada para
execução no Middleware. Neste modo de execução não há retorno da execução para o
Solicitante.
PRODUTO AREA GESTÃO CAPITULO
Universidade Corporativa
Universidade Corporativa
Apostila Cores e fontes
Este
docum
ento
é p
art
e i
nte
gra
nte
da m
eto
dolo
gia
de t
rein
am
ento
Senio
r. É
pro
ibid
a a
publicação o
u r
epro
dução d
este
docum
ento
sem
auto
rização p
révia
da
em
pre
sa.
A á
rea U
niv
ers
idade C
orp
ora
tiva S
enio
r é a
únic
a a
uto
rizada p
ara
altera
ção d
o m
odelo
. Todos o
s d
ireitos s
ão r
eserv
ados p
ara
a S
enio
r.
Nenhum
a p
art
e
deste
mate
rial e/o
u t
rein
am
ento
poderá
ser
repro
duzid
a e
m q
ualq
uer
form
a o
u p
or
qualq
uer
meio
ele
tronic
am
ente
, m
ecanic
am
ente
, por
foto
cópia
s,
gra
vação o
u
outr
os, sem
a p
révia
auto
rização d
a S
enio
r, s
uje
itando-s
e à
s p
enalidades p
revis
tas e
m L
ei.
1.6. Depurando uma regra ligada a rotina do Web Service
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.
Regra com o Depurador ativo
Retorno da Execução
1.7. Particularidades desta Forma de execução
- Não é possível efetuar a reordenação dos dados da Grid.
- Não é possível salvar o XML de retorno do Web Service. Caso for necessário, deve-se
habilitar a geração de LOGs nas configurações dos WebServices, aba Monitoramento.
PRODUTO AREA GESTÃO CAPITULO
Universidade Corporativa
Universidade Corporativa
Apostila Cores e fontes
Este
docum
ento
é p
art
e i
nte
gra
nte
da m
eto
dolo
gia
de t
rein
am
ento
Senio
r. É
pro
ibid
a a
publicação o
u r
epro
dução d
este
docum
ento
sem
auto
rização p
révia
da
em
pre
sa.
A á
rea U
niv
ers
idade C
orp
ora
tiva S
enio
r é a
únic
a a
uto
rizada p
ara
altera
ção d
o m
odelo
. Todos o
s d
ireitos s
ão r
eserv
ados p
ara
a S
enio
r.
Nenhum
a p
art
e
deste
mate
rial e/o
u t
rein
am
ento
poderá
ser
repro
duzid
a e
m q
ualq
uer
form
a o
u p
or
qualq
uer
meio
ele
tronic
am
ente
, m
ecanic
am
ente
, por
foto
cópia
s,
gra
vação o
u
outr
os, sem
a p
révia
auto
rização d
a S
enio
r, s
uje
itando-s
e à
s p
enalidades p
revis
tas e
m L
ei.
2. Chamando um WebService via Regra LSP
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.
Para parâmetros do tipo tabela, deve-se obrigatoriamente inserir linhas na
tabela do parâmetro para que o processamento seja efetuado corretamente. Caso não
sejam adicionadas linhas para o parâmetro do tipo tabela, os valores informados
podem ser sobrescritos.
2.1. Estrutura da regra LSP
2.2. Modos de Execução
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:
PRODUTO AREA GESTÃO CAPITULO
Universidade Corporativa
Universidade Corporativa
Apostila Cores e fontes
Este
docum
ento
é p
art
e i
nte
gra
nte
da m
eto
dolo
gia
de t
rein
am
ento
Senio
r. É
pro
ibid
a a
publicação o
u r
epro
dução d
este
docum
ento
sem
auto
rização p
révia
da
em
pre
sa.
A á
rea U
niv
ers
idade C
orp
ora
tiva S
enio
r é a
únic
a a
uto
rizada p
ara
altera
ção d
o m
odelo
. Todos o
s d
ireitos s
ão r
eserv
ados p
ara
a S
enio
r.
Nenhum
a p
art
e
deste
mate
rial e/o
u t
rein
am
ento
poderá
ser
repro
duzid
a e
m q
ualq
uer
form
a o
u p
or
qualq
uer
meio
ele
tronic
am
ente
, m
ecanic
am
ente
, por
foto
cópia
s,
gra
vação o
u
outr
os, sem
a p
révia
auto
rização d
a S
enio
r, s
uje
itando-s
e à
s p
enalidades p
revis
tas e
m L
ei.
1 – Local
2 – Síncrono
3 – Assíncrono
4 - Agendado
Caso a variável “ModoExecucao” não seja declarada na execução do Web Service
via regra LSP, por padrão o Web Service será executado Localmente.
Nesta situação, executando o Web Service localmente na regra LSP o Web Service
terá o mesmo comportamento de uma função de programador, sendo executado
diretamente no mesmo aplicativo que está executando a regra.
2.3. Obtendo retorno da execução (Grids)
Após a execução do Web Service em modo Local ou Síncrono, é possível obter os
dados de retorno da execução do Web Service e os dados de retorno das tabelas,
quando disponíveis.
O retorno das informações geralmente ocorre em uma tabela. Com isso, é
necessário ler os dados das linhas desta tabela para obter o retorno de cada linha da
tabela. Caso contrário não será possível verificar o retorno de todos os Itens da tabela
e verificar possíveis 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 execução
- Se o retorno for do tipo tabela e não foram lidos todos os registros, o retorno será
apresentado de forma incompleta.
PRODUTO AREA GESTÃO CAPITULO
Universidade Corporativa
Universidade Corporativa
Apostila Cores e fontes
Este
docum
ento
é p
art
e i
nte
gra
nte
da m
eto
dolo
gia
de t
rein
am
ento
Senio
r. É
pro
ibid
a a
publicação o
u r
epro
dução d
este
docum
ento
sem
auto
rização p
révia
da
em
pre
sa.
A á
rea U
niv
ers
idade C
orp
ora
tiva S
enio
r é a
únic
a a
uto
rizada p
ara
altera
ção d
o m
odelo
. Todos o
s d
ireitos s
ão r
eserv
ados p
ara
a S
enio
r.
Nenhum
a p
art
e
deste
mate
rial e/o
u t
rein
am
ento
poderá
ser
repro
duzid
a e
m q
ualq
uer
form
a o
u p
or
qualq
uer
meio
ele
tronic
am
ente
, m
ecanic
am
ente
, por
foto
cópia
s,
gra
vação o
u
outr
os, sem
a p
révia
auto
rização d
a S
enio
r, s
uje
itando-s
e à
s p
enalidades p
revis
tas e
m L
ei.
2.5. Exemplo
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 inclusão do título 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"; @ Número do título a receber @ SrvGerCtaRec.EntradaTitulos.CodTpt = "DM"; @ Código do tipo de título a receber @ SrvGerCtaRec.EntradaTitulos.CodTns = "90300"; @ Código da transação que gerou o título a
receber @ SrvGerCtaRec.EntradaTitulos.DatEmi = dDatEmi; @ Data de emissão do título a receber @ SrvGerCtaRec.EntradaTitulos.DatEnt = dDatEnt; @ Data de entrada do título a receber @ SrvGerCtaRec.EntradaTitulos.CodCli = 1; @ Código do cliente do título a receber @ SrvGerCtaRec.EntradaTitulos.CodRep = 1; @ Código do representante do título a receber @ SrvGerCtaRec.EntradaTitulos.VctOri = dVctOri; @ Data do vencimento @ SrvGerCtaRec.EntradaTitulos.VctPro = dVctPro; @ Data do vencimento Prorrogado @ SrvGerCtaRec.EntradaTitulos.VlrOri = 100; @ Valor original do título a receber @ SrvGerCtaRec.EntradaTitulos.CodFpg = 001; @ Código da forma de pagamento @ SrvGerCtaRec.EntradaTitulos.DatPpt = dDatPpt; @ Data do provável pagamento @ SrvGerCtaRec.EntradaTitulos.CodPor = "9999"; @ Código do portador do título @ SrvGerCtaRec.EntradaTitulos.CodCrt = "99"; @ Código da carteira do título a receber @ SrvGerCtaRec.EntradaTitulos.CodMoe = "01"; @ Código da moeda @ SrvGerCtaRec.EntradaTitulos.CodFil = 1; @ Codigo da filial @ SrvGerCtaRec.EntradaTitulos.NumTit = "TIT002"; @ Número do título a receber @ SrvGerCtaRec.EntradaTitulos.CodTpt = "DM"; @ Código do tipo de título a receber @ SrvGerCtaRec.EntradaTitulos.CodTns = "90300"; @ Código da transação que gerou o título a
receber @ SrvGerCtaRec.EntradaTitulos.DatEmi = dDatEmi; @ Data de emissão do título a receber @ SrvGerCtaRec.EntradaTitulos.DatEnt = dDatEnt; @ Data de entrada do título a receber @ SrvGerCtaRec.EntradaTitulos.CodCli = 1; @ Código do cliente do título a receber @ SrvGerCtaRec.EntradaTitulos.CodRep = 1; @ Código do representante do título a receber @ SrvGerCtaRec.EntradaTitulos.VctOri = dVctOri; @ Data do vencimento @ SrvGerCtaRec.EntradaTitulos.VctPro = dVctPro; @ Data do vencimento Prorrogado @ SrvGerCtaRec.EntradaTitulos.VlrOri = 100; @ Valor original do título a receber @ SrvGerCtaRec.EntradaTitulos.CodFpg = 001; @ Código da forma de pagamento @ SrvGerCtaRec.EntradaTitulos.DatPpt = dDatPpt; @ Data do provável pagamento @ SrvGerCtaRec.EntradaTitulos.CodPor = "9999"; @ Código do portador do título @ SrvGerCtaRec.EntradaTitulos.CodCrt = "99"; @ Código da carteira do título a receber @ SrvGerCtaRec.EntradaTitulos.CodMoe = "01"; @ Código 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 AREA GESTÃO CAPITULO
Universidade Corporativa
Universidade Corporativa
Apostila Cores e fontes
Este
docum
ento
é p
art
e i
nte
gra
nte
da m
eto
dolo
gia
de t
rein
am
ento
Senio
r. É
pro
ibid
a a
publicação o
u r
epro
dução d
este
docum
ento
sem
auto
rização p
révia
da
em
pre
sa.
A á
rea U
niv
ers
idade C
orp
ora
tiva S
enio
r é a
únic
a a
uto
rizada p
ara
altera
ção d
o m
odelo
. Todos o
s d
ireitos s
ão r
eserv
ados p
ara
a S
enio
r.
Nenhum
a p
art
e
deste
mate
rial e/o
u t
rein
am
ento
poderá
ser
repro
duzid
a e
m q
ualq
uer
form
a o
u p
or
qualq
uer
meio
ele
tronic
am
ente
, m
ecanic
am
ente
, por
foto
cópia
s,
gra
vação o
u
outr
os, sem
a p
révia
auto
rização d
a S
enio
r, s
uje
itando-s
e à
s p
enalidades p
revis
tas e
m L
ei.
aResultado = SrvGerCtaRec.Resultado; aMensagem = "Título: " + aNumTit + " = " + SrvGerCtaRec.GridResult.TxtRet;
}
3. Chamando um WebService via Sistema Externo
(soapUI)
É possível chamar um Web Service padrão do Sistema ou Personalizado a partir
de Sistemas de Terceiros.
Isto é possível 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): Responsável pela descrição do serviço. Esta descrição é
um documento WSDL que contém várias informações do serviço, como por exemplo,
informações sobre parâmetros, endpoints, dados do criador. Também é encarregado
de publicar os serviços em uma entidade registradora.
Consumidor (Sistema Terceiros): Responsável por obter o documento WSDL do
serviço desejado. Posteriormente, utilizar as informações fornecidas por este
documento fazer a ligação com o provedor, invocando um Serviço Web.
Registrador (Servidor Glassfish): Entidade responsável por armazenar as
informações disponibilizadas pelos provedores em um repositório. É nesta entidade
que o consumidor procura por um serviço com base no endereço disponibilizado.
3.2. WSDL (Web Service Description Language)
Podemos descrever o WSDL como a definição do Web Service. O WSDL é um
documento XML disponível de forma on-line para qualquer aplicação ou usuário que
tenha acesso ao seu endereço. Neste documento XML estão disponíveis todas as
informações do Web Service como parâmetros, tipos de dados, endereços dos
Serviços, Provedores. Está disponível também em alguns WSDLs o endereço do XSD
do Web Service, que contém a definição de todos os parâmetros do Web Service.
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.
Basicamente, quando o cliente deseja enviar uma mensagem para um
determinado Web Service, ele obtém a descrição do serviço (através da localização do
respectivo documento WSDL), e em seguida constrói a mensagem, passando todos os
parâmetros de acordo com a definição encontrada no documento.
PRODUTO AREA GESTÃO CAPITULO
Universidade Corporativa
Universidade Corporativa
Apostila Cores e fontes
Este
docum
ento
é p
art
e i
nte
gra
nte
da m
eto
dolo
gia
de t
rein
am
ento
Senio
r. É
pro
ibid
a a
publicação o
u r
epro
dução d
este
docum
ento
sem
auto
rização p
révia
da
em
pre
sa.
A á
rea U
niv
ers
idade C
orp
ora
tiva S
enio
r é a
únic
a a
uto
rizada p
ara
altera
ção d
o m
odelo
. Todos o
s d
ireitos s
ão r
eserv
ados p
ara
a S
enio
r.
Nenhum
a p
art
e
deste
mate
rial e/o
u t
rein
am
ento
poderá
ser
repro
duzid
a e
m q
ualq
uer
form
a o
u p
or
qualq
uer
meio
ele
tronic
am
ente
, m
ecanic
am
ente
, por
foto
cópia
s,
gra
vação o
u
outr
os, sem
a p
révia
auto
rização d
a S
enio
r, s
uje
itando-s
e à
s p
enalidades p
revis
tas e
m L
ei.
Em seguida, a mensagem é enviada para o endereço onde o serviço está
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.
3.3. Obtendo o EndPoint do WSDL do Webservice
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
Acessar o console de Administração 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 são os Web Service do modo
Síncrono;
Clicar no item “View WSDL”;
Copiar o endereço do WSDL;
3.4. Criando um projeto WSDL no soapUI
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.
- Acessar o menu File > New SoapUI Project
PRODUTO AREA GESTÃO CAPITULO
Universidade Corporativa
Universidade Corporativa
Apostila Cores e fontes
Este
docum
ento
é p
art
e i
nte
gra
nte
da m
eto
dolo
gia
de t
rein
am
ento
Senio
r. É
pro
ibid
a a
publicação o
u r
epro
dução d
este
docum
ento
sem
auto
rização p
révia
da
em
pre
sa.
A á
rea U
niv
ers
idade C
orp
ora
tiva S
enio
r é a
únic
a a
uto
rizada p
ara
altera
ção d
o m
odelo
. Todos o
s d
ireitos s
ão r
eserv
ados p
ara
a S
enio
r.
Nenhum
a p
art
e
deste
mate
rial e/o
u t
rein
am
ento
poderá
ser
repro
duzid
a e
m q
ualq
uer
form
a o
u p
or
qualq
uer
meio
ele
tronic
am
ente
, m
ecanic
am
ente
, por
foto
cópia
s,
gra
vação o
u
outr
os, sem
a p
révia
auto
rização d
a S
enio
r, s
uje
itando-s
e à
s p
enalidades p
revis
tas e
m L
ei.
- Informar o endereço do WSDL no campo “Initial WSDL/WADL”
- Será criado um novo projeto com o nome definido na importação do WSDL
- Dentro do Projeto está o Web Service importado e as portas de entrada.
- Ao clicar na opção “Request 1”, serão apresentados os parâmetros de entrada da
porta do Web Service.
A partir deste momento é possível inserir as informações necessárias para execução
do Web Service via Middleware Senior.
3.5. Verificando os parâmetros do WebService
Com a importação do WSDL do Web Service, o SoapUI irá importar todos os
parâmetros de entrada da porta selecionada.
Importante: Não há como importar somente os parâmetros obrigatórios. Caso não for
necessário utilizar determinado parâmetro, deve-se deixar com a informação original,
sem alteração.
PRODUTO AREA GESTÃO CAPITULO
Universidade Corporativa
Universidade Corporativa
Apostila Cores e fontes
Este
docum
ento
é p
art
e i
nte
gra
nte
da m
eto
dolo
gia
de t
rein
am
ento
Senio
r. É
pro
ibid
a a
publicação o
u r
epro
dução d
este
docum
ento
sem
auto
rização p
révia
da
em
pre
sa.
A á
rea U
niv
ers
idade C
orp
ora
tiva S
enio
r é a
únic
a a
uto
rizada p
ara
altera
ção d
o m
odelo
. Todos o
s d
ireitos s
ão r
eserv
ados p
ara
a S
enio
r.
Nenhum
a p
art
e
deste
mate
rial e/o
u t
rein
am
ento
poderá
ser
repro
duzid
a e
m q
ualq
uer
form
a o
u p
or
qualq
uer
meio
ele
tronic
am
ente
, m
ecanic
am
ente
, por
foto
cópia
s,
gra
vação o
u
outr
os, sem
a p
révia
auto
rização d
a S
enio
r, s
uje
itando-s
e à
s p
enalidades p
revis
tas e
m L
ei.
É possível também, para melhor visualização e padronização remover os parâmetros
não utilizados do Web Service.
É possível verificar que há mais de uma informação de retorno, sendo:
mensagemRetorno, retorno e tipoRetorno
mensagemRetorno: Mensagem de retorno do processamento do Web Service.
PRODUTO AREA GESTÃO CAPITULO
Universidade Corporativa
Universidade Corporativa
Apostila Cores e fontes
Este
docum
ento
é p
art
e i
nte
gra
nte
da m
eto
dolo
gia
de t
rein
am
ento
Senio
r. É
pro
ibid
a a
publicação o
u r
epro
dução d
este
docum
ento
sem
auto
rização p
révia
da
em
pre
sa.
A á
rea U
niv
ers
idade C
orp
ora
tiva S
enio
r é a
únic
a a
uto
rizada p
ara
altera
ção d
o m
odelo
. Todos o
s d
ireitos s
ão r
eserv
ados p
ara
a S
enio
r.
Nenhum
a p
art
e
deste
mate
rial e/o
u t
rein
am
ento
poderá
ser
repro
duzid
a e
m q
ualq
uer
form
a o
u p
or
qualq
uer
meio
ele
tronic
am
ente
, m
ecanic
am
ente
, por
foto
cópia
s,
gra
vação o
u
outr
os, sem
a p
révia
auto
rização d
a S
enio
r, s
uje
itando-s
e à
s p
enalidades p
revis
tas e
m L
ei.
retorno: Mensagem de retorno do processamento do item do Web Service.
tipoRetorno: 1 = Processado, 2 = Erro na Solicitação
3.6. Particularidades desta forma de execução
3.6.1. Java Case Sensitive
A linguagem JAVA é Case Sensitive, ou seja, o parâmetro <user> é diferente de
do parâmetro <User>. É obrigatório manter o mesmo nome do parâmetro que o
soapUI importou no projeto.
Caso seja definido um parâmetro com diferença entre letras maiúsculas e minúsculas
do que está definido no WSDL, o Sistema Senior não interpretará este parâmetro pois
o JAVA irá abstraí-lo, conforme exemplo:
Definição 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 parâmetro 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. Função Mensagem(Retorna,xxx)
PRODUTO AREA GESTÃO CAPITULO
Universidade Corporativa
Universidade Corporativa
Apostila Cores e fontes
Este
docum
ento
é p
art
e i
nte
gra
nte
da m
eto
dolo
gia
de t
rein
am
ento
Senio
r. É
pro
ibid
a a
publicação o
u r
epro
dução d
este
docum
ento
sem
auto
rização p
révia
da
em
pre
sa.
A á
rea U
niv
ers
idade C
orp
ora
tiva S
enio
r é a
únic
a a
uto
rizada p
ara
altera
ção d
o m
odelo
. Todos o
s d
ireitos s
ão r
eserv
ados p
ara
a S
enio
r.
Nenhum
a p
art
e
deste
mate
rial e/o
u t
rein
am
ento
poderá
ser
repro
duzid
a e
m q
ualq
uer
form
a o
u p
or
qualq
uer
meio
ele
tronic
am
ente
, m
ecanic
am
ente
, por
foto
cópia
s,
gra
vação o
u
outr
os, sem
a p
révia
auto
rização d
a S
enio
r, s
uje
itando-s
e à
s p
enalidades p
revis
tas e
m L
ei.
Os Web Services executados por outras formas que não seja via regra LSP em
modo local, não permitem a utilização da função “Mensagem(Retorna,xxx)” nas regras
ligadas a rotina do Web Service.
Quando o Web Service é executado de forma Síncrona, Assíncrona ou Agendada,
não é possível utilizar nenhum recurso que necessite de interação do usuário, como a
função Mensagem(Retorna,xxx). Isto ocorre pois, nestes meios de execução, não há
como confirmar uma mensagem gerada para o usuário e prosseguir com a execução
da regra.
Esta situação pode ocorrer quando é utilizado um identificador de regras atrelado
a uma regra LSP, sendo que esta regra possui uma ocorrência da função
Mensagen(Retorna,xxx).
Quando esta situação for constatada, o Sistema irá retornar a seguinte mensagem no
campo de retorno do Web Service:
Regra XXX: Não é permitido executar nas regras o comando "Mensagem" com
"Retorna" quando a instância da aplicação é de serviço.
3.6.3. Janelas via Serviço
Constatamos em alguns situações 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 ação SID via Web Service, é gerada uma tela com uma barra de
progresso.
Nesta situação, quando o Web Service ou ação SID via Web Service for executada via
Middleware Senior, a sua execução será “abortada” não chegando a ser processado
pelo ERP. Isto pode ocorrer quando utiliza-se um Web Service personalizado e algum
Web Service ou ação SID na regra LSP do Web Service.
3.6.4. XML gerado pelo MCDebug e via soapUI (incompatibilidade)
Conforme item 3.1.4, não é possível importar um XML gerado pelo MCDebug no
SoapUI, devido a ausência do envelope SOAP no XML do MCDebug.
3.6.5. Campos data (não informados)
Em alguns Web Services, pode haver um campo do tipo Data que é opcional.
Nesta situação, se não for informada nenhuma informação para este campo, o mesmo
deve ser retirado do XML do Web Service.
Isto é necessário pois o SoapUI adiciona o valor ? para todos os campos, fazendo com
que ele se torne “em branco” quando enviado para exeução.
Porém para os campos do tipo data, há uma validação desta informação, retornando
que a data não está no formato correto.
PRODUTO AREA GESTÃO CAPITULO
Universidade Corporativa
Universidade Corporativa
Apostila Cores e fontes
Este
docum
ento
é p
art
e i
nte
gra
nte
da m
eto
dolo
gia
de t
rein
am
ento
Senio
r. É
pro
ibid
a a
publicação o
u r
epro
dução d
este
docum
ento
sem
auto
rização p
révia
da
em
pre
sa.
A á
rea U
niv
ers
idade C
orp
ora
tiva S
enio
r é a
únic
a a
uto
rizada p
ara
altera
ção d
o m
odelo
. Todos o
s d
ireitos s
ão r
eserv
ados p
ara
a S
enio
r.
Nenhum
a p
art
e
deste
mate
rial e/o
u t
rein
am
ento
poderá
ser
repro
duzid
a e
m q
ualq
uer
form
a o
u p
or
qualq
uer
meio
ele
tronic
am
ente
, m
ecanic
am
ente
, por
foto
cópia
s,
gra
vação o
u
outr
os, sem
a p
révia
auto
rização d
a S
enio
r, s
uje
itando-s
e à
s p
enalidades p
revis
tas e
m L
ei.
3.6.6 – Publicação de Alterações (Deploy )
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
Glassfish.
PRODUTO AREA GESTÃO CAPITULO
Universidade Corporativa
Universidade Corporativa
Apostila Cores e fontes
Este
docum
ento
é p
art
e i
nte
gra
nte
da m
eto
dolo
gia
de t
rein
am
ento
Senio
r. É
pro
ibid
a a
publicação o
u r
epro
dução d
este
docum
ento
sem
auto
rização p
révia
da
em
pre
sa.
A á
rea U
niv
ers
idade C
orp
ora
tiva S
enio
r é a
únic
a a
uto
rizada p
ara
altera
ção d
o m
odelo
. Todos o
s d
ireitos s
ão r
eserv
ados p
ara
a S
enio
r.
Nenhum
a p
art
e
deste
mate
rial e/o
u t
rein
am
ento
poderá
ser
repro
duzid
a e
m q
ualq
uer
form
a o
u p
or
qualq
uer
meio
ele
tronic
am
ente
, m
ecanic
am
ente
, por
foto
cópia
s,
gra
vação o
u
outr
os, sem
a p
révia
auto
rização d
a S
enio
r, s
uje
itando-s
e à
s p
enalidades p
revis
tas e
m L
ei.
CAPÍTULO 04 Provedores de Terceiros
PRODUTO AREA GESTÃO CAPITULO
Universidade Corporativa
Universidade Corporativa
Apostila Cores e fontes
Este
docum
ento
é p
art
e i
nte
gra
nte
da m
eto
dolo
gia
de t
rein
am
ento
Senio
r. É
pro
ibid
a a
publicação o
u r
epro
dução d
este
docum
ento
sem
auto
rização p
révia
da
em
pre
sa.
A á
rea U
niv
ers
idade C
orp
ora
tiva S
enio
r é a
únic
a a
uto
rizada p
ara
altera
ção d
o m
odelo
. Todos o
s d
ireitos s
ão r
eserv
ados p
ara
a S
enio
r.
Nenhum
a p
art
e
deste
mate
rial e/o
u t
rein
am
ento
poderá
ser
repro
duzid
a e
m q
ualq
uer
form
a o
u p
or
qualq
uer
meio
ele
tronic
am
ente
, m
ecanic
am
ente
, por
foto
cópia
s,
gra
vação o
u
outr
os, sem
a p
révia
auto
rização d
a S
enio
r, s
uje
itando-s
e à
s p
enalidades p
revis
tas e
m L
ei.
1. 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 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
2. Localizando o Identificador Universal
O Identificador Universal é o “namespace” informado na WSDL do Web Service
targetNamespace="http://tempuri.org/"
3. Identificando a Ação do Web Service
A ação do Web Service é publicada na TAG "soapAction" da Porta do Web Service
soapAction="http://tempuri.org/FahrenheitToCelsius"
4. Parâmetros de Entrada e Saída
Os parâmetros de entrada e saída são 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 AREA GESTÃO CAPITULO
Universidade Corporativa
Universidade Corporativa
Apostila Cores e fontes
Este
docum
ento
é p
art
e i
nte
gra
nte
da m
eto
dolo
gia
de t
rein
am
ento
Senio
r. É
pro
ibid
a a
publicação o
u r
epro
dução d
este
docum
ento
sem
auto
rização p
révia
da
em
pre
sa.
A á
rea U
niv
ers
idade C
orp
ora
tiva S
enio
r é a
únic
a a
uto
rizada p
ara
altera
ção d
o m
odelo
. Todos o
s d
ireitos s
ão r
eserv
ados p
ara
a S
enio
r.
Nenhum
a p
art
e
deste
mate
rial e/o
u t
rein
am
ento
poderá
ser
repro
duzid
a e
m q
ualq
uer
form
a o
u p
or
qualq
uer
meio
ele
tronic
am
ente
, m
ecanic
am
ente
, por
foto
cópia
s,
gra
vação o
u
outr
os, sem
a p
révia
auto
rização d
a S
enio
r, s
uje
itando-s
e à
s p
enalidades p
revis
tas e
m L
ei.
CAPÍTULO 05 Exemplo de Web Service Personalizado
PRODUTO AREA GESTÃO CAPITULO
Universidade Corporativa
Universidade Corporativa
Apostila Cores e fontes
Este
docum
ento
é p
art
e i
nte
gra
nte
da m
eto
dolo
gia
de t
rein
am
ento
Senio
r. É
pro
ibid
a a
publicação o
u r
epro
dução d
este
docum
ento
sem
auto
rização p
révia
da
em
pre
sa.
A á
rea U
niv
ers
idade C
orp
ora
tiva S
enio
r é a
únic
a a
uto
rizada p
ara
altera
ção d
o m
odelo
. Todos o
s d
ireitos s
ão r
eserv
ados p
ara
a S
enio
r.
Nenhum
a p
art
e
deste
mate
rial e/o
u t
rein
am
ento
poderá
ser
repro
duzid
a e
m q
ualq
uer
form
a o
u p
or
qualq
uer
meio
ele
tronic
am
ente
, m
ecanic
am
ente
, por
foto
cópia
s,
gra
vação o
u
outr
os, sem
a p
révia
auto
rização d
a S
enio
r, s
uje
itando-s
e à
s p
enalidades p
revis
tas e
m L
ei.
Entrada: Campo de Entrada. Tipo: AlfaNumérico Saida: Campo de Saída dos dados Tipo: AlfaNumérico Regra do Web Service Definir alfa entrada; Definir alfa aRetorno; Definir alfa aNomCli; Definir 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 não encontrado"; fim; 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.
PRODUTO AREA GESTÃO CAPITULO
ERP Controladoria Gestão de Compras Introdução
Rua São Paulo, 825 - Victor Konder
Blumenau - SC - CEP: 89012-001
Telefone: 0800 648 3300
www.senior.com.br
Rua São Paulo, 825 - Victor Konder
Blumenau - SC - CEP: 89012-001
Telefone: +55 47 3039-3580
www.senior.com.br