NYCPHP Meetup

NYPHP.org

[nycphp-talk] SOAP IS KILLING ME SLOWLY!

Corey Fogarty corey at bmfenterprises.com
Fri Jun 3 21:44:02 EDT 2005


I am getting all manor of errors. It must be something I am not doing, or
something I am doing and should not be...

The last error I got said something about needing to install cURL, so I did
that. Now it is still giving me an error when I try to use print_r(); and it
only returns Object when I use print();

Please someone help or just plain shoot me!

Thanks!

Corey

https://www.bmfenterprises.com/pearsoap-hello-client.php
<?php
require_once('SOAP/Client.php');

/* Create a new SOAP client using PEAR::SOAP's SOAP_Client-class: */
$client = new 
SOAP_Client('https://www.bmfenterprises.com/pearsoap-hello-server.php');

/* Define the parameters we want to send to the server's
helloWorld-function.
Note that these arguments should be sent as an array: */
$params = array('inmessage'=>'World');

/* Send a request to the server, and store its response in $response: */
$response = $client->call('helloWorld',$params,array('namespace'=>
'urn:helloworld'));

/* Print the server-response: */
print $response;

?>

https://www.bmfenterprises.com/pearsoap-hello-client2.php
<?php
require_once('SOAP/Client.php');

/* Create a new SOAP client using PEAR::SOAP's SOAP_Client-class: */
$client = new 
SOAP_Client('https://www.bmfenterprises.com/pearsoap-hello-server.php');

/* Define the parameters we want to send to the server's
helloWorld-function.
Note that these arguments should be sent as an array: */
$params = array('inmessage'=>'World');

/* Send a request to the server, and store its response in $response: */
$response = $client->call('helloWorld',$params,array('namespace'=>
'urn:helloworld'));

/* Print the server-response: */
print_r($response);

?>

<?php
    /* Include PEAR::SOAP's SOAP_Server class: */
    require_once('SOAP/Server.php');

    /* To define a new SOAP service with PEAR::SOAP, we need to
       construct a class that defines the characteristics for our
       service. An instance of this class is then used by SOAP_Server
       to create a new SOAP service: */
    class SOAP_Hello_Server
    {
        /* $dispatch_map helps SOAP_Server figure out which parameters
        are used with the methods: */
        var $dispatch_map = array();
        
        /* dispatch mapping is optional.  It is used in non-wsdl servers to
allow       for being more explicit with what arguments and types are passed
in and out.*/

        /* Here's the constructor for out class. It is used to define
           $dispath_map: */
        /* $dispatch_map helps SOAP_Server figure out which parameters
        are used with the methods: */

        function SOAP_Hello_Server()
        {
            $this->dispatch_map['helloWorld'] = array(
                                                        'in'    =>
array('inmessage'=>'string'),
                                                        'out'   =>
array('outmessage'=>'string')
                                                     );
        }



/* Of course, we also need to define all the functions that should
           be requestable through our server: */
        function helloWorld($inmessage)
        {
            /* Generate a SOAP error if the argument was not valid: */
            if($inmessage == '')
            {
                /* The SOAP error is generated by the SOAP_Fault class: */
                $fault = new SOAP_Fault('You must supply a valid
string!','12345');
                return $fault->message();
            }
            else
            {
                /* If the argument is okay, we submit out return message: */
                return "Hello $inmessage!";
            }
        }
    }

  /* Create a new SOAP server using PEAR::SOAP's SOAP_Server class: */
    $server = new SOAP_Server();
    /* Create an instance of our class: */
    $soaphelloserver = new SOAP_Hello_Server();
    /* Register this instance to the server class: */
    $server->addObjectMap($soaphelloserver,array('namespace'=>
'urn:helloworld'));
  /* The following line starts the actual service: */
    $server->service($HTTP_RAW_POST_DATA);
?>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.nyphp.org/pipermail/talk/attachments/20050603/e42cdeef/attachment.html>


More information about the talk mailing list