We are writing a web service into UNIFACE 9.3. Our service delivers a WSDL. We use SOAPUi for the first test and we wand to use PHP for some more tests, but PHP gives us nothing! Why?
<soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/" xmlns:urn="urn:uniface:applic:wrapped:services:WEBSOAPWSV">
<soapenv:Header/>
<soapenv:Body>
<urn:INFO>
<urn:SP_IN>OCCURRENCE=TEST</urn:SP_IN>
</urn:INFO>
</soapenv:Body>
</soapenv:Envelope>
This is our PHP-testset:
$client = new SoapClient("http://patch-server:8080/uniface/services/websoapwsvdlw?wsdl");
var_dump($client->__getFunctions());
$args = array('OCCURRENCE', 'TEST');
$result = $client->__soapCall('INFO', $args);
echo "Request:
" . $client->__getLastRequest() . "
";
PHP-getFunctions delivers this:
array(6) {
[0]=> string(41) "ACCEPTResponse ACCEPT(ACCEPT $parameters)"
[1]=> string(35) "EXECResponse EXEC(EXEC $parameters)"
[2]=> string(35) "INFOResponse INFO(INFO $parameters)"
[3]=> string(41) "INSERTResponse INSERT(INSERT $parameters)"
[4]=> string(35) "QUITResponse QUIT(QUIT $parameters)"
[5]=> string(41) "UPDATEResponse UPDATE(UPDATE $parameters)" }
The answer is nothing! Why? Thanks a lot.
I really don't know SOAP and I've just asked a question about a SOAP call here myself, but what if you changed that code slightly to:
// change here
$options = array( 'trace' => 1, 'exceptions' => 1);
$client = new SoapClient("http://patch-server:8080/uniface/services/websoapwsvdlw?wsdl", $options);
var_dump($client->__getFunctions());
$args = array('OCCURRENCE', 'TEST');
// change here..
$result = $client->INFO($args);
echo "Request:
" . $client->__getLastRequest() . "
";
$client = new SoapClient($url, array("trace" => 1));