Sie sind auf Seite 1von 22

Construo de Webservice via PI

Para criao de um webservice via PI, os macro-processos so:

1. No ambiente PI Enterprise Services Builder


1.1.
1.2.
1.3.
1.4.
1.5.
1.6.

Criar
Criar
Criar
Criar
Criar
Criar

Namespace
Data Types
Message Types
Service Interfaces
Message Mapping
Operation Mapping

2. No ambiente ECC SPROXY


2.1.
2.2.
2.3.

Transao SPROXY
Gerar classe (SE24)
Incluir cdigo ABAP no mtodo (chamada da RFC)

3. No ambiente PI Integration Builder


3.1.
3.2.
3.3.

Criar Configuration Scenario


Criar Integrated Configuration
Gerar WSDL

4. Transporte de Objetos
4.1.
4.2.
4.3.

Objetos do item 1: transporte por arquivo TPZ


Objetos do item 2: transporte por request
Objetos do item 3: configurao direta em cada ambiente

Como se trata de uma RFC, a estrutura da interface se basear nela, sendo 2 parmetros de
entrada e 2 tabelas de sada, ento necessrio criar essa mesma estrutura na interface no PI.
Para iniciar o desenvolvimento precisamos entrar no ambiente PI em DEV (que o ambiente
POD) e o endereo :
http://10.8.1.2:50200/dir/
O desenho da interface, que a primeira etapa, feito dentro do Repository no Enterprise
Services Builder.

A configurao da interface, que a segunda etapa, feita dentro do Directory no Integration


Builder.

1. No ambiente PI Enterprise Services


Builder
Nessa primeira etapa precisamos criar os objetos seguindo o fluxo abaixo no Enterprise
Services Builder:
1) Namespace
2) Data Types
3) Message Types

4) Service Interfaces
5) Message Mapping
6) Operation Mapping
Hoje temos esses Softwares Components criados.

Como j existe o Software Component referente ao ECC (MELITTA_A_ERP), no precisamos


cria-los. Mas se precisasse, faramos isso no System Landscape Directory.

1.1.

Criar Namespace

Como uma interface nova, criaremos um Namespace especfico para a interface. Basta ir no
Software Component referente ao ERP e clicar com o boto direito e selecionar New.

Ir em Work Areas -> Namespace. Usaremos o nome GetSalesDocument que o mesmo


nome da RFC.

Clique primeiro em criar e depois em salvar. Vai aparecer o Namespace criado.

1.2.

Criar Data Types

A RFC tem 2 parmetros de entrada (request) e 2 tabelas de sada (response), vamos criar a
estrutura igual.
Clique com o boto direito no Namespace criado e clique em New. V em Interface Objects
-> Data Type e vamos criar a estrutura que contm os 2 parmetros da interface.

Padronizao de nomenclatura: iniciando com DT_ e finalizando com Request (Request =


Inbound).
Clique em criar. Teremos essa estrutura abaixo.

Para criar os campos, clique na linha do Data Type que foi criado no passo anterior
(DT_Lecom_GetSalesDocumentRequest) e depois clique no boto para Adicionar e escolha
Insert Subelement.

Colocamos o mesmo nome do parmetro da RFC, I_ERDAT.

Normalmente colocamos os campos com o tipo String, pois fica mais fcil para que as
converses aconteam nas pontas ao invs de acontecer dentro do PI. Quanto s ocorrncias,
colocamos mnimo de 0 e mximo de 1 (0..1). Vem por default o valor 1 em ambos (mnimo e
mximo), tornando o parmetro obrigatrio. Mas melhor no deixar como obrigatrio, pois se
no informarem o parmetro vai dar erro na interface e diro que no est funcionando. Dessa
forma, as consistncias ficam nas pontas ao invs do PI.
Depois de criar esse campo vamos criar, no mesmo nvel, o outro. Para isso, clique na linha do
I_ERDAT e adicione um novo elemento, clicando em Insert Element.

Ficar como a seguir.

Agora vamos fazer a estrutura de retorno. Precisaremos criar um Data Type que tenha as 2
tabelas. Criar mais um Data Type.

Padronizao de nomenclatura: iniciando com DT_ e finalizando com Response (Response =


Outbound).
Criar um Subelemento, clicando em Insert Subelement que ser a primeira tabela, RETURN.

Este subelemento, como uma tabela, no ter um tipo. Colocar com o mnimo de 0 ocorrncias
e mxima de unbounded (ilimitado).

Para criar os campos dessa tabela, clique na linha RETURN e clique em Insert Subelement.

O primeiro campo da tabela RETURN TYPE.

E ser feito da mesma forma, defina o Type como string e no deixe como obrigatrio,
alterando o mnimo para 0.
Como os demais campos da tabela estaro no mesmo nvel desse campo, sempre selecionar o
ltimo campo que voc acrescentou e clicar em adicionar novo elemento (Insert Element).
Nesse caso, para adicionar o campo ID, selecione TYPE e clique em Insert Element.

Faa esse passo acima com os demais campos at completar a tabela.

E a segunda tabela estar no mesmo nvel da tabela RETURN. Para cria-la, selecione a linha
que est o RETURN e crie um novo elemento, clicando em Insert Element.

E por ser uma tabela, ter as mesmas configuraes, com o mnimo de ocorrncia zero (pra
no deixar como obrigatrio) e o mximo unbounded (ilimitado).
O mesmo processo tambm para colocar o primeiro campo da tabela, criar um subelemento,
clicando em Insert Subelement.

