https://github.com/tayron/cakephp-2x-soapsource
Datasource que conecta a um webservice SOAP usando a classe SoapClient do PHP.
https://github.com/tayron/cakephp-2x-soapsource
Last synced: 3 months ago
JSON representation
Datasource que conecta a um webservice SOAP usando a classe SoapClient do PHP.
- Host: GitHub
- URL: https://github.com/tayron/cakephp-2x-soapsource
- Owner: tayron
- License: apache-2.0
- Created: 2015-05-11T20:45:00.000Z (about 10 years ago)
- Default Branch: master
- Last Pushed: 2015-05-12T14:21:35.000Z (about 10 years ago)
- Last Synced: 2025-01-20T23:34:26.675Z (4 months ago)
- Language: PHP
- Size: 137 KB
- Stars: 1
- Watchers: 2
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
# SoapSource #
Datasource que conecta a um webservice SOAP usando a classe SoapClient do PHP.
### Tutorial ###
Adicionar o arquivo dentro do diretório: **app/Model/Datasource/**
No arquivo **app/Config/database.php** fazer a configuração para este data source da seguinte forma:
```
#!php
var $developer = array(
'datasource' => 'SoapSource',
'localhost' => 'http://192.168.3.123:8080/webservice',
'service' => 'gestaoClient',
'cache' => true, // Caso queira desabilitar o cache, basta não informar este parâmetro ou setar como false.
'login' => 'root', // Caso não necessite de login, basta não informar este parâmetro ou setar como false.
'password' => '123' // Caso não necessite de senha, basta não informar este parâmetro ou setar como false.
);
```Na sua classe modelo adicionar o atributo **$useTable = false**.
Na sua action de seu controlador consumir webservice desta maneira:```
#!php
$this->Modelo->query('nomeFuncaoDoWebservice', $arrayParametroDoWebservice);
```Este método retorna o que for retornado pelo servico, em caso de erro irá retornar
um array no seguinte formato:```
#!php
array(
'error' => $requestSoap->faultstring,
'host' => $this->debug['localhost']
)
```Caso seja necessário para cada action infomar a o serviço do webservice que vai ser
acessado, pode-ser criar o seguinte método no seu **appModel.php**```
#!php
public function setService($service) {
$dataSource = ConnectionManager::getDataSource($this->useDbConfig);
$dataSource->setConfig(array(
'service' => 'listarClientes'
'login' => '[email protected]', // Opcional
'password' => 123456 // Opcional
));
}
```E na sua action antes da chamada do método **Entidade::query()** executar o método
**Entidade::setService()** desta maneira:```
#!php$this->Modelo->setService('nomeDoServico');
```