开发者

Sending a SOAP message with PHP

what I'm trying to do is send a load of values captured from a form to a CRM system with SOAP and PHP. I've been reading up on SOAP fo开发者_高级运维r a while and I don't understand how to go about doing so, does anybody else know?


In order to do this it might be easiest to download a simple soap toolkit like 'NuSOAP' from sourceforge.

And then you would code something like the following (example submission of ISBN number):

<?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);
?>

This code snippet was taken directly from, which is also a good resource to view http://developer.apple.com/internet/webservices/soapphp.html

Hope this helps.


You probably found a solution since then - but maybe the following helps someone else browsing for this:

soap-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();

?>  

and soap-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);

?>
0

上一篇:

下一篇:

精彩评论

暂无评论...
验证码 换一张
取 消

最新问答

问答排行榜