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 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');     }  
    • Por violin101
      Caros amigos, saudações.
       
      Gostaria de tirar uma dúvida com os amigos, referente a PDV.
       
      Estou escrevendo um Sistema com Ponto de Vendas, a minha dúvida é o seguinte, referente ao procedimento mais correto.

      Conforme o caixa vai efetuando a venda, o Sistema de PDV já realiza:
      a baixa direto dos produtos no estoque
      ou
      somente após concretizar a venda o sistema baixa os produtos do estoque ?
       
      Grato,
       
      Cesar
       
    • Por violin101
      Caros amigos do grupo, saudações e um feliz 2025.
       
      Estou com uma pequena dúvida referente a Teclas de Atalho.

      Quando o Caps Lock está ativado o Comando da Tecla de Atalho não funciona.
      ou seja:
      se estiver para letra minúscula ====> funciona
      se estiver para letra maiúscula ====> não funciona
       
      Como consigo evitar essa falha, tanto para Letra Maiúscula quanto Minúscula ?

      o Código está assim:
      document.addEventListener( 'keydown', evt => { if (!evt.ctrlKey || evt.key !== 'r' ) return;// Não é Ctrl+r, portanto interrompemos o script evt.preventDefault(); });  
      Grato,
       
      Cesar
    • Por violin101
      Caros amigos, saudações.
       
      Por favor, poderiam me ajudar.

      Estou com a seguinte dúvida:
      --> como faço para para implementar o input código do produto, para quando o usuário digitar o ID o sistema espera de 1s a 2s, sem ter que pressionar a tecla ENTER.

      exemplo:
      código   ----   descrição
           1       -----   produto_A
       
      Grato,
       
      Cesar
×

Informação importante

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