Re: [SOAP] Cannot find encoding
[email protected] (Finn Gruwier Larsen) Mon, 09 May 2011 12:26:20 +0200
| Newsgroups | php.soap |
|---|---|
| Message-ID | <[email protected]> |
Den 09-05-2011 12:14, Richard Quadling skrev: > On 9 May 2011 11:12, Finn Gruwier Larsen<[email protected]> wrote: >> Den 09-05-2011 12:01, Richard Quadling skrev: >>> >>> On 9 May 2011 09:52, Finn Gruwier Larsen<[email protected]> wrote: >>>> >>>> Hi, >>>> >>>> I am trying to get a SOAP request working. At this line in my code: >>>> >>>> $info = $soapClient->__call("getLegalUnit", array($ap_param)); >>>> >>>> I get this error: >>>> >>>> PHP Fatal error: SOAP-ERROR: Encoding: Cannot find encoding in<file> >>>> <line >>>> no>. >>>> >>>> What does "encoding" mean in this context, and how do I specify it? >>>> >>>> Best regards, >>>> >>>> Finn >>>> >>>> -- >>>> PHP Soap Mailing List (http://www.php.net/) >>>> To unsubscribe, visit: http://www.php.net/unsub.php >>>> >>>> >>> >>> What parameters do you pass to the SOAPClient constructor? >>> >>> http://docs.php.net/manual/en/soapclient.soapclient.php >>> >>> "The encoding option defines internal character encoding. This option >>> does not change the encoding of SOAP requests (it is always utf-8), >>> but converts strings into it." >>> >>> I use these options (amongst others) ... >>> >>> 'encoding' => >>> 'ISO-8859-1', >>> 'exception' => True, >>> 'trace' => True, >>> >>> Richard. >>> >> >> I only passed the "trace => True" parameter. >> >> Passing the extra parameters above does not change anything. I also tried >> "encoding => 'UTF-8'" with same result. >> >> Finn >> > > Can you show more code? > Sure. <?php // Create private key: $privateKey = openssl_pkey_new(); // Create certificate signing request: $csr = openssl_csr_new(array('http://...'), $privateKey); // Get public key: $publicKey = openssl_csr_get_public_key($csr); // print_r(openssl_pkey_get_details($publicKey)); // Create SOAP client: $params = array( 'trace' => True, 'encoding' => 'UTF-8', 'exception' => True); $soapClient = new SoapClient("LegalUnitGet_20080401.wsdl", $params); $ns = 'http://...'; // Prepare SoapHeader parameters $sh_param = array( 'PrivateKey' => $privateKey, 'PublicKey' => $publicKey); $headers = new SoapHeader('http://...', 'Security', $sh_param); // Prepare Soap Client $soapClient->__setSoapHeaders(array($headers)); // Setup the RemoteFunction parameters $ap_param = array( 'LegalUnitIdentifier' => 'xxxxxx', 'UserId' => 'xxxxx', 'Password' => 'xxxxx'); $info = $soapClient->__getFunctions(); print_r($info); // Call Remote Function () $error = 0; try { $info = $soapClient->__soapCall("getLegalUnit", array($ap_param)); } catch (SoapFault $fault) { $error = 1; print("Faultcode: ".$fault->faultcode)."\n"; print("Faultstring: ".$fault->faultstring); } -- Finn