[PHP][SOAP][WSDL] gebruik maken van WSDL service

Pagina: 1
Acties:
  • 936 views sinds 30-01-2008
  • Reageer

Onderwerpen


Acties:
  • 0 Henk 'm!

Verwijderd

Topicstarter
Situatie
Op het werk hebben we aan de balie een simpel toegangsscriptje draaien. De secretaresse typt in een formulier de naam, voornaam en geboortedatum van de bezoeker in en het PHP script gaat in onze MySQL database op zoek. Nu wil de directie echter dat dit ook gekoppeld wordt aan een wsdl service van een officiële instantie.


Gekregen informatie
Van deze instantie hebben we een .pdf bestandje van 2 pagina's gekregen: (http://www.c-inside.be/varia/webserice.pdf). Daarin staat dat de WSDL service met Axis gemaakt is, hoe je moet aanmelden in Java en de code van het WSDL bestand. Ik heb geen ervaring hiermee maar de directie staat erop dat het gekoppeld wordt.

Even gebeld met die instantie maar die konden me niet helpen, verwezen me telkens naar het hier bovenstaande .pdf document door.


Geprobeerd
Ik ben dan begonnen met de tutorials over XML, Soap en WSDL op de w3school website te doorlezen. Ik heb Pear::SOAP op de server (apache 2.0.59, php 4.4.2) geïnstalleerd, het wsdl bestand opgeslaan en na een zoektocht via google (ik vind maar heel weinig over PHP/Pear::SOAP/WSDL) een eerst testscripje gemaakt:


PHP:
1
2
3
4
5
6
7
8
9
10
11
12
<?php

require_once('SOAP/Client.php');


$wsdl_file = "bestand.wsdl";
$proxy = array("user" => "XXXXX", "pass" => "XXXXX");
$wsdl = new SOAP_WSDL($wsdl_file, $proxy);

echo $wsdl->generateProxyCode();

?>

De uitvoer daarvan is:
code:
1
2
3
4
5
6
7
8
9
class WebService_HitNoHitService_HitNoHit extends SOAP_Client 
{
 function WebService_HitNoHitService_HitNoHit($path = 'http://www.domein.tld/services/HitNoHit')
   { $this->SOAP_Client($path, 0, 0, array('user' => 'XXXXX', 'pass' => 'XXXXX')); 
   } 
 function &getHitNoHit($in0) 
   { $result = $this->call('getHitNoHit', $v = array('in0' => $in0), array('namespace' => 'http://www.domein.tld/services/HitNoHit', 'soapaction' => '', 'style' => 'rpc', 'use' => 'encoded')); return $result; 
   } 
}



Mijn probleem
Hier zit ik nu dus vast. Ik weet niet hoe ik de data naar de service moet sturen en hoe ik het result dan terug opvraag. Op Got heb ik 1 onderwerp gevonden hierover waar voor mij geen bruikbare informatie in stond.

(excuses als het een domme vraag is maar ik wordt er hopeloos van en de directie zit constant in mijn nek te ademen)

Acties:
  • 0 Henk 'm!

  • SchizoDuckie
  • Registratie: April 2001
  • Laatst online: 18-02 23:12

SchizoDuckie

Kwaak

heeee kijk nou wat ik krijg als eerste hit als ik google op php soap call example....

http://www.googleduel.com/apiexample.php

Stop uploading passwords to Github!


Acties:
  • 0 Henk 'm!

Verwijderd

Topicstarter
Bedankt voor de link! Die website ziet er me al heel bruikbaar uit.

In mijn zoekopdracht had ik het het magische woordje "call" niet gebruikt, was eerder aan het zoek met "send data" en "use wsdl".

Acties:
  • 0 Henk 'm!

  • SchizoDuckie
  • Registratie: April 2001
  • Laatst online: 18-02 23:12

SchizoDuckie

Kwaak

Verwijderd schreef op maandag 23 april 2007 @ 13:04:
[...]


Bedankt voor de link! Die website ziet er me al heel bruikbaar uit.

In mijn zoekopdracht had ik het het magische woordje "call" niet gebruikt, was eerder aan het zoek met "send data" en "use wsdl".
Tegenwoordig is creatief googelen eigenlijk een van de grootste skillz van een programmeur ;)

Stop uploading passwords to Github!


Acties:
  • 0 Henk 'm!

  • rrrandy
  • Registratie: Juli 2005
  • Laatst online: 27-06 13:00
Verwijderd schreef op maandag 23 april 2007 @ 13:04:
[...]


Bedankt voor de link! Die website ziet er me al heel bruikbaar uit.

In mijn zoekopdracht had ik het het magische woordje "call" niet gebruikt, was eerder aan het zoek met "send data" en "use wsdl".
Is toch logisch aangezien je de functie 'call' wilt aanroepen :?

Acties:
  • 0 Henk 'm!

Verwijderd

Topicstarter
rrrandy schreef op maandag 23 april 2007 @ 13:41:
[...]


Is toch logisch aangezien je de functie 'call' wilt aanroepen :?
Niet als je niet weet dat je een functie "call" nodig hebt. :)

(ben van 0 begonnen qua kennis over xml/soap/wsdl en dan maak je dus domme fouten)
Pagina: 1