1

このチュートリアル ページ 19 ~ 22を使用して、軸 2 プロジェクトに城壁セキュリティを追加しようとしています。

SO すべて問題ないようですが、soapUI パースペクティブに切り替えてサービスをテストしようとすると、提案されたリクエストは次のようになります。

soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/" xmlns:axis="http://axis2wstest">
 <soapenv:Header/>
   <soapenv:Body>
      <axis:testws>
         <!--Optional:-->
         <axis:x>5</axis:x>
      </axis:testws>
   </soapenv:Body>
</soapenv:Envelope>

そして、それは私に応答として与えます:

faultstring>Missing wsse:Security header in request</fau

SO セキュリティヘッダーを追加すると、リクエストはチュートリアルで書かれたものと同じになります

<soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/" xmlns:axis="http://axis2wstest">
 <soapenv:Header>
<wsse:Security xmlns:wsse="http://docs.oasis-open.org/wss/2004/01/oasis-
200401-wss-wssecurity-secext-1.0.xsd" soapenv:mustUnderstand="1">
<wsse:UsernameToken xmlns:wsu="http://docs.oasis-
open.org/wss/2004/01/oasis-200401-wss-wssecurity-utility-1.0.xsd" wsu:Id="123">
<wsse:Username>test</wsse:Username>
<wsse:Password Type="http://docs.oasis-open.org/wss/2004/01/oasis-
200401-wss-username-token-profile-1.0#PasswordText">pass</wsse:Password>
</wsse:UsernameToken>
</wsse:Security>
</soapenv:Header>
   <soapenv:Body>
      <axis:testws>
         <!--Optional:-->
         <axis:x>5</axis:x>
      </axis:testws>
   </soapenv:Body>
</soapenv:Envelope>

でも反応は同じ

soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/">
   <soapenv:Body>
      <soapenv:Fault xmlns:wsse="http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-wssecurity-secext-1.0.xsd">
         <faultcode>wsse:InvalidSecurity</faultcode>
         <faultstring>Missing wsse:Security header in request</faultstring>
         <detail/>
      </soapenv:Fault>
   </soapenv:Body>
</soapenv:Envelope>
4

1 に答える 1

4

セキュリティ ヘッダーをリクエストに直接追加しないでください。

左下のAutをクリックします。次に、そこにユーザー名/パスワードを入力できます。詳細については、http: //www.soapui.org/SOAP-and-WSDL/authenticating-soap-requests.htmlを参照してください。

Authorization typeとしてPreemptiveを選択します。(私が知る限り、soapUI 4.5.1 のみ)

于 2013-04-05T10:28:01.920 に答える