Re: Cannot find encoding

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



Den 09-05-2011 12:48, Richard Quadling skrev:
On 9 May 2011 11:26, Finn Gruwier Larsen<finn@gruwier.dk>  wrote:
Den 09-05-2011 12:14, Richard Quadling skrev:

On 9 May 2011 11:12, Finn Gruwier Larsen<finn@gruwier.dk>    wrote:

Den 09-05-2011 12:01, Richard Quadling skrev:

On 9 May 2011 09:52, Finn Gruwier Larsen<finn@gruwier.dk>      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


Is the file and line in the file you've shown? As you are using Soap
faults, is it possible that this is a server side error coming across
in the soap fault?


I'm not quite sure I understand the first question - but the line in which the error occurs is ths one:

$info = $soapClient->__soapCall("getLegalUnit", array($ap_param));

It is not a server side error. I get the same error even if I leave out Soap faults. Besides, the server is a Java server and if I get errors from it, it will normally be in the shape of a Java stack trace.

Finn

--
PHP Soap Mailing List (http://www.php.net/)
To unsubscribe, visit: http://www.php.net/unsub.php



[Index of Archives]     [PHP Home]     [PHP Users]     [Kernel Newbies]     [PHP Database]     [Yosemite]

  Powered by Linux