Ir para conteúdo

POWERED BY:

Arquivado

Este tópico foi arquivado e está fechado para novas respostas.

Ellen Diana Guissoni

Webservice wsdl

Recommended Posts

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;

Compartilhar este post


Link para o post
Compartilhar em outros sites
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


Compartilhar este post


Link para o post
Compartilhar em outros sites

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);

}

}

Compartilhar este post


Link para o post
Compartilhar em outros sites

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?

Compartilhar este post


Link para o post
Compartilhar em outros sites

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>
<xsd:import namespace="http://services.senior.com.br" schemaLocation="http://rondap.ura.uniube.br:8050/g5-senior-services/ronda_Synccom_senior_g5_rh_hr_relatorios?xsd=1"/>
</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">
<soap:binding transport="http://schemas.xmlsoap.org/soap/http" style="rpc"/>
<operation name="Relatorios">
<soap:operation soapAction=""/>
<input>
<soap:body use="literal" namespace="http://services.senior.com.br"/>
</input>
<output>
<soap:body use="literal" namespace="http://services.senior.com.br"/>
</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">
<soap:address location="http://rondap.ura.uniube.br:8050/g5-senior-services/ronda_Synccom_senior_g5_rh_hr_relatorios"/>
</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:complexType name="relatoriosRelatoriosOut">
<xs:sequence>
<xs:element name="erroExecucao" type="xs:string" nillable="true" minOccurs="0"/>
<xs:element name="prLOG" type="xs:string" nillable="true" minOccurs="0"/>
<xs:element name="prRetorno" type="xs:string" nillable="true" minOccurs="0"/>
</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

Compartilhar este post


Link para o post
Compartilhar em outros sites

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("?");

Compartilhar este post


Link para o post
Compartilhar em outros sites

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("?");

Compartilhar este post


Link para o post
Compartilhar em outros sites
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);

Compartilhar este post


Link para o post
Compartilhar em outros sites
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:


print-screen-wsdl-__getFunctions.png

Compartilhar este post


Link para o post
Compartilhar em outros sites

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);
die;*/ 


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

Compartilhar este post


Link para o post
Compartilhar em outros sites

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)


Compartilhar este post


Link para o post
Compartilhar em outros sites
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...

Compartilhar este post


Link para o post
Compartilhar em outros sites

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

Compartilhar este post


Link para o post
Compartilhar em outros sites
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);

Compartilhar este post


Link para o post
Compartilhar em outros sites

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"); 
 
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

Compartilhar este post


