【发布时间】:2011-05-22 07:12:27
【问题描述】:
我正在使用Frontier::Daemon 为 Robot Framework 测试自动化框架构建测试库服务器。我让测试库服务器在本地执行代码,但是当它通过 XML-RPC 运行/执行时,这就是我遇到问题的时候。部分问题也可能是因为我使用 Perl 反射来执行测试命令。
也许RPC::XML 可能更合适,但在我开发服务器时,Frontier::Daemon 似乎更容易开始。
Perl 反射代码是从本网站上发布的线程以及 Wikipedia 的代码反射页面(Perl 部分)中借用的。
代码托管在Google Code,您可以browse the code 或查看它以供审核。问题是described in more detail at the project site。
我希望 Perl 开发者社区能给我一些关于问题根源和解决方法的指示。
谢谢, 戴夫
【问题讨论】:
-
您能做些什么来展示您的问题的独立示例吗?我不知道您所说的“Perl 反射”是什么意思。
-
或者至少提供复制问题的说明?我让您的示例服务器运行,但在感到无聊之前无法推断出示例客户端的外观。
-
除非真的要求,否则我宁愿不花时间编写 XML-RPC 客户端来演示服务器应该做什么,因为在这一点上,服务器无论如何都不能正常工作。对于任何使用协议(HTTP、XML-RPC、SOAP、TCP/IP 等)的人,我认为他们应该知道如何在不需要最终用户客户端的情况下使用协议消息传递。例如,对于 XML-RPC,您可以使用任何普通 REST 客户端(有各种此类浏览器扩展)测试服务器消息传递。抱歉,由于每个帖子的字符数限制,我的回复分开了。
-
要发出的 XML-RPC 请求示例,以及您当前返回的内容和应该返回的内容在 wiki code.google.com/p/plrobotremoteserver/wiki/… 上进行了描述,还有要比较的本地执行输出(在非-XML 形式)你应该得到什么。 exampleremoteserver.pl 是客户端(用于通过终端输出进行本地执行)以及服务器的示例。对于 XML-RPC 客户端到服务器,您可以使用 REST 客户端发出 XML-RPC 请求,或者构建您自己的客户端。服务器将返回一个 XML-RPC 响应(通过 HTTP)。
-
exampleremoteserver.pl 也会在您发出 XML-RPC 请求时重现该问题。对于 Perl 反射,robotremoteserver.pm 中的代码包含它,并显示了它如何与服务器代码的其余部分一起使用。这些代码的片段可以在这里找到:stackoverflow.com/questions/1021713/…en.wikipedia.org/wiki/Reflection_(computer_programming)#Perl
标签: perl reflection xml-rpc