問題タブ [wse]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
wcf - mustUnderstandがtrueに設定されたユーザー名トークンを渡すWCFクライアント
私は、外部クライアントによって使用されるWCFサービスを作成する任務を負っています。クライアントはWSSEセキュリティを使用しています。具体的には、SOAPヘッダーを介してユーザー名トークンを渡しています。
WCFサービスは、SSLが有効になっているIISサーバーでホストされます。
この時点で、私は半ば機能するプロトタイプを持っています。私が今扱っている問題は、SOAPヘッダーのmustUnderstand属性が1に設定されているため、プロセスが失敗することです。
mustUnderstand属性がtrueの場合に適切な応答を返すような方法でユーザー名トークンを処理する方法について、アドバイスをお願いします(または、コード例は微笑んでいます)。
失敗するSOAPリクエストのサンプルを次に示します。
soapenv:mustUnderstand = "1"がsoapenv:mustUnderstand = "0"に変更された場合、プロセスは機能します。
PS:クライアントが送信した改訂されたサンプルリクエストは次のとおりです。
上記のリクエストに対して、次の応答があります。
バインディングは次のとおりです。
.net - WS-Security フレームワーク 1.1 .Net
ASP.NET 1.1 アプリケーションから、Java で実行された WS-Security を使用して Web サービスを使用しようとしています。サービスのメソッドを呼び出すと、アプリにプロキシに関するエラーが表示され、プロキシ オブジェクトを作成して資格情報を割り当てますが、リクエストを試行すると、次のようなエラーが発生します。
つなげられない
WSE を使用する必要がありますか?
誰か助けてください。御時間ありがとうございます。
ps。私の英語でごめんなさい、それは私の言語ではありません
.net - wcf メッセージの署名に x509 証明書を使用する WSE 3.0
署名に x509 証明書を使用するのを手伝ってください。Visual sturio 2010 c# に WSE 3.0 を使用しています。
エラー メッセージは {"WSE101: 非同期操作で例外が発生しました"} です。
内部例外メッセージは {"リクエストが中止されました: SSL/TLS セキュア チャネルを作成できませんでした"} です。
wcf - 「ベースアドレスとバインディング」のみを指定してWCFサービスにアクセスする方法
「バインディングとベースアドレス」のみを指定して、WCFサービス用にクライアントを構成する方法を探しています。そのための方法を提案してください。
.net - SOAP リクエストへの添付ファイルの追加
SOAP リクエストに添付ファイルを追加する方法について、私は迷っています。Java で構築されたサード パーティの Web サービスを使用する必要がありますが、これは私が今まで遭遇した中で最も複雑なものです。添付ファイルを必要とする他の Web サービスには、添付ファイルを追加するためのメソッドまたはプロパティがあります。単純。ただし、これはそのような方法を提供しません。
必要な XML とまったく同じバージョンの SOAP メッセージを一緒に取得しましたが、追加できないのはファイルの MIME 部分です。
例:
これは、生成して送信できる XML 部分ですが、次のような MIME 部分が必要なため、正しくありません。
XML の前:
XMLの後
インターネットで答えを探しましたが、空白になりました。この目的での WSE の使用に関するドキュメントはあまりないようです。WSE はサーバー側の要件であることを強調しなければなりません。この問題に対処するためにテクノロジを変更する方法はありません。
これらの MIME セクションを追加する方法はありますか?
編集: SoapUI を介して添付ファイル付きで送信された動作中の XML ドキュメントを取得できることを追加する必要がありますが、コード内で方法を見つけることができないようです。
この問題を解決するための報奨金を追加しました。他のアイデアがある場合は、お知らせください。
もう一度編集: ここで回答を確認できてから 1 週間が経ちましたが、どこを見ればよいかについて良い考えを示している人もいますが、まだ空白を描いています。ひどいドキュメンテーションXopDocument
とそのメソッドは大きな問題です。誰かが使用例を持っている場合は、SaveToXopPackage
提供してください。
c# - c#でsoapメソッドリクエストに「wsmp:」を挿入する方法はありますか?
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# のクライアント リクエストに挿入する方法はありますか?
これは必要な体です -
これは生成される本体です。wsmp:getForm タグの代わりに getForm に注意してください。
生成されたものから必要なものに移行する方法に関するヘルプや指針はありますか?
asp.net-mvc-3 - ASP.NETMVC3およびWSE2.0
私はASP.NETMVC3プロジェクトを持っており、いくつかのUIコントロールの実装を任されています。いくつかのWebサービスを呼び出して、データをUIコントロールにバインドする必要があります。問題は、Webサービスホスト(制御できません)では、最初にUsernameToken
クラス(WSE 2.0)を実装してユーザーを認証し、セキュリティトークンを生成する必要があることです。2006年にWSE2.0がWCFに取って代わられることを理解しています。WSE2.0を使用できるようにするためにVS2005に切り替えたくありません。私のオプションは何ですか?
助けてくれてありがとう!
.net - WSEを使用した、SOAP応答、整形式XMLではなく、XOPパーツが見つかりません
添付ファイル付きのリクエストを送信し、サーバーからさまざまな情報を含む応答を受信するWebサービスを利用しています。別の質問でリクエストをまとめる際のいくつかの問題を文書化しましたが、SOAPリクエストに添付ファイルを追加しましたが、このビットは解決され、応答に別の問題が発生しました。
応答はOKですが、次のようなエラーがスローされます。
応答は整形式のXMLではありません。
InnerExceptionは次のとおりです。
WSE1608:指定されたコンテンツIDのストリームにXOPパーツが見つかりませんでした:<rootpart * 36875c60-630c-4e23-9e74-f9a9c7547fc7@example.jaxws.sun.com>
返されるxmlは次のようになります。
これはMIME部分によるエラーだと思いますが、どのように処理すればよいですか?
これはSoapUIで返されるのとまったく同じXMLであり、予想される返されるXMLであると付け加えてもよいでしょう。また、WSEが必要な理由は2つあります。これは、Webサービスのサードパーティ開発者が作業方法の変更を拒否していることと、VS 2005に依存しているため、特に期限付きでWCFを利用できないためです。私たちの上にぶら下がっています。
編集:私が受け取る実際の応答は以下のとおりです。読みやすくするために上でフォーマットしました。
.net - WSE 3.0 - バイト配列が Base64 としてエンコードされており、バイナリへの「MTOM 化」されていない
このエリアについて他にもいくつか質問がありますが、今は少し冗長です。それらへの回答もいただければ幸いですが、この質問は現時点での私の主な関心事です。
私は、WSE 3.0 で MTOM/XOP がどのように機能するかを示す多くの例に従い、必要と思われるとおりにプロジェクトをセットアップしました。DataType:-base64Binary として指定された Byte 配列フィールドがあります。この中に、追加したい添付ファイルの Byte 配列を入れます。アプリケーションを実行してリクエストを確認すると、データはインラインで base64 としてエンコードされます。つまり、XOP の Include 要素と関連する MIME 部分はありません。
WSE 3.0 内の MTOM についての私の理解では、エンコード時に base64Binary として指定された任意のフィールドを取得し、それをバイナリとしてエンコードして MIME パーツに移動し、XOP の Include 要素に置き換えます。つまり、それはうまくいきました。しかし、参照ファイルでサービスを継承するMicrosoft.Web.Services3.WebServicesClientProtocol
ように設定し、RequireMtom
フラグを true に設定しましたが、まだ正しくエンコードされていません。
ここで何かを見逃しましたか?これが機能するために実装する必要がある他の手順はありますか?
編集: 100 回目のコードを調べた後、ProcessMessage メソッドを実行する前にペイロードをシリアル化する必要があるためではないかと考えています。これは問題になる可能性があるように聞こえますか?シリアル化した理由は、使用する必要があるメソッドが、コンテンツ プロパティを持つ「ペイロード」パラメーターを受け入れるためです。このコンテンツ プロパティは XMLElement プロパティであり、これを取得できる唯一の方法は、必要なクラスをシリアル化することです。しかし、これにより、MTOM が base64 フィールドのデータ型を認識しなくなり、MIME パーツと XOP でバイナリに変換されなくなりますか? 今は本当にストローをつかんでいます。
編集 2: 以下に解決策がありますが、サードパーティの会社は、名前空間のプレフィックスが間違っていると言っています! のようなものが<q1:Attachment xmlns:q1="http://whatever" />
あり、彼らはそれを要求しています<s:Attachment xmlns:s="http://whatever" />
。私は怒っていますか、それとも問題ではありませんか?名前空間プレフィックスを割り当てる方法を教えてくれる方法はありますか?
c# - WSE2.0WebサービスをWindows2003からWindows2008R2に移行しますか?
WSE 2.0 Webサービス(.asmx)をWindows2003サーバーからWindows2008 R2サーバー(IIS 7)に移行できるかどうか疑問に思っていますか?さらに複雑なのは、サービスがセキュリティ目的でx509証明書を使用することです。
Windows2003サーバーからWindows2008R2サーバーにサービスをコピーし、IIS 7を介してWebアプリケーションとして作成しましたが、URLに問題なく表示されます。ただし、SOAPを介してサービスを呼び出すと、SOAPヘッダーの例外が発生します。
誰かが私がしていることが可能かどうかを理解するのを手伝ってくれますか?もしそうなら、ここでの私の問題は何でしょうか?または、WSE2.0サービスをWindows2003からWindows2008に移行するためにどのような代替アプローチを採用する可能性がありますか?