php.net |  support |  documentation |  report a bug |  advanced search |  search howto |  statistics |  random bug |  login
Bug #34875 Soap call crashes when encoding is set
Submitted: 2005-10-14 20:34 UTC Modified: 2005-10-22 01:00 UTC
From: mano at easymail dot hu Assigned:
Status: No Feedback Package: SOAP related
PHP Version: 5.0.5 OS: Linux
Private report: No CVE-ID: None
 [2005-10-14 20:34 UTC] 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

Patches

Pull Requests

History

AllCommentsChangesGit/SVN commitsRelated reports
 [2005-10-22 01:00 UTC] php-bugs at lists dot php dot net
No feedback was provided for this bug for over a week, so it is
being suspended automatically. If you are able to provide the
information that was originally requested, please do so and change
the status of the bug back to "Open".
 
PHP Copyright © 2001-2024 The PHP Group
All rights reserved.
Last updated: Tue Dec 03 11:01:29 2024 UTC