我们正在为UNIFACE 9.3编写一个Web服务。我们的服务提供WSDL。我们使用SOAPUi进行第一次测试,我们使用PHP进行更多测试,但PHP没有给我们任何东西!为什么呢?
<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>
这是我们的PHP测试集:
$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:\n" . $client->__getLastRequest() . "\n";
PHP-getFunctions提供了这个:
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)" }
答案是什么!为什么?非常感谢。
答案 0 :(得分:1)
我真的不知道SOAP而且我刚刚在这里问了一个关于SOAP调用的问题,但是如果你将这些代码稍微改为:
// 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:\n" . $client->__getLastRequest() . "\n";
答案 1 :(得分:1)
$client = new SoapClient($url, array("trace" => 1));