【发布时间】:2012-06-26 15:25:30
【问题描述】:
我正在尝试在客户端和服务器之间建立 SOAP 连接。
首先在客户端,我用soap发送一个.php文件信息,这样我就可以看到请求和响应:
&client = new SOAPclient("http://.../service.wsdl",array('soap_version' => SOAP_1_1,'trace'=>1);
之后我调用函数&client->handle_request(&request)
到目前为止一切正常。
我从wsdl文件http://..../index.php?soap=on调用服务器
if (soap == on)
{
include server.inc
&soapserver = new Juan_soap_server
&soapserver->handle_request($request)
}
在 server.inc 中,我定义了类 Juan_soap_server 和函数 handle_request。
我的问题是程序执行函数handle_request,完成了所有任务,但之后我的客户端没有任何响应。
我已经在服务器上运行了一个简单的客户端服务器测试,它工作正常,所以不是soap安装的问题。
你有什么线索吗?
【问题讨论】:
-
好吧,(除了大量的解析错误,我认为这是“伪代码”):你实际上并没有对返回做任何事情。您认为它应该显示什么以及为什么?
-
是的对不起,但它的伪代码。我调用函数handle_request($request) $request 变量写入客户端并通过SOAP 传输到服务器。服务器编辑$request,然后我在服务器的handle_request() 函数中返回$request。所以 server.inc 类似于那个 class Juan_soap_server{ public function handle_request($request){ return &request} } $server = new SOAPServer(NULL, array('uri'=>"urn:service")); $server->setClass('Juan_soap_server'); $server->handle();