Ir para conteúdo

POWERED BY:

Arquivado

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

wesleymoser

erro soap

Recommended Posts

Ambiente:- Unix- Php 5.1.2- Apache 2.0 -> diretivas - SoapServer - enable, SoapCliente - enableOcorre o sequinte erro na tentativa de autenticação via XML.

Warning: SoapClient::__construct() expects parameter 2 to be array, boolean given in /home/restricted/home/descubracuritiba1/public_html/authentication.php on line 20Fatal error: Uncaught SoapFault exception: [Client] SoapClient::__construct() [<a href='function.--construct'>function.--construct</a>]: Invalid parameters in /home/restricted/home/descubracuritiba1/public_html/authentication.php:20 Stack trace: #0 /home/restricted/home/descubracuritiba1/public_html/authentication.php(20): SoapClient->__construct('http://teste.we...' true) #1 /home/restricted/home/descubracuritiba1/public_html/authentication.php(7): getToken('Curitiba', 'descubra') #2 {main} thrown in /home/restricted/home/descubracuritiba1/public_html/authentication.php on line 20

E o Código é esse !
<?php//require('_maplink/soap/lib/nusoap.php'); define ("URLSERVER", "http://teste.webservices.maplink2.com.br/webservices/v2.1/");define ("NL", "<BR>\n"); echo (getToken("Curitiba", "descubra")); function getToken($user, $pwd){  $arr = array(   "user" => $user,    "pwd"  => $pwd 	  );  $parameters = array($arr);  $s = new SoapClient(URLSERVER."authentication/authentication.asmx?WSDL", true);  $result = $s->call("getToken", $parameters);  if (!$err = $s->getError()) {  return $result["getTokenResult"]; } else {  echo "Error: ".$err; }}?>
Será que alguem pode me ajudar com isso, pelo que estou vendo.. e já disse no subtítulo, existem vários assuntos em aberto, que não foram respondidos.. Gostaria muito de contar com a ajuda de vcs.

Compartilhar este post


Link para o post
Compartilhar em outros sites

Posta o código do construtor da classe SoapClient

Compartilhar este post


Link para o post
Compartilhar em outros sites

Ná realidade, estou usando o soap do provedor, e não tenho acesso aos arquivos deles..Bom você viu que na primeira linha eu comentei o meu soap. Fiz isso porque ele dá esse erro.

Fatal error: Cannot redeclare class soapclient in /home/restricted/home/descubracuritiba1/public_html/_maplink/soap/lib/nusoap.php on line 7241

Dai perguntei ao meu provedor no caso locaweb, se eles poderiam desabilitar o soap deles, no caso o soap do php. Dai disseram que não havia maneira porque mais sites estava usando isso.. bom dai duvidei um pouco do papo mas tudo bem... Fiz alguns teste em localhost e não instalei o php com o soap.. utilizo dai a partir da classe. _maplink/soap/lib/nusoap.php, que está na minha pasta ... só que dai dá esse erro:

Fatal error: Cannot redeclare class soapclient in E:\docs\_maplink\soap\lib\class.soapclient.php on line 858

Bom, estou falando todos os dias com pessoal ma MAplink que fornecem o serviço, mas eles dizem que lá funciona.. e é isso que me fode as idéias....puxa não achei que ia ter tanho trabalho com isso....Valeu

Compartilhar este post


Link para o post
Compartilhar em outros sites

Porque não usa o SOAP do servidor ? Ou tenta extender o SOAP do servidor, ao invés de instancia-lo novamente ? Ou usa o seu e não inclui o do servidor ?adiciona esta linha no seu script e posta o resultado ai, pra eu tirar uma dúvida:

<pre>print_r(get_declared_classes());</pre>

Dependendo do seu caso (tenho algumas dúvidas ainda) você pode usar a função __autoload() para contornar a situação.

Compartilhar este post


Link para o post
Compartilhar em outros sites

o ERRO !

