consuming WCF with php5.2.6

[email protected] (Derek Almond)
Newsgroups php.soap
Message-ID <[email protected]>
I'm having trouble finding the magic combination to consume a WCF
service, can anyone advise on where I'm wrong?

I've got a test script as follows, (it's locked down to my IP so i
dont think you;'ll be able to test it, but i've included the wsdl
location for completeness)

any help really appreciated.

D

<?php

try{
    $client = new
SoapClient("http://services.ciphe.org.uk/FindPlumber/FindPlumberService.svc?wsdl");
    # get a list of the available methods
    print "Functions:\n";
    var_dump($client->__getFunctions());

/* this outputs


Functions:
array(1) {
  [0]=>
  string(62) "PerformSearchResponse PerformSearch(PerformSearch $parameters)"
}

*/



    print "\n\n";
    print "Types:\n";
    var_dump($client->__getTypes());
    print "\n\n";

/* this outputs


Types:
array(11) {
  [0]=>
  string(40) "struct ArrayOfResult {
 Result Result;
}"
  [1]=>
  string(344) "struct Result {
 string Address1;
 string Address2;
 string Address3;
 string CompanyName;
 string Contact;
 string Country;
 string County;
 string Email;
 string Fax;
 string FullAddress;
 GMapPoint MapPoint;
 string Mobile;
 string Postcode;
 boolean Registered;
 string Telephone;
 string Town;
 string WebAddress;
 string WorkCategories;
}"
  [2]=>
  string(120) "struct GMapPoint {
 string Address;
 int ID;
 string IconImage;
 string InfoHTML;
 double Latitude;
 double Longitude;
}"
  [3]=>
  string(8) "int char"
  [4]=>
  string(17) "duration duration"
  [5]=>
  string(11) "string guid"
  [6]=>
  string(21) "string ResponseStatus"
  [7]=>
  string(109) "struct RequestMessage {
 int MaxResults;
 string Password;
 string PostCode;
 int Radius;
 string Username;
}"
  [8]=>
  string(92) "struct ResponseMessage {
 string Messsage;
 ArrayOfResult Results;
 ResponseStatus Status;
}"
  [9]=>
  string(56) "struct PerformSearch {
 RequestMessage requestMessage;
}"
  [10]=>
  string(70) "struct PerformSearchResponse {
 ResponseMessage PerformSearchResult;
}"
}

*/

/* based on the above, i think i need an array of paramaters, and that
array is named RequestMessage


    $myParam=array("RequestMessage"=>array(
        'MaxResults'=> 10,
        'Password '=> 'mypasswordgoeshere',
        'PostCode'=> 'BS24 0HT',
        'Radius'=> 25,
        'Username '=> ',username'
         ));


    #$result = $client->__soapCall('PerformSearch',array('RequestMessage'
=>$myParam));

    I believe that either the line above or the three lines below should work

    $wcf = $client->PerformSearch($myParam);
    #$wcfResult = $wcf->ResponseMessage;
    #print  $wsResult;


} catch (Exception $e) {
    print  'Caught exception: '.  $e->getMessage(). "\n";


/* an exception is thrown :

Caught exception: Object reference not set to an instance of an object.

*/


}
lmpx.com only provides a reader for public news (NNTP) servers. It is not affiliated with the servers or forums shown here and is not responsible for the content of articles, which is written by their respective authors.