Este documento descreve a configuração do Web Service de recebimento do RM no Datasul 12.1.4.
O Datasul EAI disponibiliza um Web Service para receber as informações a serem cadastradas ou consultadas no Datasul.
Para configurar o ambiente, os seguintes serviços devem ser instalados:
Ambiente: Windows 2008 R2 64 bits
Nessa configuração pelo menos um usuário do banco é consumido pelo APPServer. |
Como ambiente de rede, as seguintes mudanças precisam ser promovidas:
Relacione quais são os pré-requisitos (técnicos ou de negócio) para a integração. Este tópico não deve incluir informações da implantação normal do módulo, mas apenas informações específicas da integração. É como se este tópico já partisse do princípio que o módulo que será integrado já está normalmente instalado.
Entre os tópicos deste tópico podemos citar:
1 - Instalação do Progress AppServer
Caso não haja progress na máquina a ser instalada, seguir os passos fornecidos pela Progress. Servidor: GPTESTEORACLE – Windows 2008 R2 64 bits Diretório Progress: C:\DLC102B Versão: 10.2B SP 07 Usuário Progress Explorer Tools: admin/unimed Versão Datasul: 12.1.4 Oracle |
1.1 - Acessar a ferramenta Progress Explorer Tool, conectando-se ao servidor que disponibilizará o serviço.
Conectado ao serviço "localhost".
1.2 - Na pasta "Appserver", adicione um novo serviço, escolhendo a opção "Novo" no menu "Ação".
Criado o serviço “wseai”.
1.3 - Acessar as propriedades do serviço criado através do menu "Ação" item "Propriedades".
Nessa janela deve-se selecionar o modo operacional "Stateless", informar um diretório de trabalho e o número da porta do serviço Appserver (TCP). Esse número de porta servirá para que o NameServer redirecione uma nova conexão entrante para o serviço. É sugerido marcar a opção "Início automático", para que o serviço seja iniciado automaticamente com o Admin Service do Progress.
Modo operacional: Stateless Diretório de trabalho: C:\temp102B Número da porta: 4000 Auto start |
1.4 - Acessar o subitem "Informações sobre o NameServer de controle", do item "Broker".
Nessa janela é necessário:
Registrar com o NameServer NameServer de Controle: NS1 Modo de registro: Register-IP |
1.5 - Acessar o subitem "Geral", do item Servidor.
Configurações:
Para o campo "PROPATH" não são aceitos arquivos de unidades mapeadas, sendo que para se colocar diretórios localizados em outros pontos da rede deve se utilizar o caminho UNC. |
Exemplo:
Nota: O PF informado para conexão aos bancos de dados necessita utilizar conexão client/server ou seja, necessita conectar ao banco no seguinte formato: -db nomebanco -S porta -H nomeservidor -N tcp.
Arquivo executável do servidor: "C:\DLC102B\bin\_proapsv.exe" Parâmetros de inicialização do servidor: -pf C:\totvs\datasul\dts-0\ERP\scripts\appserver\datasul-eai.pf -param "DATASUL11.eai.eai" Propath: \\Gptesteoracle\erp\quarentena\EAI\receiver;C:\totvs\datasul\dts-0\ERP\quarentena\TSBXMO\ems2,C:\totvs\datasul\dts-0\ERP\quarentena\especificos,C:\totvs\datasul\dts-0\ERP\quarentena\gp,C:\totvs\datasul\dts-0\ERP\quarentena\ems5,C:\totvs\datasul\dts-0\ERP\quarentena\hcm,C:\totvs\datasul\dts-0\ERP\especificos\gp,C:\totvs\datasul\dts-0\ERP\especificos\ems5,C:\totvs\datasul\dts-0\ERP\especificos\hcm,C:\totvs\datasul\dts-0\ERP,C:\totvs\datasul\dts-0\ERP\ems2,C:\totvs\datasul\dts-0\ERP\ems5,C:\totvs\datasul\dts-0\ERP\hcm,C:\totvs\datasul\dts-0\ERP\fnd,C:\totvs\datasul\dts-0\ERP\eai,C:\totvs\datasul\dts-0\ERP\eai2,C:\totvs\datasul\dts-0\ERP\gp,C:\totvs\datasul\dts-0\ERP\crm,C:\totvs\datasul\dts-0\ERP\crm\database,C:\totvs\datasul\dts-0\ERP\crm\integracoes Número mínimo de porta: 2002 |
1.6 - Acessar o subitem "Arquivo de log" tanto do item "Broker" como do item "Agente":
Neste estágio é importante inserir um caminho correto no campo "Nome de arquivo de log do servidor", sendo que os logs gerados são muito importantes para diagnósticos de problemas de ambiente e configuração. Também deve-se escolher o nível de log conforme desejado. Mais informações sobre como configurar o log no Appserver podem ser obtidas no item Configuração de Log no AppServer.
Server logging level: Extended Server log filename: C:\TEMP102B\wseai.server.log Server logging entry types: ASPlumbing,DB.Connects,4GLMessages,4GLTrace,FileID |
1.7 – Parametrizar o número de agentes iniciais, mínimo e máximo
Esta parametrização deve respeitar a quantidade máxima de licenças do Progress (verificar no progress.cfg), onde é possível parametrizar com quantos agentes o serviço será iniciado, a quantidade mínima mantida e a máxima permitida.
Lembramos que cada agente em uso ou mantido na memória irá consumir recursos da máquina, porém por se manter ativo pode ter um pequeno ganho de performance na integração do RM com o Datasul.
Initial number of servers to start: 1 Minimum servers: 2 Maximum servers: 5 |
2 - Instalação do Apache Tomcat
O Tomcat é um servlet container, escrito em Java e, por isso, necessita de uma JVM compatível com o padrão JDK 1.5 ou superior. No entanto, não basta ter a versão runtime de Java instalada, pois o Tomcat necessita compilar (e não apenas executar) programas escritos em Java.
É um software livre, podendo ser utilizado comercialmente.
Durante a instalação deve-se informar o diretório onde o Tomcat será instalado e também a porta que o mesmo irá utilizar. Por padrão, a porta é a 8080.
A configuração se refere à instalação do Apache Tomcat versão 5.5.
2.1 - Instalar o Tomcat em uma estrutura de diretório.
A seguir é apresentado um exemplo da estrutura no qual o Tomcat pode ser instalado:
Instalado JDK 1.6.0_45 (C:\Program Files\Java\jdk1.6.0_45) Instalado TomCat 7.0.50 (C:\Program Files\Apache Software Foundation\Tomcat 7.0) Download: http://tomcat.apache.org/download-70.cgi, versão 32-bit/64-bit Windows Service Installer (pgp, md5) Porta: 8080 |
2.2 – Instalação do JDK de forma padrão
2.3 - É necessário fazer o download do arquivo http://tomcat.heanet.ie/native/1.1.2/binaries/win32/tcnative-1.dll
Salvar no diretório <instalação do tomcat>\bin (Ex.: C:\Arquivos de programas\Apache Software Foundation\Tomcat 7.0\bin).
2.4 - Nas configurações do Tomcat no folder "JAVA"
Inserir no final do conteúdo do campo "Java Classpath" já existente um ponto e vírgula(";") e informar o caminho completo para o arquivo tools.jar que existe no diretório lib do JDK que está sendo utilizado (Ex.: ";C:\Arquivos de programas\Java\jdk1.5.0_06\lib\tools.jar", conforme instalado no item 2.2).
2.5 - Para essa configuração existem duas opções:
Nas configurações do Tomcat, na aba "JAVA", inserir no final do conteúdo do campo "Java Options" já existente o seguinte conteúdo: -Dfile.encoding=UTF-8. Isso evitará divergências de acentuação durante as integrações;
- no arquivo "server.xml" do diretório "<instalação tomcat>/conf" na linha <Connector port="8080" protocol="HTTP/1.1" connectionTimeout="20000" redirectPort="8443"/> adicionar o trecho URIEncoding="UTF-8" após redirectPort="8443".
Ex.: <Connector port="8080" protocol="HTTP/1.1" connectionTimeout="20000" redirectPort="8443" URIEncoding="UTF-8"/>
Observação: É possível alterar as portas do serviço tomcat no arquivo "server.xml" no diretório "conf" do Tomcat.
Sem este parâmetro –Dfile.encoding=UTF-8 as transações não aceitarão caracteres especiais nas descrições dos campos. |
Alterado nas propriedades do TomCat. |
3 - Instalação do Axis 1.4
3.1 - Instalar o Axis (copiar a pasta) em uma estrutura de diretório.
A seguir é apresentado um exemplo da estrutura no qual o Axis pode ser instalado:
4 - Habilitar o suporte a Web Services no Tomcat.
4.1 - Copiar o arquivo eai.jar que se encontra na pasta "xmljserv" do EAI (área de programas do Datasul 11) para o diretório \webapps\axis\WEB-INF\lib.
Ex: C:\Arquivos de programas\Apache Software Foundation\Tomcat 7.0\webapps\axis\WEB-INF\lib);
Nota: Caso a versão do Progress que estiver sendo configurada for a versão 10 ou superior, é necessário copiar o arquivo EAI10.JAR ao invés do arquivo EAI.JAR, e renomeá-lo para EAI.JAR.
Neste ambiente utiliza-se o Progress 10, então copiamos o arquivo EAI10.JAR e renomeamos como EAI.JAR.
4.2 - Copiar os seguintes arquivos existentes em \java da instalação do Progress para o diretório \webapps\axis\WEB-INF\lib
(Ex.: C:\Arquivos de programas\Apache Software Foundation\Tomcat 7.-\webapps\axis\WEB-INF\lib):
* Copiar caso a versão do Progress for maior que 10. Se o Progress for versão 10.2B não existe os arquivos "MESSAGERS.JAR", "BASE.JAR", "SPY.JAR" e "UTIL.JAR". Sendo assim, é necessário apenas copiar os arquivos "PROGRESS.JAR", "O4GLRT.JAR", "OPENEDGE.JAR" e "POOL.JAR".
Caso a instalação esteja correta, será exibida a página de boas-vindas do Axis, na qual, é possível efetuar a validação dos componentes instalados, através do link "Validate the local installation´s configuration". |
4.4 - Inicializar o serviço do Tomcat para que já seja possível testar o funcionamento do suporte à Web Service do Axis.
Para isso, bastar abrir o browser e digitar a seguinte URL: http://localhost:8080/axis/.
5 - Variáveis de Ambiente
Para o correto funcionamento do sistema, é necessário que sejam configuradas as seguintes variáveis de ambiente:
5.1 - JAVA_HOME - Deve apontar para o diretório onde encontra-se a instalação do java.
Por exemplo, c:\jdk1.5.2_06.
Localização do JDK: C:\Program Files\Java\jdk1.6.0_45
A variável de ambiente JAVA_HOME nunca poderá apontar para o Java JRE, pois o serviço do TomCat necessita do JDK. |
5.2 - CATALINA_HOME - Deve apontar para o local de instalação do Tomcat.
Por exemplo. C:\Tomcat 7.0
Localização do TomCat: C\Program Files (x86)\Apache Software Foundation\Tomcat 7.0
6 - Publicação do Web Service EAI
Para que se consiga utilizar o web service do EAI, deve-se publicar o arquivo EaiWebService.jws no Tomcat.
6.1 - Copiar o arquivo "xmljserv\EaiWebService.jws" para a pasta "webapps\axis" da instalação do Tomcat.
6.2 - Configurar o arquivo eai.xml, cujo conteúdo deve ser igual ao do arquivo de exemplo a seguir:
Os parâmetros a serem informados neste arquivo são os seguintes:
O número da porta do NameServer pode ser alterado utilizando o Progress Explorer Tool > Console Root > Progress Explorer > localhost > NameServer. Clicando com o botão direito em cima do NameServer (o mesmo definido no passo 1.4), clicar sob "Properties" ou "Propriedades", uma janela abrirá e poderá ser alterado o valor "Número da porta" do NameServer. |
Após parametrizado o arquivo eai.xml, é necessário que o mesmo seja publicado na pasta "webapps\axis\WEB-INF\classes", da instalação do Tomcat (Ex.: C:\Arquivos de programas\Apache Software Foundation\Tomcat 5.5\webapps\axis\WEB-INF\classes).
<?xml version="1.0" encoding="UTF-8"?> <DatasulWebService xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="\\Gptesteoracle\erp\eai\xmlschema\datasulwebservice.xsd"> <Config Description="FALHA DE COM"> <Server>192.168.50.56</Server> <PortNumber>5162</PortNumber> <Service>wseai</Service> </Config> </DatasulWebService> |
Caso alguma das parametrizações do arquivo EAI.XML esteja incorreta, o TomCat não estará corretamente parametrizado para o WebService criado no Progress, fazendo com que as transações não sejam processadas. |
6.3 - Efetuar um teste de acesso ao arquivo de acesso ao Web Service do EAI que foi publicado.
Para isso, deve ser inicializado o Tomcat e após, executar o browser e digitar o seguinte endereço: http://localhost:8080/axis/EaiWebService.jws.
Caso a instalação esteja correta, será exibida uma página com um link para o WSDL (Web Services Description Language) correspondente ao Web Service do EAI. Ao clicar no link "Click to see the WSDL", será apresentada a descrição do Web Service, com seus métodos e parâmetros. |
WebService publicado: http://192.1.2.224:8080/axis/EaiWebService.jws?wsdl |
Usuário EMS: foi criado um novo usuário para a integração, EAI com a senha “eai”.
A alteração desta senha influencia diretamente nos parâmetros de inicialização do WSEAI e deverão ser alteradas em: Propriedades do Agente > Agente > Geral > Parâmetros de inicialização do servidor, onde o atual valor apresenta-se abaixo:
-pf C:\totvs\datasul\dts-0\ERP\scripts\appserver\datasul-eai.pf -param "DATASUL11.eai.eai"
Arquivo PF: poderá ser alterado em: Propriedades do Agente > Agente > Geral > Parâmetros de inicialização do servidor, onde o atual valor apresenta-se abaixo:
-pf C:\totvs\datasul\dts-0\ERP\scripts\appserver\datasul-eai.pf -param "DATASUL11.eai.eai"
Arquivo ALIAS: O arquivo de ALIAS deste ambiente encontra-se em Propriedades do Agente > Agente > Recursos Avançados > Inicialização (Startup procedure) e atualmente possui o seguinte conteúdo:
\\Gptesteoracle\erp\scripts\appserver\alias-eai.p
Propath: As pastas consideradas para o WebService encontram-se em Propriedades do Agente > Agente > Geral > Propath e atualmente possui as pastas:
Após qualquer alteração nos parâmetros do WebService, deve-se reiniciar o serviço “WSEAI” através do Progress Explorer Tools e em seguida reiniciar o serviço do TomCat nos ícones de notificação. |
Reestabelecendo o serviço
Caso a integração RM > Datasul não ocorra, podemos inicialmente verificar:
Em adicional, devem-se avaliar os logs:
Ativando o modo DEBUG do EAI
Identificar o diretório de trabalho do AppServer (C:\temp102B) e em seguida criar uma pasta chamada XMLBKP. Com este procedimento, ao ser submetido um XML do RM ao WebService do EAI o mesmo irá criar um arquivo dentro da pasta indicada que conterá o XML recebido e o retorno enviado ao RM.
Transações assinadas para a integração do RM com o Datasul
Como assinar uma transação
1) Para configurar o ambiente de envio \ sender (Sistema Datasul para RM) na sessão do produto.
Primeiro acessar no Datasul programa Monitor de Integração (queue_monitor). Será aberto o programa EAI9999, clique no botão “Configuração de transações EAI”.
Será aberto o programa EAI0202, clicar com o botão direito do mouse sobre o Produto e selecione “Nova Aplicação”.
Preencher o nome da nova aplicação e clicar em salvar, usar preferencialmente a aplicação Sender ou conforme necessidade do adapter.
Após a criação da Aplicação, clicar com o botão direito do mouse em cima da aplicação criada e selecionar “Nova transação”.
No campo Transação informar "InventoryTransaction", e escolher qual adapter de transporte será utilizado (Fila - AXSUT001, WebService - AXSUT004 ou HTTP Post - AXSUT003), informando os demais campos conforme necessidade\arquitetura escolhida. O adapter de transporte disponibilizará o XML ao aplicativo de destino. Nesta tela não deverá ser parametrizado o adapter de negócio que cria o XML (AXSAR001 ou AXSAR011), pois a chamada do mesmo já é realizada dentro das rotinas (fontes) de negócio.
2)Para configurar o ambiente de recebimento \ receiver (Aplicativo Externo para Sistema Datasul)
Acessar o produto utilizando o arquivo .INI que será utilizado no ambiente de receiver (ou seja, o arquivo .INI que será utilizado no Agente EAI, Serviço Appserver ou Serviço WebSpeed) - este arquivo normalmente é um arquivo diferente do utilizado na sessão do produto.
No propath deste arquivo NÃO DEVERÁ EXISTIR nenhuma entrada que aponte para a pasta onde esteja o arquivo eai-config.xml configurado no item 1).
Repetir os passos do item 1), mas no nome da aplicação sugere-se utilizar o nome "Receiver", e depois na criação da transação, informar o adapter de negócio que processará as mensagens XML: “AXRAR001” ou “AXRAR011” conforme o caso, como explicado no 1o parágrafo.
No caso do EAI-CONFIG.XML de receiver é possível copiá-lo de outros ambientes, pois os adapter apontam para programas do Datasul, não sendo necessário alterar parâmetros conforme ambientes diferentes.