13

ws - security (これは、rampart モジュールによって有効になります) を使用して、Axis 2 Web サービスを作成しました。

soapUi 4.5.1 でテストしたい。そして、soapUIが私に提案するリクエストは次のとおりです

<soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/" 
                  xmlns:nlo="http://nlo">
   <soapenv:Header/>
   <soapenv:Body>
      <nlo:echo>

         <nlo:arg>echoo</nlo:arg>
      </nlo:echo>
   </soapenv:Body>
</soapenv:Envelope>

しかし、もちろん、この方法でテストすると、次のようになります: セキュリティヘッダーがありません

そこで、[Show Project View] をクリックし、[Outgoing WS-Security Configuration] をクリックします。次に、WS Security Entry - UserName を追加し、ユーザー名とパスワードを入力し、PasswordType に を選択しますPasswordText

次に、もう一度リクエストに戻ります。soapUI が提案した前と同じですが、今回は [AUT] セクションをクリックし、[送信 WSS] で自分の構成を選択します。そして、すべてが機能します。しかし、SoapUI が追加したセキュリティ ヘッダーが表示されません。(XML セクションでも RAW セクションでもありません)。

助けてくれてありがとう!

4

3 に答える 3

17

Raw セクションで WS-Security ヘッダー ブロックを表示できますが、そこに移動する前に、いくつかの変更を加えて要求を再送信します。ここに画像の説明を入力

于 2014-05-23T10:14:57.653 に答える
3

Wireshark を使用して、リクエスト全体をキャプチャしてみてください。

私は同じトラブルに遭遇しました。そのため、 Wiresharkを介して出て行くネットワーク トラフィックをキャプチャすることが、次善の方法のように思えました。

SOAPリクエストを送信しているサーバーにpingを実行して、そのIPアドレスを取得してください。

次に、問題の SOAP リクエストを送信し、宛先 IP でパケットをフィルタリングしながら、Wireshark でキャプチャを実行します。フィルター式は次のようになります
ip.dst == [your server IP]

プロトコル タイプが HTTP/XML のパケットをキャプチャする必要があります。リクエストは、下部のeXtensive Markup Languageタブの下にあります。

PS。この投稿はすでに約 1 年前のものであることに気付きましたが、他の人のためにヒントを提供したいと思います。

于 2014-05-09T19:22:36.130 に答える