Dear all,

I am trying to present data from a webservice on my website. To do so I found
out what kind of functions the webservice supports with the following code:

<?php

$client = new SoapClient( 'http://wetten.overheid.nl/BWBIdService/BWBIdService.wsdl', array( ‘trace’=>1 ) );

print_r( $client->__getFunctions() );

print_r( $client->__getTypes() );

?>


I get the following results:

Array
(
[0] => BWBIdServiceResultaat searchByBWBId(string $bwbid)
[1] => BWBIdServiceResultaat searchByTitle(string $titel, date $datumGeldig, boolean $volledigeTitel)
[2] => BWBIdServiceResultaat searchModifiedSince(dateTime $datumGewijzigd)
)
Array
(
[0] => string NietOfficieleTitel
[1] => NietOfficieleTitel NietOfficieleTitelLijst[]
[2] => string Afkorting
[3] => Afkorting AfkortingLijst[]
[4] => struct Citeertitel {
string titel;
string status;
date InwerkingtredingsDatum;
}
[5] => Citeertitel CiteertitelLijst[]
[6] => struct RegelingInfo {
string BWBId;
date DatumLaatsteWijziging;
date VervalDatum;
string OfficieleTitel;
CiteertitelLijst CiteertitelLijst;
AfkortingLijst AfkortingLijst;
NietOfficieleTitelLijst NietOfficieleTitelLijst;
string RegelingSoort;
}
[7] => RegelingInfo RegelingInfoLijst[]
[8] => struct BWBIdServiceResultaat {
RegelingInfoLijst RegelingInfoLijst;
date GegenereerdOp;
}
)


I want to 'echo' the contents of : BWBIdServiceResultaat searchByBWBId(string $bwbid)

To do so I tried the following:

<?php

$client = new SoapClient( 'http://wetten.overheid.nl/BWBIdService/BWBIdService.wsdl', array( ‘trace’=>1 ) );

$message = new stdClass( );
$message->BWBId = 'BWBR0004287';
echo $client->searchByBWBId($message);

?>

But unfortunately I get the following error:

php soap object of class stdclass could not be converted to string

Could anyone please help me?

    Well, it sounds as if $client->searchByBWBId($message); is returning an object, and presumably it does not have a __toString() "magic" method, and therefore PHP cannot treat it as a string to be echoed. You may need to identify what properties it has (e.g. via print_r() or var_dump()) so you can echo them out.

      First of all, thanks!

      print_r($client->searchByBWBId('BWBR0004270')); works and results in:

      stdClass Object
      (
      [RegelingInfoLijst] => Array
      (
      [0] => stdClass Object
      (
      [BWBId] => BWBR0004270
      [DatumLaatsteWijziging] => 2009-01-08
      [VervalDatum] => 1997-04-25
      [OfficieleTitel] => Besluit van 13 januari 1988, houdende vaststelling van een algemene maatregel van bestuur als bedoeld in artikel 31a, vierde lid, van de Wet buitengewoon pensioen 1940-1945, artikel 28a, vierde lid, van de Wet buitengewoon pensioen zeelieden-oorlogsslachtoffers, artikel 18, vierde lid, van de Wet uitkeringen vervolgingsslachtoffers 1940-1945, artikel 25, vierde lid, van de Wet uitkeringen burger-oorlogsslachtoffers 1940-1945 en artikel 35, vierde lid, van de Wet buitengewoon pensioen Indisch verzet
      [CiteertitelLijst] => Array
      (
      [0] => stdClass Object
      (
      [titel] => Besluit vaststelling percentages en bedragen diverse oorlogspensioenwetten
      [status] => officieel
      [InwerkingtredingsDatum] => 1986-11-01
      )

                          )
      
                      [AfkortingLijst] => Array
                          (
                          )
      
                      [NietOfficieleTitelLijst] => Array
                          (
                          )
      
                      [RegelingSoort] => AMvB
                  )
      
          )
      
      [GegenereerdOp] => 2010-06-21

      )

      I also managed to generated the functions and types used by the webservice:

      Array ( [0] => BWBIdServiceResultaat searchByBWBId(string $bwbid) [1] => BWBIdServiceResultaat searchByTitle(string $titel, date $datumGeldig, boolean $volledigeTitel) [2] => BWBIdServiceResultaat searchModifiedSince(dateTime $datumGewijzigd) ) Array ( [0] => string NietOfficieleTitel [1] => NietOfficieleTitel NietOfficieleTitelLijst[] [2] => string Afkorting [3] => Afkorting AfkortingLijst[] [4] => struct Citeertitel { string titel; string status; date InwerkingtredingsDatum; } [5] => Citeertitel CiteertitelLijst[] [6] => struct RegelingInfo { string BWBId; date DatumLaatsteWijziging; date VervalDatum; string OfficieleTitel; CiteertitelLijst CiteertitelLijst; AfkortingLijst AfkortingLijst; NietOfficieleTitelLijst NietOfficieleTitelLijst; string RegelingSoort; } [7] => RegelingInfo RegelingInfoLijst[] [8] => struct BWBIdServiceResultaat { RegelingInfoLijst RegelingInfoLijst; date GegenereerdOp; } )


      Unfortunately I really don't know how to access the content of just '[OfficieleTitel]';

      print_r($client->RegelingInfoLijst(['Officiele Titel]')); does'nt work

      Who can help me out?

        At a glance:

        $client->searchByBWBId('BWBR0004270')->RegelingInfoLijst[0]->OfficieleTitel

        looks to be correct.

          23 days later

          Hi Martin,

          Seems we are trying to accomplish to same thing ;-) Maybee we can help each other with this thing.

          Did you also figured out how to retrieve the articles belonging to a law?

            Write a Reply...