1

JBoss7.1 で実行されているサービスに対して Web サービス呼び出しを行う .Net アプリケーションがあります。Linux (Mono 2.10.2 を使用) と Windows (下記) からの「ログイン」メソッドの 1 つの SOAP リクエストは異なります。それらは同等に見えますが (私は思う)、Linux から実行するとサーバー エラーが発生し、「アンマーシャリング エラー: 予期しない要素 (uri:"http://ws.array.mod.abc.com/", local:"username") という例外が発生します。 . 期待される要素は <{}username>,<{}password>' です

Linux(Mono 2.10.2)
==================
POST /array_ws/ArrayService?WSDL HTTP/1.1
Content-Type: text/xml; charset=utf-8
SOAPAction: ""
Content-Length: 335
Expect: 100-continue
Connection: keep-alive
Host: 10.10.5.61:8080

<s:Envelope xmlns:s="http://schemas.xmlsoap.org/soap/envelope/">
   <s:Body>
      <login xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns="http://ws.array.mod.abc.com/">
         <username>admin</username>
         <password>admin</password>
      </login>
   </s:Body>
</s:Envelope>

Windows
=======
POST /array_ws/ArrayService?WSDL HTTP/1.1
Content-Type: text/xml; charset=utf-8
SOAPAction: ""
Host: 10.10.5.61:8080
Content-Length: 312
Expect: 100-continue
Accept-Encoding: gzip, deflate
Connection: Keep-Alive
<s:Envelope xmlns:s="http://schemas.xmlsoap.org/soap/envelope/">
   <s:Body xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema">
      <login xmlns="http://ws.array.mod.abc.com/">
         <username xmlns="">admin</username>
         <password xmlns="">admin</password>
      </login>
   </s:Body>
</s:Envelope>

ユーザー名とパスワードのフィールドに xmlns="" を追加し、Linux からサーバーへの直接 SOAP 呼び出しを行うと、正常に動作します。変更しなければならない mono ライブラリや、動作させるために必要な JBoss Web サービス構成はありますか?

4

0 に答える 0