2011-08-29 118 views
0

我的web服务器已正确安装SOAP(phpinfo具有SOAP客户端/服务器 - 启用)。PHP SOAP致命错误消息

我试图创建一个SOAP请求到远程Magento的商店,和我收到此错误信息:

[Mon Aug 29 20:13:59 2011] [error] [client 79.178.13.67] PHP Fatal error: Uncaught SoapFault exception: [0] Unable to load Soap extension on the server in /home/example/public_html/mag/index.php:3 

Stack trace: 
#0 [internal function]: SoapClient->__call('login', Array) 
#1 /home/example/public_html/mag/index.php(3): SoapClient->login('user', 'pass') 
#2 {main}\n thrown in /home/example/public_html/mag/index.php on line 3 

代码片段在这里:

$client = new SoapClient('http://www.example.com/api/soap/?wsdl=1'); 
$session = $client->login('user','pass'); 
$attributeSets = $client->call($session,'product_attribute_set.list'); 
$set = current($attributeSets); 
$sku = 'iphone-12345'; 
$imagePath="../image.jpg"; 
$newProductData = array(
'name'    => 'iPhone', 
'websites'   => array(1), 
'short_description' => 'short description', 
'description'  => 'description', 
'price'    => 150, 
'status'   => '1', 
); 
$newImage = array(
'file' => array(
'name' => 'file_name', 
'content' => base64_encode(file_get_contents($imagePath)), 
'mime' => 'image/jpeg' 
), 
'label' => 'Cool Image', 
'position' => 0, 
'types' => array('image','small_image','thumbnail'), 
'exclude' => 0 
); 
$imageFilename = $client->call($sessionId, 'product_media.create', array($sku,$newImage)); 

$productId = $client->call($session,'product.create',array('simple', $set['set_id'],$sku,$newProductData)); 
echo $productId; 

任何想法?

感谢,

+0

检查您的服务器安装和配置。 http://www.magentocommerce.com/boards/viewthread/20556/ –

+1

@Marek Sebera - 我从不同于我的Magento服务器的服务器运行脚本,这是否会影响任何内容?我知道SOAP在magento服务器上正确安装,因为当我在另一个服务器上加载wsdl url –

+0

意味着另一个“VirtualHost”或整个服务器(整个Apache,httpd,nginx,...实例)时,我得到正确的XML响应?该错误表示加载SOAP扩展时存在问题,因此可能存在一些错误配置。 –

回答

0

尝试更新WSDL(其中SoapServer的运行)的服务器端

更新:

  • PHP
  • PHP的SOAP

和依赖; - )

可能是服务器端php(和/或肥皂)的过期版本