Array ( [0] => stdClass [1] => Exception [2] => ErrorException [3] => XMLWriter [4] => LibXMLError [5] => __PHP_Incomplete_Class [6] => php_user_filter [7] => Directory [8] => SimpleXMLElement [9] => RecursiveIteratorIterator [10] => FilterIterator [11] => RecursiveFilterIterator [12] => ParentIterator [13] => LimitIterator [14] => CachingIterator [15] => RecursiveCachingIterator [16] => IteratorIterator [17] => NoRewindIterator [18] => AppendIterator [19] => InfiniteIterator [20] => EmptyIterator [21] => ArrayObject [22] => ArrayIterator [23] => RecursiveArrayIterator [24] => SplFileInfo [25] => DirectoryIterator [26] => RecursiveDirectoryIterator [27] => SplFileObject [28] => SplTempFileObject [29] => SimpleXMLIterator [30] => LogicException [31] => BadFunctionCallException [32] => BadMethodCallException [33] => DomainException [34] => InvalidArgumentException [35] => LengthException [36] => OutOfRangeException [37] => RuntimeException [38] => OutOfBoundsException [39] => OverflowException [40] => RangeException [41] => UnderflowException [42] => UnexpectedValueException [43] => SplObjectStorage [44] => ReflectionException [45] => Reflection [46] => ReflectionFunction [47] => ReflectionParameter [48] => ReflectionMethod [49] => ReflectionClass [50] => ReflectionObject [51] => ReflectionProperty [52] => ReflectionExtension [53] => PDOException [54] => PDO [55] => PDOStatement [56] => PDORow [57] => DOMException [58] => DOMStringList [59] => DOMNameList [60] => DOMImplementationList [61] => DOMImplementationSource [62] => DOMImplementation [63] => DOMNode [64] => DOMNameSpaceNode [65] => DOMDocumentFragment [66] => DOMDocument [67] => DOMNodeList [68] => DOMNamedNodeMap [69] => DOMCharacterData [70] => DOMAttr [71] => DOMElement [72] => DOMText [73] => DOMComment [74] => DOMTypeinfo [75] => DOMUserDataHandler [76] => DOMDomError [77] => DOMErrorHandler [78] => DOMLocator [79] => DOMConfiguration [80] => DOMCdataSection [81] => DOMDocumentType [82] => DOMNotation [83] => DOMEntity [84] => DOMEntityReference [85] => DOMProcessingInstruction [86] => DOMStringExtend [87] => DOMXPath [88] => mysqli_sql_exception [89] => mysqli_driver [90] => mysqli [91] => mysqli_warning [92] => mysqli_result [93] => mysqli_stmt [94] => OCI-Lob [95] => OCI-Collection [96] => PDFlibException [97] => PDFlib [98] => SoapClient [99] => SoapVar [100] => SoapServer [101] => SoapFault [102] => SoapParam [103] => SoapHeader [104] => XSLTProcessor [105] => XSLTProcessor [106] => SoapHeader [107] => SoapParam [108] => SoapFault [109] => SoapServer [110] => SoapVar [111] => SoapClient [112] => PDFlib [113] => PDFlibException [114] => OCI-Collection [115] => OCI-Lob [116] => mysqli_stmt [117] => mysqli_result [118] => mysqli_warning [119] => mysqli [120] => mysqli_driver [121] => mysqli_sql_exception [122] => DOMXPath [123] => DOMStringExtend [124] => DOMProcessingInstruction [125] => DOMEntityReference [126] => DOMEntity [127] => DOMNotation [128] => DOMDocumentType [129] => DOMCdataSection [130] => DOMConfiguration [131] => DOMLocator [132] => DOMErrorHandler [133] => DOMDomError [134] => DOMUserDataHandler [135] => DOMTypeinfo [136] => DOMComment [137] => DOMText [138] => DOMElement [139] => DOMAttr [140] => DOMCharacterData [141] => DOMNamedNodeMap [142] => DOMNodeList [143] => DOMDocument [144] => DOMDocumentFragment [145] => DOMNameSpaceNode [146] => DOMNode [147] => DOMImplementation [148] => DOMImplementationSource [149] => DOMImplementationList [150] => DOMNameList [151] => DOMStringList [152] => DOMException [153] => PDORow [154] => PDOStatement [155] => PDO [156] => PDOException [157] => ReflectionExtension [158] => ReflectionProperty [159] => ReflectionObject [160] => ReflectionClass [161] => ReflectionMethod [162] => ReflectionParameter [163] => ReflectionFunction [164] => Reflection [165] => ReflectionException [166] => SplObjectStorage [167] => UnexpectedValueException [168] => UnderflowException [169] => RangeException [170] => OverflowException [171] => OutOfBoundsException [172] => RuntimeException [173] => OutOfRangeException [174] => LengthException [175] => InvalidArgumentException [176] => DomainException [177] => BadMethodCallException [178] => BadFunctionCallException [179] => LogicException [180] => SimpleXMLIterator [181] => SplTempFileObject [182] => SplFileObject [183] => RecursiveDirectoryIterator [184] => DirectoryIterator [185] => SplFileInfo [186] => RecursiveArrayIterator [187] => ArrayIterator [188] => ArrayObject [189] => EmptyIterator [190] => InfiniteIterator [191] => AppendIterator [192] => NoRewindIterator [193] => IteratorIterator [194] => RecursiveCachingIterator [195] => CachingIterator [196] => LimitIterator [197] => ParentIterator [198] => RecursiveFilterIterator [199] => FilterIterator [200] => RecursiveIteratorIterator [201] => SimpleXMLElement [202] => Directory [203] => php_user_filter [204] => __PHP_Incomplete_Class [205] => LibXMLError [206] => XMLWriter [207] => ErrorException [208] => Exception [209] => stdClass ) Fatal error: Uncaught SoapFault exception: [Client] Function ("call") is not a valid method for this service in /home/restricted/home/descubracuritiba1/public_html/authentication.php:24 Stack trace: #0 [internal function]: SoapClient->__call('call', Array) #1 /home/restricted/home/descubracuritiba1/public_html/authentication.php(24): SoapClient->call('getToken', Array) #2 /home/restricted/home/descubracuritiba1/public_html/authentication.php(9): getToken('Curitiba', 'descubra') #3 {main} thrown in /home/restricted/home/descubracuritiba1/public_html/authentication.php on line 24

