#34875 [Opn->Fbk]: Soap call crashes when encoding is set
| From: | tony2001@php.net | Date: | Fri, 14 Oct 2005 19:36:27 +0000 |
| Subject: | #34875 [Opn->Fbk]: Soap call crashes when encoding is set | ||
| References: | 1 | Groups: | php.bugs |
| Request: | Send a blank email to php-bugs+get-86605@lists.php.net to get a copy of this message | ||
ID: 34875
Updated by: tony2001@php.net
Reported By: mano at easymail dot hu
-Status: Open
+Status: Feedback
Bug Type: SOAP related
Operating System: Linux
PHP Version: 5.0.5
New Comment:
Please try using this CVS snapshot:
http://snaps.php.net/php5-STABLE-latest.tar.gz
For Windows:
http://snaps.php.net/win32/php5.0-win32-latest.zip
Previous Comments:
------------------------------------------------------------------------
[2005-10-14 20:34:24] mano at easymail dot hu
Description:
------------
When I make a call with __soapCall function and encoding was set in the
constructor the process dies and an apache log created with
php: relocation error: php: undefined symbol: xmlBufferCreateStatic
If I quote the encoding option, everything works fine. This does not
happen in win32 enviroment.
The page returns internal server error. The example code is a proper
call to eBay's SOAP api, so for reproduction you need a valid
certification id, application id and development id for the
sandbox-enviroment and a token for a user. I don't know any other
SOAP-services to try with but I know that this was working on
win32/apache/php5 combination.
Reproduce code:
---------------
$devId = 'exampledevid';
$appId = 'exampleappid';
$certId = 'examplecerid';
// Token for the ebay user
$token = "abc...123";
// The wsdl file for SOAP
$wsdl_url =
'http://developer.ebay.com/webservices/latest/eBaySvc.wsdl';
// Creating SOAPClient object with the HTTPS location. This is the
endpoint for the call.
$client = new SOAPClient($wsdl_url, array(
'trace' => 1
, 'exceptions'=> 1
, 'encoding'=>'ISO-8859-1'
, 'location' =>
'https://api.sandbox.ebay.com/wsapi?callname=GetSellerList&siteid=0&appid='.urlencode($appId).'&version=417&Routing=New'
));
// The valid authentification header for a call on eBay
$Auth = new ArrayObject(array(
'eBayAuthToken' => new SoapVar($token, XSD_STRING, NULL, NULL, NULL,
'urn:ebay:apis:eBLBaseComponents'),
'Credentials' => new SoapVar(
new ArrayObject(
array(
'AppId' => $appId,
'DevID' => $devId,
'AuthCert' => $certId
)
)
, SOAP_ENC_OBJECT
, null
, null
, null
, 'urn:ebay:apis:eBLBaseComponents'
),
));
// formatting header
$header_body = new SoapVar($Auth, SOAP_ENC_OBJECT);
$header = array(new SOAPHeader('urn:ebay:apis:eBLBaseComponents',
'RequesterCredentials', $header_body));
$params = array('Version' => 417, 'DetailLevel' => 'ReturnAll',
'UserID'=>'auseridfromsandbox', 'Pagination'=>
array('EntriesPerPage'=>200)
,'StartTimeFrom'=>'2005-08-01'
,'StartTimeTo'=>'2005-08-20'
);
try {
$user = $client->__soapCall('GetSellerList', array($params), NULL,
$header);
}catch (SoapFault $e){
print_r($e);
}
print_r($user);
Expected result:
----------------
An stdClass object with other childobjects
Actual result:
--------------
Execution stops.
error log in apache:
php: relocation error: php: undefined symbol: xmlBufferCreateStatic
Internal Server Error screen
------------------------------------------------------------------------
--
Edit this bug report at http://bugs.php.net/?id=34875&edit=1