manual de configuração webservice_002.pdf

13
Data alteração: 16 / 04 / 2012 1 de 13 MANUAL DE CONFIGURAÇÃO DO WEBSERVICE

Upload: andre-leonardo-menezes-bevilaqua

Post on 08-Aug-2015

183 views

Category:

Documents


35 download

TRANSCRIPT

Page 1: Manual de Configuração WebService_002.pdf

Data alteração: 16 / 04 / 2012 1 de 13

MANUAL DE CONFIGURAÇÃO DO WEBSERVICE

Page 2: Manual de Configuração WebService_002.pdf

Data alteração: 16 / 04 / 2012 2 de 13

1. Objetivo A solução oferecida pelo serviço de WebService da Wheb Sistemas é a melhor opção para o envio e retorno de informações de Ordens de Serviço.

Através do WebService, é possível receber todos os seus históricos e anexos em sua OS, sendo gravados para eventuais consultas posteriores.

2. Vantagens As vantagens da funcionalidade em relação ao e-mail, que destacam o serviço, são:

- Maior velocidade no envio de OS's: as OS's são abertas diretamente na Wheb; - Maior confiabilidade: não depende de um serviço instável como o e-mail; - Maior agilidade no atendimento: a OS é aberta diretamente para o grupo de suporte

responsável pela função definida; - Maior segurança no retorno das informações: você recebe as atualizações de históricos e

anexos diretamente na OS.

a) Da abertura, ao encerramento da OS, todo o processo pode ser realizado através do WebService, garantindo todas as vantagens apresentadas acima.

b) Sua maior vantagem é o fato de não utilizar o e-mail, devido a instabilidade do serviço, no qual podemos não receber suas OS's por alguma falha no servidor de e-mail.

c) Através do WebService, no momento da abertura da OS, você irá automaticamente receber o número da OS que foi aberta na Wheb Sistemas, este número ficará gravado em sua OS, oferecendo maior facilidade no momento de realizar contato com a Wheb.

3. Processo de Implantação de Envio e Retorno via WebService a) As informações detalhadas neste documento devem ser seguidas exatamente como descritas, pois a parametrização incorreta levará ao não funcionamento, ou funcionamento incorreto do WebService.

b) Os parâmetros informados como “Opcional” não são obrigatórios para o funcionamento do WebService, sendo dispensáveis suas configurações. Porém, os parâmetros obrigatórios devem estar corretamente configurados.

c) Para iniciar a implantação, é necessário que sejam salvos as DLL's “DelZIP179.dll” e “WhebZIP.dll” no diretório onde se encontra o executável do Tasy. Caso não tenha certeza do diretório, verifique no arquivo “bat” onde está definido para ser salvo o executável. Estas DLL's devem estar salvas em todas as máquinas que forem enviar/receber informações via WebService.

d) Também devem ser liberadas as portas 20 e 21 no Firewall, para os IP's da Wheb (“ws1.wheb.com.br” e “ws2.wheb.com.br”).

e) Após salvar as DLL's e liberar as portas, os seguintes os parâmetros abaixo devem ser configurados. Os parâmetros obrigatórios são os [69], [80], [81] e [82] do “Menu do Sistema”, e os [08], [12] e [91] da “Ordem de Serviço”.

Page 3: Manual de Configuração WebService_002.pdf

Data alteração: 16 / 04 / 2012 3 de 13

4. Parâmetros do Menu do Sistema

- Parâmetro [62] “Mostrar máscara ***** nos valores dos parâmetros de senha” (Opcional): Caso este parâmetro esteja definido com o valor “SIM”, será apresentado máscara em todas as senhas registradas nos parâmetros, como o [82] do “Menu do Sistema”.

- Parâmetro [69] “Definir a URL para o WebServer Java”: Informar o valor

http://ws1.wheb.com.br; http://ws2.wheb.com.br (IP do Serviços da Wheb).

Desta forma o sistema tentará comunicar pelo primeiro endereço e caso esteja

indisponível irá se comunicar pelo segundo, minimizando a possibilidade de indisponibilidade do serviço.

- Parâmetro [80] “Endereço do Servidor de Proxy”: Deverá ser definido o endereço do proxy

do hospital (IP:Porta). Ex.: 172.0.0.1:3128.

Referente ao parâmetro [80], é ideal verificar diretamente o endereço informado nas “Opções da Internet” (Painel de Controle > Opções da Internet > Aba Conexões > Configurações da Lan > Servidor Proxy). O endereço informado na configuração é o do Proxy utilizado.

- Parâmetro [81] “Usuário de acesso ao Proxy”: Informar o nome de usuário do Proxy, caso

haja. - Parâmetro [82] “Senha do usuário de Proxy”: Informar senha do Proxy, caso haja.

Referente aos parâmetros [81] e [82], é possível descobrir se há necessidade ou não de usuário/senha, acessando algum site, como o Google. Caso seja solicitado a digitação de usuário/senha, será necessário informar no Tasy também. 5. Parâmetros da Ordem de Serviço

- Parâmetro [08] “Local onde será salvo o anexo”: Deverá ser informado o caminho para o

diretório onde serão salvos os anexos das OS's, recebidos da Wheb. O endereço deverá conter no final uma barra invertida (“ \ ”). Ex: F:\Anexos\

Neste parâmetro é correto definir uma pasta na rede, na qual todos os usuários tenham acesso total (Leitura/Escrita). Isso é necessário, pois caso haja mais de um usuário recebendo os anexos, os mesmos serão salvos em um caminho onde qualquer usuário, de qualquer máquina, consiga acessar, desde que tenha permissão para isso.

- Parâmetro [12] “Permitir informar campos específicos da informática”: É necessário definir o valor “SIM” para este parâmetro. Este parâmetro habilita os campos “Função” e “Classificação” da Ordem de Serviço, necessários para o envio via WebService, por agilizar na definição do grupo responsável pela função.

- Parâmetro [90] “Informar a sequência do estágio após envio da OS” (Opcional): Informar

o estágio que a OS irá assumir após ser enviado para a Wheb, através da opção “Enviar OS via WebService”.

- Parâmetro [91] “Informar a sequência do estágio no retorno da OS”: Informar o estágio

que OS irá assumir ao receber alguma atualização da Wheb, ao utilizar a opção “Obter Anexo(s)/Histórico(s) OS via WS”.

- Parâmetro [92] “Informar a sequência do estágio ao solicitar encerramento da OS”

(Opcional): Informar estágio que OS irá assumir ao solicitar o encerramento, através da opção “Encerrar OS via WebService”.

Page 4: Manual de Configuração WebService_002.pdf

Data alteração: 16 / 04 / 2012 4 de 13

- Parâmetro [93] “Informar a sequência do estágio após encerrar a OS” (Opcional):

Informar o estágio que a OS irá assumir após ser encerrada.

Os estágios podem ser cadastrados em Cadastros > Manutenção Hospitalar > Cadastros > Estágio do Processo. Para o parâmetro [91], sugerimos a criação do estágio “Retorno Wheb”, para uma maior facilidade na identificação de OS's com novos históricos / anexos, porém, poderá ser utilizado qualquer outro estágio.

- Parâmetro [122] “Forma de agrupamento das Ordens de Serviço” (Opcional): Se o parâmetro for definido com o valor “SIM”, será criada uma pasta no diretório definido no parâmetro [08] com o nome como o número da OS e dentro desta pasta serão salvos os anexos da OS. O objetivo do parâmetro é uma maior organização dos anexos. 6. Liberação do Uso do WebService Ao realizar as parametrizações necessárias e salvar as DLL's no diretório do executável, é necessário solicitar a liberação para utilizar o Envio e Retorno via WebService. Esta solicitação pode ser feita através de e-mail ([email protected]), sendo necessários os seguintes dados:

- Nome Completo; - E-mail; - Data de Nascimento; - Hospital; - Código do Cadastro de Pessoa Física do Tasy.

Após solicitar a liberação para o envio e retorno, será necessário realizar um teste, enviando uma OS via WebService, para que seja verificado se a funcionalidade foi configurada corretamente e se está sendo possível receber as atualizações corretamente.

7. Opções do WebService Ao concluir o processo de implantação, estarão disponíveis três novas opções referentes ao WebService, no menu Pop-Up do botão direito do mouse, na função Ordem de Serviço:

- Enviar OS via WebService: Esta opção deverá ser utilizada ao abrir uma nova OS com a

Wheb, ou ao inserir novo histórico/anexo para enviar à Wheb. Esta opção deve ser utilizada em cada OS que for atualizada, pois só envia as informações da OS em questão.

- Obter Anexo(s)/Histórico(s) OS via WS: Esta opção deverá ser utilizada para verificar se

há novos históricos/anexos de alguma OS pendente com a Wheb. Esta opção pode ser utilizada uma única vez, pois busca as atualizações de todas as OS's que estiverem pendentes com a Wheb.

- Encerrar OS via WebService: Esta opção deverá ser utilizada ao concluir a OS.

