{"id":15284457,"url":"https://github.com/crphp/webservice","last_synced_at":"2026-05-11T07:51:22.253Z","repository":{"id":56959517,"uuid":"74087054","full_name":"crphp/webservice","owner":"crphp","description":"Biblioteca genérica para consumir webservice.","archived":false,"fork":false,"pushed_at":"2018-08-25T01:11:33.000Z","size":52,"stargazers_count":0,"open_issues_count":0,"forks_count":0,"subscribers_count":1,"default_branch":"master","last_synced_at":"2025-01-28T23:49:16.966Z","etag":null,"topics":["curl","soap","webservice","xml"],"latest_commit_sha":null,"homepage":null,"language":"PHP","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/crphp.png","metadata":{"files":{"readme":"README.md","changelog":"CHANGELOG.md","contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null}},"created_at":"2016-11-18T02:21:54.000Z","updated_at":"2018-08-27T22:37:39.000Z","dependencies_parsed_at":"2022-08-21T09:50:32.611Z","dependency_job_id":null,"html_url":"https://github.com/crphp/webservice","commit_stats":null,"previous_names":[],"tags_count":6,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/crphp%2Fwebservice","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/crphp%2Fwebservice/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/crphp%2Fwebservice/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/crphp%2Fwebservice/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/crphp","download_url":"https://codeload.github.com/crphp/webservice/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":245144194,"owners_count":20568051,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["curl","soap","webservice","xml"],"created_at":"2024-09-30T14:56:43.208Z","updated_at":"2026-05-11T07:51:17.214Z","avatar_url":"https://github.com/crphp.png","language":"PHP","funding_links":[],"categories":[],"sub_categories":[],"readme":"# crphp/webservice\n\n\u003ca href=\"https://packagist.org/packages/crphp/webservice\"\u003e\u003cimg src=\"https://poser.pugx.org/crphp/webservice/d/total.svg\" alt=\"Total Downloads\"\u003e\u003c/a\u003e\n\u003ca href=\"https://packagist.org/packages/crphp/webservice\"\u003e\u003cimg src=\"https://poser.pugx.org/crphp/webservice/v/stable.svg\" alt=\"Latest Stable Version\"\u003e\u003c/a\u003e\n\u003ca href=\"https://packagist.org/packages/crphp/webservice\"\u003e\u003cimg src=\"https://poser.pugx.org/crphp/webservice/license.svg\" alt=\"License\"\u003e\u003c/a\u003e\n\nEstá é uma biblioteca básica para se consumir um webservice. Este pacote permite \no consumo via classe **SoapClient** ou via classe genéria **ClienteGenerico** construida com *CURL*.\n\nEstá biblioteca segue os padrões descritos na [PSR-2](http://www.php-fig.org/psr/psr-2/), logo, \nisso implica que a mesma está em conformidade com a [PSR-1](http://www.php-fig.org/psr/psr-1/).\n\nAs palavras-chave \"DEVE\", \"NÃO DEVE\", \"REQUER\", \"DEVERIA\", \"NÃO DEVERIA\", \"PODERIA\", \"NÃO PODERIA\", \n\"RECOMENDÁVEL\", \"PODE\", e \"OPCIONAL\" neste documento devem ser interpretadas como descritas no \n[RFC 2119](http://tools.ietf.org/html/rfc2119). Tradução livre [RFC 2119 pt-br](http://rfc.pt.webiwg.org/rfc2119).\n\n1. [Referências](#referencia)\n1. [Funcionalidades](#funcionalidades)\n1. [Requisitos (recomendados)](#requisitos)\n1. [Baixando o pacote crphp/webservice para o servidor](#webservice)\n1. [Exemplos de uso](#exemplos)\n1. [Licença (MIT)](#licenca)\n\n## 1 - \u003ca name=\"referencias\"\u003e\u003c/a\u003eReferências\n\n - [PSR-1](http://www.php-fig.org/psr/psr-1/)\n - [PSR-2](http://www.php-fig.org/psr/psr-2/)\n - [RFC 2119](http://tools.ietf.org/html/rfc2119) (tradução livre [RFC 2119 pt-br](http://rfc.pt.webiwg.org/rfc2119))\n\n## 2 - \u003ca name=\"funcionalidades\"\u003e\u003c/a\u003eFuncionalidades\n\n- [x] Consumir webservice\n    - [x] Realizar requisições (Request)\n    - [x] Intercepctar respostas (Response)\n    - [x] Obter lista de serviços listados no WSDL\n    - [x] Formatar XML\n\n## 3 - \u003ca name=\"requisitos\"\u003e\u003c/a\u003eRequisitos (módulos)\n\nOs módulos abaixos já estão definidos no arquivo composer.json, isso significa que serão validados automaticamente.\n\n - REQUER ext-curl\n - REQUER ext-soap\n - REQUER ext-dom\n\n## 4 - \u003ca name=\"webservice\"\u003e\u003c/a\u003eBaixando o pacote crphp/webservice para o servidor\n\nPara a etapa abaixo estou pressupondo que você tenha o composer instalado e saiba utilizá-lo:\n```\ncomposer require crphp/webservice\n```\n\nOu se preferir criar um projeto:\n```\ncomposer create-project --prefer-dist crphp/webservice nome_projeto\n```\n\nCaso ainda não tenha o composer instalado, obtenha este em: https://getcomposer.org/download/\n\n## 5 - \u003ca name=\"exemplos\"\u003e\u003c/a\u003eExemplos de uso\n\n**Utilizando a classe ClienteGenerico**:\n```\nuse Crphp\\Webservice\\ClienteGenerico;\n\n// A esquerda do cabeçalho não pode existir espaço em branco\n$xml = '\u003c?xml version=\"1.0\" encoding=\"UTF-8\"?\u003e\n\u003cSOAP-ENV:Envelope xmlns:SOAP-ENV=\"http://schemas.xmlsoap.org/soap/envelope/\" xmlns:ns1=\"http://smartbear.com\"\u003e\n  \u003cSOAP-ENV:Body\u003e\n    \u003cns1:GetCurrentTime/\u003e\n  \u003c/SOAP-ENV:Body\u003e\n\u003c/SOAP-ENV:Envelope\u003e';\n\n$obj = new ClienteGenerico;\n$obj-\u003esetRequest('http://endereco_do_webservice')\n    -\u003edoRequest('nome_servico', $xml);\n\n//Retorna um array contendo o cabeçalho da resposta\n//$obj-\u003egetHeader();\n\nif($xml = $obj-\u003egetResponse()) {\n    // Perfumaria\n    echo '\u003cscript src=\"https://cdn.rawgit.com/google/code-prettify/master/loader/run_prettify.js\"\u003e\u003c/script\u003e';\n    echo '\u003cpre class=\"prettyprint\"\u003e' . $obj-\u003eformatXML($xml) . '\u003c/pre\u003e';\n}\n```\n\n**Utilizando a classe Soap**:\n```\nuse Crphp\\Webservice\\Soap;\n\n//No lugar deste array pode ser passada uma string contendo o xml\n$args = [\n            'tag1_exemplo'   =\u003e 'valor1',\n            'tag2_exemplo'   =\u003e 'valor2',\n            'no_pai' =\u003e [\n                'no_filho' =\u003e 'valor1',\n            ]\n];\n \n$obj = new Soap;\nif($erro = $obj-\u003esetRequest('endereco_do_wsdl')) {\n    exit($erro);\n}\n\n// Retorna um array com a lista de serviços contida no WSDL\n// $obj-\u003egetMethods();\n\n// Se o retorno for null então significa que a consulta não foi realizada\nif(!$erro = $obj-\u003edoRequest('nomeServico', $args)) {\n    // Perfumaria\n    echo '\u003cscript src=\"https://cdn.rawgit.com/google/code-prettify/master/loader/run_prettify.js\"\u003e\u003c/script\u003e';\n    echo \"\u003cpre class='prettyprint' \u003e\" . $obj-\u003eformatXML($obj-\u003egetResponse()) . \"\u003c/pre\u003e\";\n    \n    /**\n     * Retorna uma string contendo o cabeçalho da resposta http do webservice. Deve vir depois de doRequest()\n     *\n     * @see http://php.net/manual/pt_BR/function.nl2br.php Documentação para a função nlb2br.\n     */\n    echo nl2br($obj-\u003egetHeader());\n} else {\n    echo $erro;\n}\n```\n\n## 6 - \u003ca name=\"licenca\"\u003e\u003c/a\u003eLicença (MIT)\n\nTodo o conteúdo presente neste diretório segue o que determina a licença [MIT](https://github.com/crphp/webservice/blob/master/LICENSE).","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fcrphp%2Fwebservice","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fcrphp%2Fwebservice","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fcrphp%2Fwebservice/lists"}