Link para o post
Compartilhar em outros sites

  • Conteúdo Similar

    • Por Rafael_Ferreira
      Não consigo carregar a imagem do captcha do meu formulário. Foi testado com o xampp e easyphp. Também não carregou a imagem de outros captcha. 
       
       
    • Por luiz monteiro
      Olá, tudo bem?
       
      Estou melhorando meu conhecimento em php e mysql e, me deparei com o seguinte. A tabela da base de dados tem um campo do tipo varchar(8) o qual armazena números. Eu não posso alterar o tipo desse campo. O que preciso é fazer um select para retornar o números que contenham zeros a direita ou a esquerda.
      O que tentei até agora
       
      Ex1
      $busca = $conexao->prepare("select campo form tabela where (campo = :campo) ");
      $busca->bindParam('campo', $_REQUEST['campo_form']);
       
      Se a direita da string $_REQUEST['campo_form'] termina ou inicia com zero ou zeros, a busca retorna vazio.
      Inseri dados numéricos, da seguinte maneira para testar: 01234567;  12345670: 12345678: 12340000... entre outros nessa coluna. Todos os valores que não terminam ou não iniciam com zero ou zeros, o select funciona.
       
       
      Ex2
      $busca = $conexao->prepare("select campo form tabela where (campo = 0340000) ");
      Esse número está cadastrado, mas não retorna.
       
      Ex3
      $busca = $conexao->prepare("select campo form tabela where (campo = '02340001' ) ");
      Esse número está cadastrado, mas não retorna.
       
       
      Ex4
      $busca = $conexao->prepare("select campo form tabela where (campo like 2340000) ");
      Esse número está cadastrado, mas não retorna.
       
      Ex5
      $busca = $conexao->prepare("select campo form tabela where (campo like '12340000') ");
      Esse número está cadastrado, mas não retorna.
       
      Ex6
      $busca = $conexao->prepare("select campo form tabela where (campo like '"12340000"' ) ");
      Esse número está cadastrado, mas não retorna.
       
       
      Ex7
      $busca = $conexao->prepare("select campo form tabela where (campo like :campo) ");
      $busca->bindParam('campo', $_REQUEST['campo_form'])
      Não retorna dados.
       
      O  $_REQUEST['campo_form'] é envio via AJAX de um formulário. 
      Usei o gettype para verificar o post, e ele retorna string.
      Fiz uma busca com número 12345678 para verificar o que o select retorna, e também retrona como string.
       
      Esse tipo de varchar foi usado porque os números que serão gravados nesse campo,  terão zeros a direita ou na esquerda. Os tipos number do mysql não gravam zeros, então estou usando esse. O problema é a busca.
      Agradeço desde já.
       
       
    • Por daemon
      Boa tarde,
       
      Eu tenho uma rotina que faz uma leitura do arquivo .xml de vários sites.

      Eu consigo pegar o tópico e a descrição, e mostrar a imagem que esta na pagina do link.
      Para isso utilizo esta função:
      function getPreviewImage($url) { // Obter o conteúdo da página $html = file_get_contents($url); // Criar um novo objeto DOMDocument $doc = new DOMDocument(); @$doc->loadHTML($html); // Procurar pela tag meta og:image $tags = $doc->getElementsByTagName('meta'); foreach ($tags as $tag) { if ($tag->getAttribute('property') == 'og:image') { return $tag->getAttribute('content'); } } // Se não encontrar og:image, procurar pela primeira imagem na página $tags = $doc->getElementsByTagName('img'); if ($tags->length > 0) { return $tags->item(0)->getAttribute('src'); } // Se não encontrar nenhuma imagem, retornar null return null; } // Uso: $url = "https://example.com/article"; $imageUrl = getPreviewImage($url); if ($imageUrl) { echo "<img src='$imageUrl' alt='Preview'>"; } else { echo "Nenhuma imagem encontrada"; }  
      Mas estou com um problema, esta funcão funciona quando coloco em uma pagina de teste.php. Preciso mostrar em uma página inicial diversas fotos de todos os links. (No caso acima só funciona 1).
    • Por violin101
      Caros amigos, saudações.
       
      Por favor, me permita tirar uma dúvida com os amigos.

      Tenho um Formulário onde o Usuário digita todos os Dados necessários.

      Minha dúvida:
      --> como faço após o usuário digitar os dados e salvar, o Sistema chamar uma Modal ou mensagem perguntando se deseja imprimir agora ?

      Grato,
       
      Cesar
    • Por Carcleo
      Tenho uma abela de usuarios e uma tabela de administradores e clientes.
      Gostaria de uma ajuda para implementar um cadastro
       
      users -> name, login, passord (pronta) admins -> user_id, registratiom, etc.. client -> user_id, registratiom, etc...
      Queria ajuda para extender de user as classes Admin e Client
      Olhem como estáAdmin
      <?php namespace App\Models; use Illuminate\Database\Eloquent\Factories\HasFactory; use Illuminate\Database\Eloquent\Model; class Admin extends User {     use HasFactory;            protected $fillable = [         'name',         'email',         'password',         'registration'     ];      private string $registration;     public function create(         string $name,          string $email,          string $password,         string $registration     )     {         //parent::create(['name'=>$name, 'email'=>$email, 'password'=>$password]);         parent::$name = $name;         parent::$email = $email;         parent::$password = $password;         $this->registration = $registration;     } } User
      <?php namespace App\Models; // use Illuminate\Contracts\Auth\MustVerifyEmail; use Illuminate\Database\Eloquent\Factories\HasFactory; use Illuminate\Foundation\Auth\User as Authenticatable; use Illuminate\Notifications\Notifiable; use Illuminate\Database\Eloquent\Relations\BelongsToMany; class User extends Authenticatable {     /** @use HasFactory<\Database\Factories\UserFactory> */     use HasFactory, Notifiable;     static string $name;     static string $email;     static string $password;     /**      * The attributes that are mass assignable.      *      * @var list<string>      */     protected $fillable = [         'name',         'email',         'password',     ];          /**      * The attributes that should be hidden for serialization.      *      * @var list<string>      */     protected $hidden = [         'remember_token',     ];     /**      * Get the attributes that should be cast.      *      * @return array<string, string>      */     protected function casts(): array     {         return [             'email_verified_at' => 'datetime',             'password' => 'hashed',         ];     }          public function roles() : BelongsToMany {         return $this->belongsToMany(Role::class);     }       public function hasHole(Array $roleName): bool     {                 foreach ($this->roles as $role) {             if ($role->name === $roleName) {                 return true;             }         }         return false;     }         public function hasHoles(Array $rolesName): bool     {                 foreach ($this->roles as $role) {             foreach ($rolesName as $rolee) {             if ($role->name === $rolee) {                 return true;             }          }         }         return false;     }         public function hasAbility(string $ability): bool     {         foreach ($this->roles as $role) {             if ($role->abilities->contains('name', $ability)) {                 return true;             }         }         return false;     }     } Como gravar um Admin na tabela admins sendo que ele é um User por extensão?
      Tentei assim mas é claro que está errado...
      public function store(Request $request, Admin $adminModel) {         $dados = $request->validate([             "name" => "required",             "email" => "required|email",             "password" => "required",             "registration" => "required"         ]);         $dados["password"] =  Hash::make($dados["password"]);                  $admin = Admin::where("registration",  $dados["registration"])->first();                  if ($admin)              return                    redirect()->route("admin.new")                             ->withErrors([                                 'fail' => 'Administrador já cadastrados<br>, favor verificar!'                   ]);                            $newAdmin = $adminModel->create(                                    $dados['name'],                                    $dados['email'],                                    $dados['password'],                                    $dados['registration']                                 );         dd($newAdmin);         $adminModel->save();         //$adminModel::create($admin);                  return redirect()->route("admin.new")->with("success",'Cadastrado com sucesso');     }  
×

Informação importante

Ao usar o fórum, você concorda com nossos Termos e condições.