Os demais campos da tabela sero elementos. Selecionar o ltimo campo criado na tabela e
clicar em Insert Element.

Portanto, j temos a estrutura de IMPORT e o EXPORT do webservice.

1.3.

Criar Message Types

Agora precisamos criar as mensagens que sero os Messages Types.


Mesmo procedimento, clicar com o boto direito no Namespace, clicar em New, ir em
Interface Objects -> Message Type.

Padronizao de nomenclatura: iniciando com MT_ e finalizando com Request (Request =


Inbound).
Informe o Data Type do tipo Request criado.

Depois cria o de retorno (Response).

Padronizao de nomenclatura: iniciando com MT_ e finalizando com Response (Response =


Outbound).
Informe o Data Type do tipo Response criado.

1.4.

Criar Service Interfaces

Para criar o Service Interface Outbound o mesmo procedimento de clicar com o boto direito
na Namespace.

Padronizao de nomenclatura: iniciando com SI_ e finalizando com Request (Request =


Inbound).
Como uma interface sncrona, ou seja, depende de informaes de resposta, vamos colocar
os parmetros conforme abaixo.

Ela ser uma interface de Categoria Outbound e Modo Synchronous.


Colocar as Message Types (Request e Response) criadas.
Criar o Service Interface Inbound.

Este ser Sncrono tambm, mas esse ser Inbound.

Ative todos os objetos criados at o momento.

1.5.

Criar Message Mapping

Criar um Message Mapping, que est dentro de Mapping Objects.

Como Source Message, informar o Message Type criado para Request.

Para o Target Message, informar o Message Type criado para Response.

Ligar os campos entre as Message Types atravs do boto destacado abaixo.

1.6.

Criar Operation Mapping

Como Source Operation, coloque o Service Interface Outbound e como Target Operation
coloque o Service Interface Inbound. Clique no boto Read Operations. Clique no search help
do Message Mapping e aparecer o Message Mapping criado para Request
(LECOM_to_ECC).

Na aba Response, clique no search help do Message Mapping e aparecer o Message


Mapping criado para Response (ECC_to_LECOM).

2. No ambiente ECC SPROXY


2.1.

Transao SPROXY

2.2.

Gerar classe (SE24)

2.3.

Incluir cdigo ABAP no mtodo (chamada da RFC)

3. No ambiente PI Integration Builder


Agora na segunda etapa, vamos fazer a configurao no Integration Builder.

3.1.

Criar Configuration Scenario

Na aba Objects, clique com boto direito em Configuration Scenario, clique em New.

Criar um cenrio sem modelo.

Salve. Na aba Objects clique no boto Create Object.

3.2.

Criar Integrated Configuration

Selecione Integrated Configuration dentro de Collaboration Agreement.

Preencha os valores do Sender, ou seja, de quem est enviando. Ento o Communication


Component ser o BC_WORKFLOW. Esse o nico que vai aparecer por search help, os demais
no devem aparecer. Mas como sabemos que a Interface e o Namespace correspondente,
s preenche-los. Ficar preenchido como na figura acima.
Clique em Criar.
Vai aparecer a tela a seguir.

Preencher o Communication Channel de entrada no PI, nesse caso, o S_Soap.


Ir para a aba Receiver e preencher aqui apenas o Communication Component do Receiver.
Nesse caso, o BS_ERD.

Ir para a aba Receiver Interfaces.


Preencher o Operation Mapping com o Operation Mapping da interface.

Ir para a aba Outbound Processing e preencher o Communication Channel com R_Proxy.

Depois s Salvar e, em seguida, Ativar.

3.3.

Gerar WSDL

Para visualizar o WSDL, ir no menu Integrated Configuration e clicar em Display WSDL.

possvel salvar o WSDL gerado e passar para os interessados ou passar a URL que est em
WSDL URL.

4. Transporte de Objetos
4.1.

Objetos do item 1: transporte por arquivo TPZ

4.1.1.

Export

No ambiente de Origem (Desenvolvimento), entrar no Enterprise Services Buider e


selecionar o Namespace que deseja exportar para um arquivo TPZ.
Clicar com boto direito sobre o Namespace e selecionar Exportar.

Na tela seguinte, s clicar em Continue.

Na tela seguinte, o Namespace escolhido j estar selecionado.


Marcar as 2 opes destacadas abaixo. Normalmente, a opo With Namespace Definition
vem desmarcada.
Clicar em Finish.

Escolha o diretrio onde o arquivo ser gravado. Altere o nome do arquivo, se necessrio.
Clicar em Salvar.

Se o export foi concludo corretamente, aparecer a mensagem destacada abaixo e tambm


ser possvel verificar a lista dos objetos exportados.
Clicar em Close.

4.1.2.

Import

No ambiente de Destino (Qualidade ou Produo), entrar no Enterprise Services Buider e


selecionar o Namespace que deseja exportar para um arquivo TPZ.
Clicar com boto direito sobre o Namespace e selecionar Exportar.

4.2.

Objetos do item 2: transporte por request

O transporte desses objetos para os ambientes de Destino (Qualidade e Produo) segue o


procedimento normal de transporte de Request: liberar em Desenvolvimento e solicitar o
transporte para os outros ambientes.

4.3.

Objetos do item 3: configurao direta em cada ambiente

Das könnte Ihnen auch gefallen