gpt4 book ai didi

ruby - 我如何编写一个简单的 SOAP 服务器脚本以根据传入请求的命名空间返回静态 XML?

转载 作者:可可西里 更新时间:2023-11-01 02:55:02 24 4
gpt4 key购买 nike

我需要对一个应用程序做一些测试SOAP 调用第三方应用程序然后处理结果。我想将特定数据从模拟第三方应用程序的程序。

我意识到我真正需要的只是拥有一个服务器进程1) 接受来自被测应用程序的传入 SOAP 调用2) 确定传入 SOAP 调用中使用的 namespace 3) 使用基于该 namespace 的静态 XML 返回 SOAP 响应。

我原以为我会简单地使用 Ruby 的 SOAP::RPC::StandaloneServer,但那期望构造函数中的单个 namespace ,所以我很困惑(我确实考虑过猴子修补处理命名空间的代码,但这看起来很难)。然后,我想我应该尝试使用 Ruby 的 TCPServer。我得到了尽可能当我意识到我不知道如何正确返回以正确的 SOAP 方式使用适当的 XML。

    require 'socket'

server = TCPServer.new('127.0.0.1', 9800)
loop {
client = server.accept
# This is for illustration only, it's clearly wrong
while line = client.gets
if line =~ /urn:foo/
# return the foo xml in the correct SOAP fashion
elsif line =~ /urn:bar/
# return the bar xml in the correct SOAP fashion
end
end
client.close
}
trap('INT') { exit }

请注意,被测应用程序不是 Ruby 应用程序,它是对测试不友好。另请注意,我很乐意考虑另一种解决方案(例如 Perl 解决方案)如果它更容易——我刚开始使用 Ruby,因为我对此有一点经验。

最佳答案

您可能想试试这个,它几乎完全符合您的要求。 http://www.soapui.org/

关于ruby - 我如何编写一个简单的 SOAP 服务器脚本以根据传入请求的命名空间返回静态 XML?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6848446/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com