Download the PHP package devcoffee/brerp-php-composite-wsc without Composer
On this page you can find all versions of the php package devcoffee/brerp-php-composite-wsc. It is possible to download/install these versions without Composer. Possible dependencies are resolved automatically.
Informations about the package brerp-php-composite-wsc
BrERP Web Service Connector - PHP
O BrERP Web Service Connector tem como objetivo facilitar as requisições SOAP para os webservices do BrERP em sua aplicação PHP. Com sua arquitetura model oriented, não é necessário tratar os arquivos XML de request e response manualmente. Desta forma, com o auxílio desta biblioteca, é possível realizar facilmente tarefas como:
- CRUDs, em qualquer tabela do sistema;
- Extrair informações de views;
- Executar Doc Actions em qualquer documento do BrERP;
- Executar processos.
Compatibilidade
Este repositório conta com uma solução PHP, compatível com PHP > 5.3
Arquitetura
O repositório está dividido em 3 diretórios:
- brerpwsc:
- Este diretório contém o código fonte da biblioteca brerpwsc, que é compilada e inserida nos pacotes do pip;
- test:
- Este diretório contém uma série de arquivos de teste e arquivos de exemplo, que podem ser utilizadas como base para a utilização dessa biblioteca em sua aplicação PHP.
- documents:
- Este diretório contém arquivos utilizados pelos testes, como xmls e JSONs de exemplo, ou arquivos .png.
Instalação
O brerpwsc-php está publicado como biblioteca no Packagist, e portanto, para utiliza-lo em seu projeto php basta instalá-lo utilizando o composer:
Exemplo prático: Criando um Parceiro de Negócios com Imagem de Logo
Para podermos utilizar os webservices no BrERP, é necessário realizar uma configuração inicial, que deve informar o sistema sobre quais parâmetros esperar em um request e quais parâmetros enviar na response. Neste exemplo, criaremos uma aplicação capaz de Criar um parceiro de negócios com uma imagem de logo anexada. Para isso, será necessário utilizar três Web Services, um para o envio da imagem, outro para a criação do parceiro de negócios, com o record_id da imagem referenciado e por fim, um Web Service Composto que nos permite enviar todas as informações em uma única requisição.
Configurando os Webservices no BrERP
Para exportar ou importar dados no BrERP, nenhuma linha de código precisa ser escrita. Basta que sejam feitas algumas simples configurações na janela de Segurança de Serviços Web.
Segurança de Serviços Web
Esta é a janela de configuração dos Web Services, e possui 4 abas de configuração, sendo elas:
- Parâmetros de Serviço Web:
- Esta aba é de importância vital para o funcionamento do Web Service, uma vez que nela são configuradas as ações do Web Service, como a tabela a ser utilizada, a ação a ser realizada, entre outros.
- Entradas de Serviço Web:
- Aqui é informado os parâmetros de entrada do Web Service, ou seja, quais informações serão consumidas por ele. É comum que os parâmetros sejam classificados em conformidade com os nomes da coluna da tabela manipulada.
- Resultado de Serviço Web:
- Essa coluna diz respeito as informações que serão retornadas pelo Web Service, também tendo conformidade com o nome das colunas da tabela
- Acesso de Serviço Web:
- Nessa aba são configuradas as permissões de Login do Web Service, ou seja, quais perfis terão permissão para utiliza-lo.
Criando o Web Service CreateImageTest
Crie um novo WebService na janela Segurança de Serviços Web com o nome CreateImageTest, e preencha-o como a imagem abaixo. Atente-se para os parâmetros:
-Serviço Web: Deve ser Model Oriented Web Services, uma vez que o Web Service agirá diretamente com a base de dados. -Método de Serviço Web: Deve ser Create Data uma vez que o Web Service irá inserir registros na base de dados. -Tabela: Deve ser AD_Image
Lembre-se também de preencher os parâmetros da aba Parâmetros de serviço Web exatamente como na imagem:
Na aba Entrada de Serviços Web crie três campos, referentes as colunas que terão dados inseridos na tabela AD_Image:
Por fim, na aba Acesso de Serviços Web insira todos os usuários que devem ter permissão para utilizar o Web Service:
Criando o Web Service CreateBPartnerTest
Crie um novo WebService na janela Segurança de Serviços Web com o nome CreateBPartnerTest, e preencha-o como a imagem abaixo. Atente-se para os parâmetros:
-Serviço Web: Deve ser Model Oriented Web Services, uma vez que o Web Service agirá diretamente com a base de dados. -Método de Serviço Web: Deve ser Create Data uma vez que o Web Service irá inserir registros na base de dados. -Tabela: Deve ser C_BParter
Lembre-se também de preencher os parâmetros da aba Parâmetros de serviço Web exatamente como na imagem:
Na aba Entrada de Serviços Web crie três campos, referentes as colunas que terão dados inseridos na tabela AD_Image:
Por fim, na aba Acesso de Serviços Web insira todos os usuários que devem ter permissão para utilizar o Web Service:
Criando o Web Service CompositeBPartnerTest
Crie um novo WebService na janela Segurança de Serviços Web com o nome CompositeBPartnerTest, e preencha-o como a imagem abaixo. Atente-se para os parâmetros:
-Serviço Web: Deve ser CompositeInterface, uma vez que o Web Service não agirá diretamente com a base de dados, mas sim, será como um coringa, encapsulando outros Web Services.
Lembre-se também de preencher os parâmetros da aba Acesso de serviço Web exatamente como na imagem:
Código PHP
Com os WebServices criados, podemos utilizar o brerpwsc-php para realizar a interface entre a aplicação e os Web Serives SOAP do BrERP. O brerpwsc-php utiliza arquivos JSON para montar os arquivos XML de requisição. Observe abaixo o exemplo de JSON para uma requisição do tipo CompositeOperation, para cadastrar uma imagem, a anexar seu ID no Parceiro de Negócio:
Podemos então, utilizar o seguinte código PHP para consultar o Web Service:
XML de Envio ao servidor
Resultado
A aplicação PHP utilizando a biblioteca brerpwsc-php construiu o .xml e enviou a requisição ao servidor do BrERP. Se observarmos a janela de Parceiro de Negócios podemos observar que o parceiro de negócios definido no código foi criado, juntamente com a imagem de logo escolhida:
Realizando Requisições simples
Para realizar requisições simples, que apenas consultem um WebService por vez, o arquivo JSON sofre algumas alterações na sua forma. Observe um exemplo de requisição do tipo queryData:
O código PHP mantém-se igual, apenas utilizando os objetos da classe BrerpWsc. O método get_raw_json_response() pode ser utilizado para exibir a resposta do servidor, já transformada em JSON.
Resposta do Servidor
Com o envio acima, o servidor retornará um XML contendo informações de 2 Parceiros de Negócio, iniciando no indice 0. Esse XML é convertido para JSON e exibido na tela: