Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/crphp/webservice
Biblioteca genérica para consumir webservice.
https://github.com/crphp/webservice
curl soap webservice xml
Last synced: about 1 month ago
JSON representation
Biblioteca genérica para consumir webservice.
- Host: GitHub
- URL: https://github.com/crphp/webservice
- Owner: crphp
- License: mit
- Created: 2016-11-18T02:21:54.000Z (about 8 years ago)
- Default Branch: master
- Last Pushed: 2018-08-25T01:11:33.000Z (over 6 years ago)
- Last Synced: 2024-10-01T14:56:39.727Z (3 months ago)
- Topics: curl, soap, webservice, xml
- Language: PHP
- Size: 50.8 KB
- Stars: 0
- Watchers: 1
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- Changelog: CHANGELOG.md
- License: LICENSE
Awesome Lists containing this project
README
# crphp/webservice
Está é uma biblioteca básica para se consumir um webservice. Este pacote permite
o consumo via classe **SoapClient** ou via classe genéria **ClienteGenerico** construida com *CURL*.Está biblioteca segue os padrões descritos na [PSR-2](http://www.php-fig.org/psr/psr-2/), logo,
isso implica que a mesma está em conformidade com a [PSR-1](http://www.php-fig.org/psr/psr-1/).As palavras-chave "DEVE", "NÃO DEVE", "REQUER", "DEVERIA", "NÃO DEVERIA", "PODERIA", "NÃO PODERIA",
"RECOMENDÁVEL", "PODE", e "OPCIONAL" neste documento devem ser interpretadas como descritas no
[RFC 2119](http://tools.ietf.org/html/rfc2119). Tradução livre [RFC 2119 pt-br](http://rfc.pt.webiwg.org/rfc2119).1. [Referências](#referencia)
1. [Funcionalidades](#funcionalidades)
1. [Requisitos (recomendados)](#requisitos)
1. [Baixando o pacote crphp/webservice para o servidor](#webservice)
1. [Exemplos de uso](#exemplos)
1. [Licença (MIT)](#licenca)- [PSR-1](http://www.php-fig.org/psr/psr-1/)
- [PSR-2](http://www.php-fig.org/psr/psr-2/)
- [RFC 2119](http://tools.ietf.org/html/rfc2119) (tradução livre [RFC 2119 pt-br](http://rfc.pt.webiwg.org/rfc2119))- [x] Consumir webservice
- [x] Realizar requisições (Request)
- [x] Intercepctar respostas (Response)
- [x] Obter lista de serviços listados no WSDL
- [x] Formatar XMLOs módulos abaixos já estão definidos no arquivo composer.json, isso significa que serão validados automaticamente.
- REQUER ext-curl
- REQUER ext-soap
- REQUER ext-dom## 4 - Baixando o pacote crphp/webservice para o servidor
Para a etapa abaixo estou pressupondo que você tenha o composer instalado e saiba utilizá-lo:
```
composer require crphp/webservice
```Ou se preferir criar um projeto:
```
composer create-project --prefer-dist crphp/webservice nome_projeto
```Caso ainda não tenha o composer instalado, obtenha este em: https://getcomposer.org/download/
**Utilizando a classe ClienteGenerico**:
```
use Crphp\Webservice\ClienteGenerico;// A esquerda do cabeçalho não pode existir espaço em branco
$xml = '
';$obj = new ClienteGenerico;
$obj->setRequest('http://endereco_do_webservice')
->doRequest('nome_servico', $xml);//Retorna um array contendo o cabeçalho da resposta
//$obj->getHeader();if($xml = $obj->getResponse()) {
// Perfumaria
echo '';
echo '' . $obj->formatXML($xml) . '';
}
```**Utilizando a classe Soap**:
```
use Crphp\Webservice\Soap;//No lugar deste array pode ser passada uma string contendo o xml
$args = [
'tag1_exemplo' => 'valor1',
'tag2_exemplo' => 'valor2',
'no_pai' => [
'no_filho' => 'valor1',
]
];
$obj = new Soap;
if($erro = $obj->setRequest('endereco_do_wsdl')) {
exit($erro);
}// Retorna um array com a lista de serviços contida no WSDL
// $obj->getMethods();// Se o retorno for null então significa que a consulta não foi realizada
if(!$erro = $obj->doRequest('nomeServico', $args)) {
// Perfumaria
echo '';
echo "" . $obj->formatXML($obj->getResponse()) . "";
/**
* Retorna uma string contendo o cabeçalho da resposta http do webservice. Deve vir depois de doRequest()
*
* @see http://php.net/manual/pt_BR/function.nl2br.php Documentação para a função nlb2br.
*/
echo nl2br($obj->getHeader());
} else {
echo $erro;
}
```Todo o conteúdo presente neste diretório segue o que determina a licença [MIT](https://github.com/crphp/webservice/blob/master/LICENSE).