Como criar um projeto de integração com o Eye Peak via WebServices?
Este documento descreve os passos necessários para criar um projeto de integração com o Eye Peak via WebServices. O conceito de integração de sistemas refere-se à possibilidade comunicar informação entre o Eye Peak e sistemas externos (ERPs), bem como no sentido contrário, isto é, entre ERPs e o Eye Peak. Os sistemas externos poderão comunicar com o Eye Peak através de web services que são disponibilizados durante a instalação do Eye Peak. A integração de sistemas externos é realizada através de WebServices que são disponibilizados através do endereço http://localhost:9999/WMSDataImport. Nota: A porta 9999 corresponde à porta definida para o serviço no momento da instalação do Eye Peak . O localhost corresponde ao nome da máquina onde está instalado o serviço, podendo também ser definido por IP.
Pré-Requisitos
- PRIMAVERA Eye Peak;
- Visual Studio 2013 ou superior;
- NET Framework 4.0.
Passo 1 – Criar o Projeto
- Depois de abrir o Visual Studio, selecionar File > New > Project.
- Na janela apresentada, na árvore à esquerda, escolher a linguagem de desenvolvimento (“C#” ou “VB”).
- Selecionar o tipo de projeto, por exemplo, Windows Forms App (.NET Framework).
- Atribuir um nome ao projeto “Sync.WMS”.
- Clicar em OK.
Passo 2 – Referências
- Criar uma nova “Service Reference” colocando o endereço definido na instalação do Eye Peak, por exemplo: http://localhost:9999/WMSDataImport.
- Clicar em “GO” para obter os serviços disponibilizados pelo WebService.
- Em “Services” navegar pela árvore para verificar os métodos disponibilizados pelo WebService.
- Renomear o Serviço inserido para “WMSDataImportWS”.
Passo 3 – Criar a Classe de ligação ao WebService
- Criar uma nova Classe “Utils.cs” que irá servir para proceder à chamada ao WebService.
- Adicionar ao início da classe o namespaces associado ao serviço criado no ponto anterior.
- using System.ServiceModel - para ser utilizado no método abaixo;
- using Sync.WMS.WMSDataImportWS;
- Deverá ser definida uma String Privada contendo o URL de ligação
- Criar um novo método para proceder à ligação ao WebService, conforme o código abaixo:
using System; using System.Collections.Generic; using System.Linq; using System.ServiceModel; using System.Text; using System.Threading.Tasks; using Sync.WMS.WMSDataImportWS; namespace Sync.WMS { public static class Utils { //Open web service configuration private static string URL = String.Format(@"{0}/{1}", "http://localhost:9999", "WMSDataImport"); //private static string URL = String.Format(@"{0}/{1}", "http://localhost:8089", "WMSDataImport"); private static BasicHttpBinding GetBasicHttpBinding() { int maxStringContentLenght = 2147483647; //2097152; TimeSpan SendReceiveTimeout = new TimeSpan(0, 20, 0); TimeSpan openTimeout = new TimeSpan(0, 0, 15); BasicHttpBinding binding = new BasicHttpBinding(BasicHttpSecurityMode.None); binding.OpenTimeout = openTimeout; binding.ReaderQuotas.MaxStringContentLength = maxStringContentLenght; binding.MaxReceivedMessageSize = maxStringContentLenght; binding.MaxBufferPoolSize = maxStringContentLenght; binding.MaxBufferSize = maxStringContentLenght; binding.BypassProxyOnLocal = true; binding.ReceiveTimeout = SendReceiveTimeout; binding.SendTimeout = SendReceiveTimeout; return binding; } public static WMSDataImportClient WS_CLIENT() { return new WMSDataImportClient(GetBasicHttpBinding(), new EndpointAddress(URL)); } } }
NOTAS:
Em todos os acessos que são realizados ao WebService, será sempre necessário indicar o “ERPCompany” que deverá ter o valor do “Cód Empresa ERP” que está associado à base de dados do Eye Peak (na consola do serviço) Veja um exemplo sobre a tecnologia de integração com o Eye Peak no GitHub.login para deixar a sua opinião.