Usamos cookies para medir audiência e melhorar sua experiência. Você pode aceitar ou recusar a qualquer momento. Veja sobre o iMasters.
olá pessoal,
estou instanciando uma funcão para este webservice, mas não está dando certo.
O q eu estou fazendo de errado?
alguem poderia me ajudar ?
$client = new SoapClient('http://rondap.ura.uniube.br:8050/g5-senior-services/ronda_Synccom_senior_g5_rh_hr_relatorios?wsdl' true);
$relIn = array(
'prRelatorio' => 'HRCP103.APU',
'prExecFmt' => 'tefFile',
'prDir' => $_SERVER['DOCUMENT_ROOT'].'/servicos/arquivos/',
'prFileName' => 'arquivo_20161122',
'prFileExt' => 'PDF',
'prSaveFormat' => 'tsfPDF',
'prEntrada' => '<EDatInR=18/08/2016><EDatFiR=17/09/2016><ELisDem=S><EMarAfa=S><EMarFol=S><EHorasAfastadas=S><EAbrGpe=N><EAbrEmp=1><EAbrTcl=1><EAbrCad=19430>',
'prEntranceIsXML' => 'F',
'prLOG' => 'T'
);
$arguments = array(
'user' => '*******',
'password' => '*******',
'encryption' => 0,
'parameters' => $relIn
);
$result = $client->Relatorios($arguments);
return $result->RelatoriosResponse;Olá Anderson,
no meu código tem a virgula, só quando passei pra cá q ela sumiu rsrs
não sei o q está acontecendo, pode ser que eu esteja pegando a função errada para gerar o arquivo pra mim.
Poderia me dar uma luz quanto a isso?
Obrigada.
O que o código deveria fazer mas não está fazendo?
A URL que você usou está certa? Pois acessando ela, não funciona...
Outro problema é que o parâmetro após a URL é opcional, mas se você passá-lo, ele deve ser um array de configuração (e não boolean, como você fez).
Essa função "Relatorios", de onde ela vem? Tem certeza que ela existe? Pelo menos na classe SoapClient ela não existe.
Adicione este código bem no início do arquivo para tornar as mensagens de erro visíveis:
<?php
ini_set("display_errors", 1);
error_reporting(E_ALL|E_STRICT);
// restante do seu código
Este é meu cógido Anderson,
dele deveria gerar uma folha de ponto, mas mas está chamando a função correta, já tentei todas da wsdl.
error_reporting(E_ALL);
ini_set('display_errors', '1');
include_once $_SERVER['DOCUMENT_ROOT'] . "/uniube/back_end/framework/NuSOAP/NuSOAP_0.9.5/lib/nusoap.php";
if (strstr($_SERVER['SERVER_NAME'],'intrateste')){
$conexao = require_once('intranet_conecta_teste.php');
}else{
$conexao = require_once('intranet_conecta.php');
}
class Ponto{
private $conexao;
public function __construct($conexao) {
$this->conexao = $conexao;
}
public function get($key) {
if ( array_key_exists( $key, get_class_vars(get_class($this)) ) ){
return $this->$key;
}else{
echo "O campo $key não está definido para este objeto";
return false;
}
}
public function set( $key, $value ) {
if($value === ''){
$value = NULL;
}
if ( array_key_exists( $key, get_class_vars(get_class($this)) ) ){
$this->$key = $value;
return true;
}else{
echo "O campo $key não está definido para este objeto";
return false;
}
}
public function __destruct(){
}
//public function FolhaPonto($inicio, $final, $colaborador, $data) {
public function FolhaPonto() {
$client = new SoapClient("http://rondap.ura.uniube.br:8050/g5-senior-services/ronda_Synccom_senior_g5_rh_hr_relatorios?wsdl");
$arguments =/* array(
'user' => '******',
'password' => '******',
'encryption' => 0,
'parameters' =>*/ array(
'prRelatorio' => 'HRCP103.APU',
'prExecFmt' => 'tefFile',
'prDir' => $_SERVER['DOCUMENT_ROOT'].'/servicos/arquivos/',
'prFileName' => 'arquivo_20161122',
'prFileExt' => 'PDF',
'prSaveFormat' => 'tsfPDF',
'prEntrada' => '<EDatInR=18/08/2016><EDatFiR=17/09/2016><ELisDem=S><EMarAfa=S><EMarFol=S><EHorasAfastadas=S><EAbrGpe=N><EAbrEmp=1><EAbrTcl=1><EAbrCad=19430>',//'prEntrada' => '<EDatInR='.$inicio.'><EDatFiR='.$final.'><ELisDem=S><EMarAfa=S><EMarFol=S><EHorasAfastadas=S><EAbrGpe=N><EAbrEmp=1><EAbrTcl=1><EAbrCad='.$colaborador.'>', #parametros fixos e variáveis para o colaborador ter acesso a sua folha de ponto
'prEntranceIsXML' => 'F',
//)
);
try {
$result = $client->relatoriosRelatoriosIn($arguments);
} catch (Exception $e) {
return '0';
die;
}
return $result->g5seniorservices->Relatorios('******','*****', 0, $arguments);
}
}O primeiro passo é descobrir o que está errado, e depois achar a solução. Mas como não tenho como testar o código, você é quem precisa achar o que está errado.
Você habilitou as mensagens de erros (display_errors...)? O que aparece na tela quando você acessa a página?
Anderson,
esses são o xml
This XML file does not appear to have any style information associated with it. The document tree is shown below.
<!--
Published by JAX-WS RI at http://jax-ws.dev.java.net. RI's version is Metro/2.2-b13 (branches/2.2-6964; 2012-01-09T18:04:18+0000) JAXWS-RI/2.2.6-promoted-b20 JAXWS/2.2 svn-revision#unknown.
-->
<!--
Generated by JAX-WS RI at http://jax-ws.dev.java.net. RI's version is Metro/2.2-b13 (branches/2.2-6964; 2012-01-09T18:04:18+0000) JAXWS-RI/2.2.6-promoted-b20 JAXWS/2.2 svn-revision#unknown.
-->
<definitions xmlns:wsu="http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-wssecurity-utility-1.0.xsd" xmlns:wsp="http://www.w3.org/ns/ws-policy" xmlns:wsp1_2="http://schemas.xmlsoap.org/ws/2004/09/policy" xmlns:wsam="http://www.w3.org/2007/05/addressing/metadata" xmlns:soap="http://schemas.xmlsoap.org/wsdl/soap/" xmlns:tns="http://services.senior.com.br" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns="http://schemas.xmlsoap.org/wsdl/" targetNamespace="http://services.senior.com.br" name="g5-senior-services">
<types></xsd:schema>
</types>
<message name="Relatorios">
<part name="user" type="xsd:string"/>
<part name="password" type="xsd:string"/>
<part name="encryption" type="xsd:int"/>
<part name="parameters" type="tns:relatoriosRelatoriosIn"/>
</message>
<message name="RelatoriosResponse">
<part name="result" type="tns:relatoriosRelatoriosOut"/>
</message>
<portType name="ronda_Synccom_senior_g5_rh_hr_relatorios">
<operation name="Relatorios" parameterOrder="user password encryption parameters">
<input wsam:Action="http://services.senior.com.br/ronda_Synccom_senior_g5_rh_hr_relatorios/RelatoriosRequest" message="tns:Relatorios"/>
<output wsam:Action="http://services.senior.com.br/ronda_Synccom_senior_g5_rh_hr_relatorios/RelatoriosResponse" message="tns:RelatoriosResponse"/>
</operation>
</portType>
<binding name="ronda_Synccom_senior_g5_rh_hr_relatoriosPortBinding" type="tns:ronda_Synccom_senior_g5_rh_hr_relatorios"></input>
<output></output>
</operation>
</binding>
<service name="g5-senior-services">
<port name="ronda_Synccom_senior_g5_rh_hr_relatoriosPort" binding="tns:ronda_Synccom_senior_g5_rh_hr_relatoriosPortBinding"></port>
</service>
</definitions>
import...
This XML file does not appear to have any style information associated with it. The document tree is shown below.
<!--
Published by JAX-WS RI at http://jax-ws.dev.java.net. RI's version is Metro/2.2-b13 (branches/2.2-6964; 2012-01-09T18:04:18+0000) JAXWS-RI/2.2.6-promoted-b20 JAXWS/2.2 svn-revision#unknown.
-->
<xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema" version="1.0" targetNamespace="http://services.senior.com.br">
<xs:complexType name="relatoriosRelatoriosIn">
<xs:sequence>
<xs:element name="flowInstanceID" type="xs:string" nillable="true" minOccurs="0"/>
<xs:element name="flowName" type="xs:string" nillable="true" minOccurs="0"/>
<xs:element name="prAnexoBool" type="xs:string" nillable="true" minOccurs="0"/>
<xs:element name="prAssunto" type="xs:string" nillable="true" minOccurs="0"/>
<xs:element name="prCC" type="xs:string" nillable="true" minOccurs="0"/>
<xs:element name="prCCo" type="xs:string" nillable="true" minOccurs="0"/>
<xs:element name="prDest" type="xs:string" nillable="true" minOccurs="0"/>
<xs:element name="prDir" type="xs:string" nillable="true" minOccurs="0"/>
<xs:element name="prEntrada" type="xs:string" nillable="true" minOccurs="0"/>
<xs:element name="prEntranceIsXML" type="xs:string" nillable="true" minOccurs="0"/>
<xs:element name="prExecFmt" type="xs:string" nillable="true" minOccurs="0"/>
<xs:element name="prFileExt" type="xs:string" nillable="true" minOccurs="0"/>
<xs:element name="prFileLayout" type="xs:string" nillable="true" minOccurs="0"/>
<xs:element name="prFileName" type="xs:string" nillable="true" minOccurs="0"/>
<xs:element name="prLOG" type="xs:string" nillable="true" minOccurs="0"/>
<xs:element name="prLayoutEXCEL" type="xs:string" nillable="true" minOccurs="0"/>
<xs:element name="prLayoutSAGA" type="xs:string" nillable="true" minOccurs="0"/>
<xs:element name="prMensagem" type="xs:string" nillable="true" minOccurs="0"/>
<xs:element name="prOrder" type="xs:string" nillable="true" minOccurs="0"/>
<xs:element name="prPrintDest" type="xs:string" nillable="true" minOccurs="0"/>
<xs:element name="prRelatorio" type="xs:string" nillable="true" minOccurs="0"/>
<xs:element name="prRemetente" type="xs:string" nillable="true" minOccurs="0"/>
<xs:element name="prRetorno" type="xs:string" nillable="true" minOccurs="0"/>
<xs:element name="prSaveFormat" type="xs:string" nillable="true" minOccurs="0"/>
<xs:element name="prTypeBmp" type="xs:string" nillable="true" minOccurs="0"/>
<xs:element name="prUniqueFile" type="xs:string" nillable="true" minOccurs="0"/>
</xs:sequence>
</xs:complexType></xs:sequence>
</xs:complexType>
</xs:schema>
De erro está dando isso: Fatal error: Call to undefined method soapclient::relatoriosRelatoriosIn() in /web/default/html/servicos/folhaPonto.class.php on line 86
Quer dizer que eu não estou chamando a função correta. Já tentei todas, mas nao funciona
Uma chamada bem simples seria assim:
<?php
$client = new SoapClient("endereço do serviço");
$response = $client->nomeDaFuncao();
var_dump($response);
Você não tem o manual desse web service?
Crie um novo arquivo com este código e veja o que aparece na tela:
<?php
ini_set("display_errors", 1);
error_reporting(E_ALL|E_STRICT);
$client = new SoapClient("http://rondap.ura.uniube.br:8050/g5-senior-services/ronda_Synccom_senior_g5_rh_hr_relatorios?wsdl");
var_dump($client);
die("?");Use este código para ver as funções disponíveis para uso:
<?php
$client = new SoapClient("http://rondap.ura.uniube.br:8050/g5-senior-services/ronda_Synccom_senior_g5_rh_hr_relatorios?wsdl");
echo "<pre>";
print_r($client->__getFunctions());
die("?");\o/ estamos caminhando rsrs
deu isso : Error ORA-24415: Nome do usuário nulo ou não encontrado.
Então agora a comunicação com o web service está funcionando :)
Agora o que está errado é os parâmetros que você passou para a função/serviço... ou você não passou os parâmetros necessários, ou fez de forma errada...
$parameters = Array(
"blabla1" => "valor",
"blabla2" => "valor",
"blabla3" => "valor",
"etc"
);
$client->Relatorios($parameters);Não sei o q estou fazendo de errado, já testei todas (TODAS rsrs) as funções possíveis e não da certo.
usei a função q você me passou, mas não me mostra nd:
print_r($client->__getFunctions());
Ta difícil.
:wacko: :wacko:
Tente detalhar mais, porque "não dá certo" é muito genérico e não dá para saber o que aconteceu aí...
O que exatamente aconteceu?
Qual a parte que não funcionou?
O que aparece na tela quando você acessa a página?
Tem alguma mensagem de erro?
O que o print_r($client->__getFunctions()) mostrou na tela?
Como está seu código agora?
Eu testei usando os arquivos xml que você passou com o código abaixo e funcionou:
<?php
ini_set("display_errors", 1);
error_reporting(E_ALL|E_STRICT);
// eu salvei os arquivos para poder testar, mas você deve trocar pela sua url
$client = new SoapClient("http://127.0.0.1/wsdl/service.xml");
echo "<pre>";
var_dump($client->__getFunctions());
die("?");
Foi exibido isto na tela:
Não está chamando as funções que deveria. E geralmente me mostra um erro.
No momento coloquei assim o código como o retorno das função q você fez, pq chamei as funções com o "__getFunctions()" e não me retornou nd.
public function FolhaPonto($inicio, $final, $colaborador, $data) {
//public function FolhaPonto() {
$client = new soapclient("http://rondap.ura.uniube.br:8050/g5-senior-services/ronda_Synccom_senior_g5_rh_hr_relatorios?wsdl");
$arguments = /*array(
'user' => '********',
'password' => '*******',
'encryption' => 0,
'parameters' =>*/ array(
'prDir' => $_SERVER['DOCUMENT_ROOT'].'/servicos/arquivos/',//'C:\Users\ellen.bols.ded\Desktop', //ondap\Senior\Rel\Cartao_Ponto_WebService', #caminho do diretorio *verificar um diretório que todos os colaboradores tenham acesso
'prEntrada' => '<EDatInR='.$inicio.'><EDatFiR='.$final.'><ELisDem=S><EMarAfa=S><EMarFol=S><EHorasAfastadas=S><EAbrGpe=N><EAbrEmp=1><EAbrTcl=1><EAbrCad='.$colaborador.'>', #parametros fixos e variáveis para o colaborador ter acesso a sua folha de ponto
/'prEntrada' => '<EDatInR=18/08/2016><EDatFiR=17/09/2016><ELisDem=S><EMarAfa=S><EMarFol=S><EHorasAfastadas=S><EAbrGpe=N><EAbrEmp=1><EAbrTcl=1><EAbrCad=19430>',/
'prEntranceIsXML' => 'F',
'prExecFmt' => 'tefFile', #tipo de arquivo
'prFileExt' => 'PDF', #tipo do arquivo
'prFileName' => 'cartao_ponto_'.$colaborador.'_'.$data, #nome do arquivo ex.: arquivo_20161104
/'prFileName' => 'arquivo_20161122',/
'prRelatorio' => 'HRCP103.APU', #tipo de relatório
'prSaveFormat' => 'tsfPDF', #salvar arquivo
//)
);
try {
$result = $client->relatoriosRelatoriosOut->Relatorios('****', '*****', 0, relatoriosRelatoriosIn($arguments));
} catch (Exception $e) {
return '0';
die;
}
/*echo '<pre>';
var_dump ($result);return $result;
}
E está me retornando isso
Notice: Undefined property: soapclient::$relatoriosRelatoriosOut in /web/default/html/servicos/folhaPonto.class.php on line 82
Fatal error: Call to a member function Relatorios() on a non-object in /web/default/html/servicos/folhaPonto.class.php on line 82
Anteriormente, eu estava chamando assim:
$result = $client->call('Relatorios', $arguments, 'http://rondap.ura.uniube.br:8050/g5-senior-services/ronda_Synccom_senior_g5_rh_hr_relatorios');
E estava me retornando :
Não sei se poderia fazer assim, então na tentativa e erro rsrs
bool(false)
Você está chamando a função de forma errada. O "relatoriosRelatoriosOut" não é uma propriedade, é apenas o tipo do retorno da função Relatorios; assim como "relatoriosRelatoriosIn" também não é uma função, mas apenas o tipo que se espera que a variável $arguments seja.
O correto seria assim:
$result = $client->Relatorios('****', '*****', 0, $arguments);
Crie um novo arquivo PHP, cole o código abaixo nele, acesse a página, e então cole aqui um print screen do que aparece quando você acessa a página:
<?php
ini_set("display_errors", 1);
error_reporting(E_ALL|E_STRICT);
$client = new SoapClient("http://rondap.ura.uniube.br:8050/g5-senior-services/ronda_Synccom_senior_g5_rh_hr_relatorios?wsdl");
echo "<pre>";
var_dump($client);
var_dump($client->__getFunctions());
$result = $client->Relatorios('******', '*******', 0, Array());
var_dump($result);
obs: você tem certeza que o endereço "http://rondap.ura.uniube.br:8050/etc" está correto, né? Porque quando eu tento acessar, não funciona...
Tenho ctz q o endereço está correto, pelo q eu vi, ele é local, por isso não está conseguindo acessar.
O código ficou assim :
ini_set("display_errors", 1);
error_reporting(E_ALL|E_STRICT);
include_once $_SERVER['DOCUMENT_ROOT'] . "/uniube/back_end/framework/NuSOAP/NuSOAP_0.9.5/lib/nusoap.php";
$client = new soapclient("http://rondap.ura.uniube.br:8050/g5-senior-services/ronda_Synccom_senior_g5_rh_hr_relatorios?wsdl");
$arguments = array(
'prDir' => $_SERVER['DOCUMENT_ROOT'].'/servicos/arquivos/',//'C:\Users\ellen.bols.ded\Desktop', //ondap\Senior\Rel\Cartao_Ponto_WebService', #caminho do diretorio *verificar um diretório que todos os colaboradores tenham acesso
'prEntrada' => '<EDatInR=18/08/2016><EDatFiR=17/09/2016><ELisDem=S><EMarAfa=S><EMarFol=S><EHorasAfastadas=S><EAbrGpe=N><EAbrEmp=1><EAbrTcl=1><EAbrCad=19430>',
'prEntranceIsXML' => 'F',
'prExecFmt' => 'tefFile', #tipo de arquivo
'prFileExt' => 'PDF', #tipo do arquivo
'prFileName' => 'cartao_ponto_19430_20161122',
'prRelatorio' => 'HRCP103.APU', #tipo de relatório
'prSaveFormat' => 'tsfPDF', #salvar arquivo
);
echo "<pre>";
var_dump($client->__getFunctions());
$result = $client->Relatorios('*****', '*****', 0, $arguments);
var_dump($result);
Só tem isso na página, e ela está me retornando:
Fatal error: Call to undefined method soapclient::__getFunctions() in /web/default/html/servicos/teste.class.php on line 30
Certo.
Mas crie um novo arquivo PHP com exatamente o código abaixo, nada de diferente, e mostre o que aparece na tela. Isso vai ajudar a achar onde está o problema.
<?php
ini_set("display_errors", 1);
error_reporting(E_ALL|E_STRICT);
$client = new SoapClient("http://rondap.ura.uniube.br:8050/g5-senior-services/ronda_Synccom_senior_g5_rh_hr_relatorios?wsdl");
echo "<pre>";
var_dump($client);
var_dump($client->__getFunctions());
$result = $client->Relatorios('******', '*******', 0, Array());
var_dump($result);criei um arquivo, exatamente como falou.
e deu esse erro:
Fatal error: Class 'SoapClient' not found in /web/default/html/servicos/teste.class.php on line 5
Coloquei o include:
ini_set("display_errors", 1);
error_reporting(E_ALL|E_STRICT);
include_once $_SERVER['DOCUMENT_ROOT'] . "/uniube/back_end/framework/NuSOAP/NuSOAP_0.9.5/lib/nusoap.php";
$client = new SoapClient("[http://rondap.ura.uniube.br:8050/g5-senior-services/ronda_Synccom_senior_g5_rh_hr_relatorios?wsdl](http://rondap.ura.uniube.br:8050/g5-senior-services/ronda_Synccom_senior_g5_rh_hr_relatorios?wsdl)");
echo "<pre>";
var_dump($client);
var_dump($client->__getFunctions());
$result = $client->Relatorios('******', '*******', 0, Array());
var_dump($result);
e apareceu isso:
object(soapclient)#1 (48) {
["username"]=>
string(0) ""
["password"]=>
string(0) ""
["authtype"]=>
string(0) ""
["certRequest"]=>
array(0) {
}
["requestHeaders"]=>
bool(false)
["responseHeaders"]=>
string(0) ""
["responseHeader"]=>
NULL
["document"]=>
string(0) ""
["endpoint"]=>
string(97) "http://rondap.ura.uniube.br:8050/g5-senior-services/ronda_Synccom_senior_g5_rh_hr_relatorios?wsdl"
["forceEndpoint"]=>
string(0) ""
["proxyhost"]=>
bool(false)
["proxyport"]=>
bool(false)
["proxyusername"]=>
bool(false)
["proxypassword"]=>
bool(false)
["portName"]=>
string(0) ""
["xml_encoding"]=>
string(0) ""
["http_encoding"]=>
bool(false)
["timeout"]=>
int(0)
["response_timeout"]=>
int(30)
["endpointType"]=>
string(4) "soap"
["persistentConnection"]=>
bool(false)
["defaultRpcParams"]=>
bool(false)
["request"]=>
string(0) ""
["response"]=>
string(0) ""
["responseData"]=>
string(0) ""
["cookies"]=>
array(0) {
}
["decode_utf8"]=>
bool(true)
["operations"]=>
array(0) {
}
["curl_options"]=>
array(0) {
}
["bindingType"]=>
string(0) ""
["use_curl"]=>
bool(false)
["fault"]=>
NULL
["faultcode"]=>
NULL
["faultstring"]=>
NULL
["faultdetail"]=>
NULL
["title"]=>
string(6) "NuSOAP"
["version"]=>
string(5) "0.9.5"
["revision"]=>
string(18) "$Revision: 1.123 $"
["error_str"]=>
string(0) ""
["debug_str"]=>
string(371) "2016-11-24 14:10:56.277209 soapclient: ctor wsdl= timeout=0 response_timeout=30
endpoint=string(97) "http://rondap.ura.uniube.br:8050/g5-senior-services/ronda_Synccom_senior_g5_rh_hr_relatorios?wsdl"
2016-11-24 14:10:56.293101 soapclient: instantiate SOAP with endpoint at http://rondap.ura.uniube.br:8050/g5-senior-services/ronda_Synccom_senior_g5_rh_hr_relatorios?wsdl
"
["charencoding"]=>
bool(true)
["debugLevel"]=>
int(9)
["XMLSchemaVersion"]=>
string(32) "http://www.w3.org/2001/XMLSchema"
["soap_defencoding"]=>
string(10) "ISO-8859-1"
["namespaces"]=>
array(4) {
["SOAP-ENV"]=>
string(41) "http://schemas.xmlsoap.org/soap/envelope/"
["xsd"]=>
string(32) "http://www.w3.org/2001/XMLSchema"
["xsi"]=>
string(41) "http://www.w3.org/2001/XMLSchema-instance"
["SOAP-ENC"]=>
string(41) "http://schemas.xmlsoap.org/soap/encoding/"
}
["usedNamespaces"]=>
array(0) {
}
["typemap"]=>
array(6) {
["http://www.w3.org/2001/XMLSchema"]=>
array(43) {
["string"]=>
string(6) "string"
["boolean"]=>
string(7) "boolean"
["float"]=>
string(6) "double"
["double"]=>
string(6) "double"
["decimal"]=>
string(6) "double"
["duration"]=>
string(0) ""
["dateTime"]=>
string(6) "string"
["time"]=>
string(6) "string"
["date"]=>
string(6) "string"
["gYearMonth"]=>
string(0) ""
["gYear"]=>
string(0) ""
["gMonthDay"]=>
string(0) ""
["gDay"]=>
string(0) ""
["gMonth"]=>
string(0) ""
["hexBinary"]=>
string(6) "string"
["base64Binary"]=>
string(6) "string"
["anyType"]=>
string(6) "string"
["anySimpleType"]=>
string(6) "string"
["normalizedString"]=>
string(6) "string"
["token"]=>
string(6) "string"
["language"]=>
string(0) ""
["NMTOKEN"]=>
string(0) ""
["NMTOKENS"]=>
string(0) ""
["Name"]=>
string(0) ""
["NCName"]=>
string(0) ""
["ID"]=>
string(0) ""
["IDREF"]=>
string(0) ""
["IDREFS"]=>
string(0) ""
["ENTITY"]=>
string(0) ""
["ENTITIES"]=>
string(0) ""
["integer"]=>
string(7) "integer"
["nonPositiveInteger"]=>
string(7) "integer"
["negativeInteger"]=>
string(7) "integer"
["long"]=>
string(7) "integer"
["int"]=>
string(7) "integer"
["short"]=>
string(7) "integer"
["byte"]=>
string(7) "integer"
["nonNegativeInteger"]=>
string(7) "integer"
["unsignedLong"]=>
string(0) ""
["unsignedInt"]=>
string(0) ""
["unsignedShort"]=>
string(0) ""
["unsignedByte"]=>
string(0) ""
["positiveInteger"]=>
string(0) ""
}
["http://www.w3.org/2000/10/XMLSchema"]=>
array(11) {
["i4"]=>
string(0) ""
["int"]=>
string(7) "integer"
["boolean"]=>
string(7) "boolean"
["string"]=>
string(6) "string"
["double"]=>
string(6) "double"
["float"]=>
string(6) "double"
["dateTime"]=>
string(6) "string"
["timeInstant"]=>
string(6) "string"
["base64Binary"]=>
string(6) "string"
["base64"]=>
string(6) "string"
["ur-type"]=>
string(5) "array"
}
["http://www.w3.org/1999/XMLSchema"]=>
array(11) {
["i4"]=>
string(0) ""
["int"]=>
string(7) "integer"
["boolean"]=>
string(7) "boolean"
["string"]=>
string(6) "string"
["double"]=>
string(6) "double"
["float"]=>
string(6) "double"
["dateTime"]=>
string(6) "string"
["timeInstant"]=>
string(6) "string"
["base64Binary"]=>
string(6) "string"
["base64"]=>
string(6) "string"
["ur-type"]=>
string(5) "array"
}
["http://soapinterop.org/xsd"]=>
array(1) {
["SOAPStruct"]=>
string(6) "struct"
}
["http://schemas.xmlsoap.org/soap/encoding/"]=>
array(3) {
["base64"]=>
string(6) "string"
["array"]=>
string(5) "array"
["Array"]=>
string(5) "array"
}
["http://xml.apache.org/xml-soap"]=>
array(1) {
[0]=>
string(3) "Map"
}
}
["xmlEntities"]=>
array(5) {
["quot"]=>
string(1) """
["amp"]=>
string(1) "&"
["lt"]=>
string(1) "<"
["gt"]=>
string(1) ">"
["apos"]=>
string(1) "'"
}
}
Fatal error: Call to undefined method soapclient::__getFunctions() in /web/default/html/servicos/teste.class.php on line 10
Que versão do PHP você utiliza? Porque a classe SoapClient faz parte do PHP desde a versão 5.0.1. Ou seu PHP é mais antigo, ou a extensão não está habilitada. Isso explica o porquê de você estar utilizando um módulo externo (NuSOAP_0.9.5/lib/nusoap.php). Mas por que não utilizar a do próprio PHP? Você realmente precisa usar esse outro módulo? Se sim, aí você vai ter que consultar a documentação desse módulo externo para ver como usá-lo...
E quanto à função __getFunctions, ela faz parte da classe SoapClient nativa do PHP, mas como você não está com a extensão habilitada, a função não vai existir mesmo.
E de preferência, utilize a extensão nativa do PHP.
Estou usando a versão 5.5.38
Foi o q apareceu pra mim.
Quanto a função, já verifiquei no include q eu coloco, e não tem nenhuma função referente a mostrar as funções do webservice. :(
Essa versão já tem suporte à extensão, mas ela deve estar desabilitada.
Qual o sistema operacional onde está instalado o PHP? Procure no Google como habilitar a extensão para seu sistema, pois cada sistema é de um jeito diferente...
Anderson,
agradeço a sua paciência e colaboração.
O problema era que o SOAP não estava instalado no PHP.
Posteriormente foi testado e encontrado erros no link do client, e quando este foi trocado o problema foi resolvido.
Obrigada \o/ :D ;)
>
Essa versão já tem suporte à extensão, mas ela deve estar desabilitada.
Qual o sistema operacional onde está instalado o PHP? Procure no Google como habilitar a extensão para seu sistema, pois cada sistema é de um jeito diferente...
Que bom que deu certo :lol:
Se você também puder mostrar como ficou o código, seria bom, assim ajuda outras pessoas que consultarem esse tópico...
O que exatamente não está dando certo?
Há mensagens de erro?
Na primeira linha, parece faltar uma vírgula entre o parâmetro URL e o parâmetro "true".