1

我已经得到了这个遗留应用程序来做一些错误测试。Joy :( 这是一个用 C# -> api.asmx 编写的简单 Web 服务。

现在,测试它的技巧是它需要一些 SOAP HEADER 来进行身份验证。我知道我可以直接进入 asmx 页面,它为我提供了所有公开的 api 方法。单击这些方法会给我一个页面,我可以在其中查看所有 GET/POST/SOAP 内容。如果我编辑我的 web.config,我可以激活 POST 测试。科尔。所有这些都有效。当然,我无法在 SOAP HEADER 中添加,所以它失败了。

这是 SOAP xml 定义的东西:-

POST /services/api.asmx HTTP/1.1
Host: www.<snip>.com
Content-Type: text/xml; charset=utf-8
Content-Length: length
SOAPAction: "http://webservice.<snip>.com/GetStuff"

<?xml version="1.0" encoding="utf-8"?>
<soap:Envelope xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
    xmlns:xsd="http://www.w3.org/2001/XMLSchema"
    xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/">
  <soap:Header>
    <ApiAuthentication xmlns="http://webservice.<snip>.com/">
      <DeveloperKey>string</DeveloperKey>
    </ApiAuthentication>
  </soap:Header>
  <soap:Body>
    <GetStuff xmlns="http://webservice.<snip>.com/">
      <StuffId>int</StuffId>
    </GetStuff >
  </soap:Body>
</soap:Envelope>

那么,我可以下载什么程序来测试这些东西呢?我试过 FIDDLER 但没有运气:( 除非我用错了。

干杯!

编辑 1 和 2(添加删除线):

以前的一个 SO 问题建议SoapUI但那是 java,我拒绝在我的盒子上安装 java .... 我宁愿不必拔出 VirtualPC 并将它扔在那里...拜托?

解决方案:

安装在虚拟 PC 上的SoapUI (免费应用程序),新手说明要遵循:)

4

2 回答 2

3

尽管这可能很明显,但您需要提供DeveloperKey值,以便让您的请求得到应用程序级安全机制的授权。

这里有几件事要记住:

  • 其中,soapUI具有轻松定义 Web 服务参数的功能。这可能有助于测试那些遗留的 Web 服务。此外,您可以使用属性扩展,它允许您表示(可能)在不同(测试)Web 服务请求之间更改的值,或者您希望从您的 soapUI 测试(即使用 Groovy 脚本)中以编程方式控制的值。
  • 就目前而言,soapUI是最强大的用于测试 Web 服务的开源工具。您可以下载捆绑了 JRE 的独立版 soapUI,这样安装的 Java 就不会干扰安装在您机器上的其他软件(即不包括您大脑中的 Java 仇外部分;-))。
  • 不管以上两点,你真的不需要虚拟机在沙箱中运行 Java 应用程序。您只需要安装 JRE 或 Java SDK 即可运行 Java 应用程序。完成测试后,您始终可以卸载 Java (JRE/SDK) 和/或soapUI。

一旦您开始使用soapUI,您很快就会意识到它是一个非常强大的工具,而且它已经用Java 实现的事实将变得无关紧要。

干杯!
松兹拉

ps JRE 是 Java 运行时环境,它是运行 Java 应用程序所必需的。它类似于运行 .NET 应用程序所需的 .NET Framework 可再发行包。

于 2009-06-23T11:29:48.700 回答
0

如果你真的不会使用 SoapUI,有一个名为SOAP Sonar的“企业”工具。我不知道它是什么样的,但它可能会完成这项工作。

于 2009-06-23T10:42:26.173 回答