SOAP Request auf Glassfish Server - Keine Parameter

Hallo Community,

ich versuche eine PHP Anzeige zu erstellen, welche auf einen Web-Service auf meinem Glassfish Server aufbaut. Hintergrund ist, dass wir eine Informationsseite für Kunden entwickeln wollen, welche dann Kerndaten Ihrer Bestellungen einsehen können. Diese sollen aber nicht direkt auf unserem Glassfish rumhampeln, sondern davon isoliert sein. Der Aufbau ist also:

Internet->Gateway->Webserver in “DMZ”->Glassfish Server

Der Webservice ist auf dem Glassfish bereits deployed und funktioniert auch mit anderen Programmen. Ein Problem bei der Interaktion mit Delphi (Legacy Software hier im Haus) war, dass ich das WSDL des Services zwar importieren konnte, aber bei den Anfragen auf dem Glassfish Server nur '“null” Parameter ankamen. Dies konnten wir lösen, indem wir den Bezeichner

  InvRegistry.RegisterInvokeOptions(TypeInfo(LagerService), ioDefault);

in

  InvRegistry.RegisterInvokeOptions(TypeInfo(LagerService), ioDocument);

geändert haben.

Jetzt habe ich den Webservice in PHP folgendermaßen implementiert:

$client = new SoapClient("http://hostname:8080/LagerService/LagerService?wsdl");
$client->getGebuchte('p-468921');

Der Aufruf kommt auf dem Glassfish an und scheint zu funktionieren, aber im Debugger sehe ich jetzt auch wieder, dass der Parameter mit “null” übergeben wird. Ich habe mir die Dokumentation zum SoapClient schon durchgelesen und gehe davon aus, dass ich wahrscheinlich eine Option ändern muss, aber ich kriege einfach nicht raus, welche. Habt ihr Ideen?

Gruß,
Tim

Hallo,

habs rausgefunden. Warum der Aufruf jetzt nicht lief, da bin ich mir nicht ganz sicher. Folgender Aufruf funktioniert aber:

$result = $client->__soapCall("getGebuchte", array( 
    "getGebuchte" => array( 
		"kennzeichen" => $_GET['kennzeichen']  
		) 
	), NULL); 

Gruß und schönes WE,
Tim