2010-05-27 152 views
0

我想要做的是用SOAP和PHP将从表单捕获的值加载到CRM系统。我一直在阅读SOAP一段时间,我不明白如何去做,其他人知道吗?用PHP发送一条SOAP消息

回答

0

为了做到这一点,从sourceforge下载一个简单的soap工具包(如'NuSOAP')可能是最简单的。

然后您可以编写类似下面的(例如提交的ISBN号码):

<?php 
// include the SOAP classes 
require_once('nusoap.php'); 
// define parameter array (ISBN number) 
$param = array('isbn'=>'0385503954'); 
// define path to server application 
$serverpath ='http://services.xmethods.net:80/soap/servlet/rpcrouter'; 
//define method namespace 
$namespace="urn:xmethods-BNPriceCheck"; 
// create client object 
$client = new soapclient($serverpath); 
// make the call 
$price = $client->call('getPrice',$param,$namespace); 
// if a fault occurred, output error info 
if (isset($fault)) { 
     print "Error: ". $fault; 
     } 
else if ($price == -1) { 
     print "The book is not in the database."; 
} else { 
     // otherwise output the result 
     print "The price of book number ". $param[isbn] ." is $". $price; 
     } 
// kill object 
unset($client); 
?> 

这段代码是直接取自,这也是一个很好的资源,查看 http://developer.apple.com/internet/webservices/soapphp.html

希望这可以帮助。

0

你可能找到了一个解决方案,因为然后 - 但也许以下帮助这个别人浏览:

皂server.php:

<?php 

class MySoapServer { 

    public function getMessage() 
    { 
     return "Hello world!"; 
    } 

    public function add ($n1,$n2) 
    { 
     return $n1+n2; 
    } 

} 


    $option = array ('uri' => 'http://example.org/stacky/soap-server'); 
    $server = new SoapServer(null,$option); 
    $server->setClass('MySoapServer'); 
    $server->handle(); 

?> 

和皂client.php

<?php 

    $options = array ('uri' => 'http://example.org/stacky/soap-server', 
     'location' => 'http://localhost/soap-server.php'); 

    $client = new SoapClient(null,$options); 

    echo $client ->getMessage(); 
    echo "<br>"; 
    echo $client ->add(41,1); 

?>