0

wsse セキュリティを使用する既存の Java Weblogic Web サービスを使用できる ac# Web クライアントを構築する必要があります。C# で動作するように既存の Java weblogic Web サービスを変更することはできません。解決策が簡単に見つかることを願っています。

クライアントには、VisualStudio 2010 の Microsoft.Web.Services3 で c# を使用しています。Web.Services3 が廃止されたことは知っていますが、必要な wsse:Security タグを追加できる場所で動作する WCF ソリューションを見つけることができません。 Web サービスで必要な順序で。

Web.Service3 を使用すると、生成された SOAP 要求の SOAP 本文に必要な SOAP 属性タグが含まれません。soapUI を使用してテストすると、機能するリクエストと機能しないリクエストの唯一の違いは、soap 本体に「wsmp:」タグがないことです。SOAP 本体のメソッド タグに「wsmp:」を挿入する方法を見つけることができれば、C# リクエストは機能します。

SOAP 本体で、Web サービス定義の SOAP ヘッダー タグ「wsmp:」が欠落しています。このタグを C# のクライアント リクエストに挿入する方法はありますか?

これは必要な体です -

`<soapenv:Body>
<wsmp:getForm xmlns:wsmp="http://www.microstrat.com/wsmpServices/1.0">
<wsmp:documentid><documentid>8502</documentid><formnumpacketid /></wsmp:documentid>
</wsmp:getForm>
</soapenv:Body>`

これは生成される本体です。wsmp:getForm タグの代わりに getForm に注意してください。

`<soapenv:Body>
<getForm xmlns="http://www.microstrat.com/wsmpServices/1.0">
<documentid xmlns=""><documentid>8502</documentid><formnumpacketid /></documentid>
</getForm>
</soapenv:Body>`

生成されたものから必要なものに移行する方法に関するヘルプや指針はありますか?

4

1 に答える 1

0

C# エンドで生成された xml は実際に有効であるように見えるので、この要件を強制しているのは Java サーバーの特殊性だと思います。

ライブラリに特定の xml 名前空間プレフィックスを強制的に使用させるほど、WSE ライブラリの内部構造はわかりませんが、適切と思われる方法で SOAP xml を書き換えるのに成功した 1 つの方法を次に示します。 GetWebRequest

乾杯、アナッシュ

于 2011-12-23T18:03:50.223 に答える