Desta forma, o WebService substitui totalmente a utilização de e-mails para o processo de abertura, atualização e encerramento das OS's com a Wheb.

8. Situações ao Enviar OS via WebService Ao efetuar os testes de envio/retorno de OS's via WebService, podem ocorrer as seguintes situações, devido a parametrização incorreta:

· Mensagem: “General SQL Error. Ora-01722: Número Inválido”.

Page 5: Manual de Configuração WebService_002.pdf

Data alteração: 16 / 04 / 2012 5 de 13

· Causa: Parâmetro que define o estágio da OS foi informado incorretamente. · Solução: Verificar os parâmetros [90], [91], [92] e [93] da “Ordem de Serviço”, a fim

de identificar qual teve o valor definido incorretamente. · Mensagem: “[IP] não respondeu solicitação!!!”.

Page 6: Manual de Configuração WebService_002.pdf

Data alteração: 16 / 04 / 2012 6 de 13

· Causa: Endereço do Proxy definido incorretamente no parâmetro [80] do “Menu do

Sistema”. · Solução: Identificar Proxy correto (através das Opções da Internet, conforme descrito

acima) e definir o valor no parâmetro. · Mensagem: “Invalid WSDL Document – XML Document Must Have a Top Level

Element”.

Page 7: Manual de Configuração WebService_002.pdf

Data alteração: 16 / 04 / 2012 7 de 13

· Causa: Frequentemente relacionado ao valor do parâmetro [69] do “Menu do Sistema”,

definido incorretamente, também pode estar ligado a falta de liberação das portas 20 e 21, descritas no início do documento, ou algum outro bloqueio, impedindo o Tasy de acessar o endereço especificado.

