1

私はいくつかのバグテストを行うためにこのレガシーアプリを与えられました。Joy :(これはC#->api.asmxで記述された単純なWebサービスです。

さて、それをテストするための秘訣は、認証のためにいくつかのSOAPHEADERを必要とすることです。asmxページに移動するだけで、公開されているすべてのapiメソッドが表示されます。これらのメソッドをクリックすると、すべてのGET / POST/SOAPのものを表示できるページが表示されます。web.configを編集すると、POSTテストをアクティブにできます。Kewl。それはすべて機能します。もちろん、SOAP HEADERに追加する方法はないので、失敗します。

これがSOAPxml定義のものです:-

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を引き出して、そこに投げる必要はありません...お願いしますか?

解決:

SoapUI(無料アプリ)がVirtual PCにインストールされており、初心者の指示に従う必要があります:)

4

2 に答える 2

3

明らかな場合でも、アプリケーションレベルのセキュリティメカニズムによって要求を承認するために必要なのは、 DeveloperKey値を指定することです。

覚えておくべきことがいくつかあります。

  • とりわけ、soapUIには、Webサービスパラメーターを簡単に定義する機能があります。これは、これらのレガシーWebサービスのテストに役立つ場合があります。さらに、プロパティ拡張を使用して、異なる(テスト)Webサービスリクエスト間で(変更される可能性がある)値を表すか、soapUIテスト内からプログラムで制御する(つまり、Groovyスクリプトを使用する)値を表すことができます。
  • 当面、soapUIはWebサービスをテストするための最も強力なオープンソースツールです。インストールされたJavaがマシンにインストールされた残りのソフトウェアに干渉しないようにJREをバンドルしたスタンドアロンバージョンのsoapUIをダウンロードできます(つまり、Javaの外国人嫌いな部分を除く;-))。
  • 上記の2つのポイントに関係なく、サンドボックスでJavaアプリケーションを実行するために仮想マシンは実際には必要ありません。必要なのは、Javaアプリを実行するためにインストールされたJREまたはJavaSDKだけです。テストが完了したら、いつでもJava(JRE / SDK)やsoapUIをアンインストールできます。

soapUIを使い始めると、それが本当に強力なツールであり、Javaで実装されているという事実は無関係になることにすぐに気付くでしょう。

乾杯!
ションジラ

ps JREはJavaランタイム環境であり、Javaアプリケーションを実行するために必要です。これは、.NETアプリケーションを実行するために必要な.NETFramework再配布可能パッケージに似ています。

于 2009-06-23T11:29:48.700 に答える
0

本当にSoapUIを使用できない場合は、SOAPSonarと呼ばれる「エンタープライズ」ツールがあります。私はそれがどのようなものかわかりませんが、それは仕事をするかもしれません。

于 2009-06-23T10:42:26.173 に答える