código
<?php//require('_maplink/lib/nusoap.php'); //define ("URLSERVER", "http://teste.webservices.maplink2.com.br/webservices/v2.1/");define ("NL", "<BR>\n"); echo (getToken("Curitiba", "descubra")); function getToken($user, $pwd){  $arr = array(   "user" => $user,    "pwd"  => $pwd 	  );  $parameters = array($arr); //$s = new SoapClient(URLSERVER."authentication/authentication.asmx?WSDL"); $s = new SoapClient("http://teste.webservices.maplink2.com.br/webservices/v2.1/authentication/authentication.asmx?WSDL"); print_r(get_declared_classes()); $result = $s->call("getToken",$parameters);  if (!$err = $s->getError()) {	return $result["getTokenResult"]; } 	else 	{		  echo "Error: ".$err; 	}}?>
Agora quando uso o meu soap dá o erro !

Fatal error: Cannot redeclare class soapclient in /home/restricted/home/descubracuritiba1/public_html/_maplink/lib/nusoap.php on line 7240

cara, muito obrigado por dar esta atenção ao meu problema... até agora você foi o primeiro, to com esse problema já a 1 mês sem respostar ou qualquer tipo de ajuda..Obrigado mesmo...Abraço.

Compartilhar este post


Link para o post
Compartilhar em outros sites

Wesley, acho que o erro tá aqui:

 

$s = new SoapClient(URLSERVER."authentication/authentication.asmx?WSDL", true);

Pelo que pesquisei, este argumento (em vermelho) não é um booleano, e sim informações do login, tipo:

$client = new SoapClient("some.wsdl", array('login' => "some_name",

'password' => "some_password"));

Dê uma olhada nesta matéria.

Compartilhar este post


Link para o post
Compartilhar em outros sites

Cara!!!! nem acredito,,,, funcionou !!!!! valew me caro.. autenticou e já gerando mapa ..formidável.... valew.....

Esse erro aí é típico quando você tenta usar o nusoap e tem o soap do php (php_soap.dll no Windows) ativado no php.ini. Como o nome da classe é o mesmo (soapclient), vai dar esse erro.

Compartilhar este post


Link para o post
Compartilhar em outros sites

×

Informação importante

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