· Solução: Verificar parâmetro [69], definindo o IP da Wheb (http://200.215.15.66),

e solicitar a verificação das portas 20 e 21 do Firewall, a fim de identificar se estão corretamente liberadas.

· Mensagem: “Violação de Acesso”.

Page 8: Manual de Configuração WebService_002.pdf

Data alteração: 16 / 04 / 2012 8 de 13

· Causa: Esta mensagem pode estar relacionada a: 1. Falta das DLL's no diretório do executável do Tasy. 2. Falta da liberação das portas 20 e 21 do Firewall. 3. A função “Prevenção de Execução de Dados” do Windows está habilitada, porém, o

executável do Tasy não está incluso nas exceções. 4. Informações do Proxy (Parâmetros [80], [81] e [82] do “Menu do Sistema”) não foram

definidos corretamente. 5. Falha na conexão com a Internet. · Solução: Analisar os itens, em busca da possível causa do erro, devido à incorreta

parametrização de algum item, ou restrição de acesso gerada por algum programa externo (antivírus, firewall, proxy, etc.).

· Mensagem: “Failed to load WhebZIP.dll”.

Page 9: Manual de Configuração WebService_002.pdf

Data alteração: 16 / 04 / 2012 9 de 13

· Causa: Não foi possível localizar a DLL “WhebZIP” no diretório do executável do Tasy. · Solução: Salvar as DLL's necessárias no diretório correto. · Mensagem: “Problema ao tentar enviar anexo(s)!”.

Page 10: Manual de Configuração WebService_002.pdf

Data alteração: 16 / 04 / 2012 10 de 13

· Causa: Não há as DLL's necessárias no diretório do executável do Tasy ou o arquivo a

ser enviado anexo está com algum problema. · Solução: Verificar a existência das DLL's, se o arquivo a ser enviado encontrasse

realmente no diretório especificado e, caso haja mais de um arquivo, se não há arquivos de nomes iguais.

· Mensagem: “Premature End of File”.

Page 11: Manual de Configuração WebService_002.pdf

Data alteração: 16 / 04 / 2012 11 de 13

· Causa: Parametrização incorreta e/ou executável incorreto. · Solução: Verificar se todos os parâmetros estão de acordo e se o executável utilizado

está de acordo com o da versão. · Mensagem: 'Já existe uma requisição em andamento'.

· Causa: Arquivo pendente na base. · Solução: Rodar o comando abaixo no SQL.

Verificar se há anexos pendentes para download. select count(*) from man_ordem_serv_arq where ie_status_anexo = 'P'; Retirar todos os anexos que estiverem pendentes para download

Page 12: Manual de Configuração WebService_002.pdf

Data alteração: 16 / 04 / 2012 12 de 13

update man_ordem_serv_arq set ie_status_anexo ='O' where ie_status_anexo = 'P'; commit;

Além destas situações descritas, podem ocorrer outras falhas, no momento de obter as atualizações. A situação mais comum é de você receber o arquivo anexo da OS, porém, o mesmo ser salvo sem nenhuma informação (0 bytes) em sua OS.

Para corrigir esta falha, o Firewall deverá ser configurado a fim de permitir a conexão FTP do Tasy com a Wheb, para obter os anexos.

9. Firewall

Inicialmente, caso utilize uma regra de firewall para o bloqueio de portas de entrada e saída, é necessário criar algumas exceções, permitindo o acesso dos IP's da Wheb às portas 20 e 21.

Para realizar a conexão e receber os anexos, o Tasy utiliza uma conexão FTP com a Wheb, que utiliza as portas 20 e 21, responsáveis respectivamente pela conexão e listagem de arquivos.

Porém, a transferência dos arquivos no momento do download, ocorre através de portas dinâmicas, conhecidas como “Portas Altas”.

Caso o modo de implementação do Firewall seja STATELESS, é necessário que sejam criadas regras de mapeamento para as portas. Caso o modo de implementação seja STATEFULL, o processo será automático.

Para uma melhor compreensão de como estas regras afetam o correto funcionamento do WebService, será descrito o processo de atualização:

1. Cliente solicita atualizações para o WebService da Wheb Sistemas; 2. O WebService retorna um XML contendo todas as atualizações, bem como o nome dos arquivos anexos a OS; 3. O Tasy percorre o XML e inicia a atualização das Ordens de Serviço (gravar históricos e inserir os registros dos anexos, deixando-os com o status Pendente para Download); 4. No final do processo, o sistema busca quais os arquivos estão com status Pendente para Download; 5. O Tasy cria um arquivo em seu servidor com tamanho ZERADO, e depois efetua a conexão FTP para baixar o conteúdo do arquivo. Portanto, caso ocorra algum bloqueio para a conexão, o arquivo ficará com o tamanho de 0 bytes, sem nenhuma informação.

Muitas vezes, esta situação está relacionada ao mapeamento incorreto das portas, e desta forma, os responsáveis pelo Firewall dos hospitais nos informaram que a solução para esta situação foi a alteração do modo de implementação do firewall para STATEFULL.

IMPORTANTE: O responsável pela segurança da rede/internet do hospital acompanhe o teste, a fim de identificar se algum pacote de informação está sendo bloqueado/perdido, durante o processo de atualização da OS.

Page 13: Manual de Configuração WebService_002.pdf

Data alteração: 16 / 04 / 2012 13 de 13

Abaixo, segue um exemplo de regra criado para que seja possível receber corretamente os arquivos anexos:

# FTP modprobe ip_nat_ftp modprobe ip_conntrack_ftp ################## LIBERANDO WHEB iptables -I INPUT -p tcp -s 189.16.169.130 --dport 20 -j ACCEPT iptables -I FORWARD -p tcp -s 189.16.169.130 --dport 20 -j ACCEPT iptables -I INPUT -p udp -s 189.16.169.130 --dport 20 -j ACCEPT iptables -I FORWARD -p udp -s 189.16.169.130 --dport 20 -j ACCEPT iptables -I INPUT -p tcp -s 189.16.169.130 --dport 21 -j ACCEPT iptables -I FORWARD -p tcp -s 189.16.169.130 --dport 21 -j ACCEPT iptables -I INPUT -p udp -s 189.16.169.130 --dport 21 -j ACCEPT iptables -I FORWARD -p udp -s 189.16.169.130 --dport 21 -j ACCEPT iptables -I INPUT -p tcp -s 177.19.229.58 --dport 20 -j ACCEPT iptables -I FORWARD -p tcp -s 177.19.229.58 --dport 20 -j ACCEPT iptables -I INPUT -p udp -s 177.19.229.58 --dport 20 -j ACCEPT iptables -I FORWARD -p udp –s 177.19.229.58 --dport 20 -j ACCEPT iptables -I INPUT -p tcp -s 177.19.229.58 --dport 21 -j ACCEPT iptables -I FORWARD -p tcp -s 177.19.229.58 --dport 21 -j ACCEPT iptables -I INPUT -p udp -s 177.19.229.58 --dport 21 -j ACCEPT iptables -I FORWARD -p udp -s 177.19.229.58 --dport 21 -j ACCEPT ################## FIM WHEB

A Wheb Sistemas não possui especialistas em Firewall, portanto, a regra apresentada foi criada por um dos hospitais clientes da Wheb, e que solucionou várias situações em que o Firewall bloqueava o recebimento dos arquivos.