我正在开发一个web应用程序,它需要数据库中的数据。对于与db的通信,我使用WSO2AS。
我创建了一个数据库并将其链接到创建的数据服务,当我在WSO2的管理面板中测试服务时,我从数据库中获得所需的数据。
我创建的数据服务称为TestService。

现在,我也希望在我的php模板中有相同的响应,使用下面的代码。
<?php
try {
$client = new SoapClient('http://192.168.178.12:9763/services/TestService?wsdl');
$result = $client->__soapCall('greet');
printf("Result = %s\r\n", $result->return);
} catch (Exception $e) {
printf("Message = %s\r\n",$e->__toString());
}
?>但是,当我试图转储$result时,这会产生NULL。
当我尝试执行创建的示例WSO2时,我确实得到了正确的结果。虽然soapcall是相同的,但只有服务名称不同。
<?php
try {
$client = new SoapClient('http://192.168.178.12:9763/services/HelloService?wsdl');
$result = $client->__soapCall('greet', array(array('name' => 'Sam')));
printf("Result = %s\r\n", $result->return);
} catch (Exception $e) {
printf("Message = %s\r\n",$e->__toString());
}
?>此代码返回“你好,萨姆!”。
所以我想知道我做错了什么,我个人认为我在实现服务本身上犯了一个错误,但是找不到它。
如果需要更多的信息,请随便问,希望有人能帮我这个忙。
提前感谢!
发布于 2013-11-29 10:48:17
显然你需要在你的肥皂剧里有争论。
调用这个__soapCall之后(‘greet’,array());
它给出了正确的反应。
https://stackoverflow.com/questions/20282326
复制相似问题