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
Welcome back! If you're the original bug submitter, here's where you can edit the bug or add additional notes.
If you forgot your password, you can retrieve your password here.
Password:
Status:
Package:
Bug Type:
Summary:
From: mano at easymail dot hu
New email:
PHP Version: OS:

 

 [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: Sat Dec 21 16:01:28 2024 UTC