問題タブ [mtom]
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.
c# - WCFは存在し、部分的に機能していますが、一部の呼び出しでは「エンドポイントがリッスンしていません-(404)見つかりません」と返されます。
小規模から大規模のデータセット(ドキュメント生成)で機能するサービスがあり、一部の呼び出しでは正常に機能しますが、特定のリクエスト(まったく同じメソッド、異なる引数)では次のように返されます。
System.ServiceModel.EndpointNotFoundException:メッセージを受け入れることができるhttp:// localhost:8010 / MyService/MyService.svcでリッスンしているエンドポイントがありませんでした。これは多くの場合、誤ったアドレスまたはSOAPアクションが原因で発生します。詳細については、InnerException(存在する場合)を参照してください。---> System.Net.WebException:リモートサーバーがエラーを返しました:(404)見つかりません。
サービスが機能していることに注意してください。ドキュメントは生成されますが、すべてではありません...(そしてサービスはブラウザから開くことができます)
web.configでトレース(system.diagnostics)をオンにしましたが、svclogにそれ以上の情報がありません。
バインディング(wsHttp)は次のように構成されます。
また、次のようなものがあります。
メッセージはmaxReceivedMessageSize
、およびその他の属性の制限内に収まる必要があると思います。
現在、メッセージのサイズに疑いがありますが、確信が持てません。これをさらにデバッグするにはどうすればよいかわかりますか?
java - Java での Web サービス応答へのファイルの添付
JavaでWebサービス応答にファイルを添付する方法は?
wcf - WCF 経由でバイナリ データを送信する: バイナリと MTOM エンコーディング
私は WCF に関する知識が限られており、WCF を介してバイナリ データを送信することもできないため、この質問はやや初歩的なものになる可能性があります。
BinaryMessageEncodingBindingElement
とでのデータ送信の違いを知りたいMtomMessageEncodingBindingElement
です。MSDN on Large Data and Streamingからこのページを読んだ後、どのアプローチをいつ使用するかはまだ明確ではありません。
また、ちょっとした質問: 添付ファイル付きのメッセージと MTOM メッセージは同じものですか?
attachment - Spring WS と Axiom を使用して、大きな XOP 添付ファイルを含む SOAP メッセージからデータを読み取る方法
大きなファイルを受け取り、SOAP メッセージで指定された名前で保存する Web サービスを構築しようとしています。リクエストメッセージの例を次に示します
私はすでにいくつかのものを構築しました: OutOfMemoryError なしで大きな XOP ファイルを受け取ることができます。問題は、リクエストの ProjectName ノードにアクセスできないことです。それを取得しようとすると、添付ファイルがリクエストにインライン化されるためです。そして、それ自体が OutOfMemoryError につながります
これが私が現在その目的で使用しているコードです
Spring WS と Axiom を使用して、大きな XOP 添付ファイルと ProjectName ノード コンテンツの両方を抽出するのを手伝ってくれる人はいますか?
前もって感謝します
wcf - WCFクライアントでSOAPがMTOMとしてエンコードされない
WCFクライアントからDFS(Documentum Foundation Services)インスタンスに接続しています。basicHttpBindingを使用していて、messageEncoding="Mtom"を設定しました。ただし、soapを調べると、SOAPエンベロープ内にドキュメントが表示されます。SOAPのドキュメント部分は、実際のドキュメントサイズの約1.33倍です。したがって、メッセージはBase64でエンコードされています。
WCF側で変更する設定が他にもありますか、それともDFS側で有効になっていないMTOM設定がありますか?
wsoma:OptimizedMimeSerializationはWSDLに存在する必要がありますか?
ありがとう
wcf - WCF および証明書認証での MTOM 添付ファイルのストリーミング
私がやろうとしていることがサポートされているかどうかについて、決定的な答えを探しています。
基本的に、WCF を使用して大きな MTOM 添付ファイル (200 Mb) をストリーミングしていますが、これは問題なく動作します。サービスのセキュリティ要件は、HTTPS と証明書ベースの認証を使用することです。問題なく HTTPS 経由でサービスを実行できますが、IIS を「クライアント証明書を受け入れる」または「クライアント証明書を要求する」に設定すると (コードに変更はありません)、次のエラーがスローされます (ただし、添付ファイルが解決された場合のみ)。 80Mb程度):
いくつかのリソースを見つけました。申し訳ありませんが、現在それらを見つけることができません。これは、受信メッセージがデジタル署名されていないか、メッセージ コンテンツのストリーミングの性質のために検証されていないという事実におそらく関連していることを示しています。サービスは証明書を検証するためにメッセージの内容全体をハッシュする必要があると思いますが、検証が行われようとしている間、メッセージの一部が転送中であるため、これは達成できません。
本文が単一の Stream 要素であり、他の要素がヘッダー内に含まれるように、メッセージ コントラクトをセットアップしました。
サービス構成は次のようになります。
クライアント構成は次のようになります。
繰り返しますが、IIS Client Certs を Accept または Require に設定するまでは問題なく機能します。
また、IIS ログに 413 エラーがあります...
この問題を回避するために、ファイル アップロード サービスに加えて認証サービスを設計済みです。しかし、私がやろうとしていることが「できる」かどうかを知りたいのです。
どうもありがとう - パトリック
.net - .NET WCF Web サービスへのファイルの送信に関するガイダンスが必要
ご協力いただきありがとうございます。
電子メールを送信するための .NET WCF Web サービス (C#) を作成しています。基本的には、すべての内部アプリが使用できる中央の電子メール サービスです。私のハードルは電子メールの添付ファイル (1 つ以上) でした...バイナリ データを WCF Web サービスに送信するためのベスト プラクティスを探していました。以下を考慮する必要があります。
- このサービスへのすべてのリクエストは内部的に行われます
- 添付ファイルはオプションですが、1 つ以上含めることができます
- 複数の添付ファイルの場合、サービスがタイムアウトしないようにする必要があります
バイナリをbase64文字列に変換することについてはたくさん読んだことがありますが、パフォーマンスに関する多くの欠点(特に複数のファイルの場合)が、このアプローチを受け入れるのを怖がらせました。そこで、検索を続けたところ、バイナリ ファイル転送の効率が向上すると思われる MTOM トピックがいくつか見つかりました。
基本的に、このタイプの機能のベスト プラクティスとなるアプローチについてのガイダンスと、理想的にはサンプル コードを送ってもらう必要があります。
お時間をいただきありがとうございます。
java - JAX-WS は常に MTOM 添付ファイルをインラインで送信します
基本的に、プロキシ メソッドを介して mtom soap メッセージを送信する Web サービス クライアントを作成したいと考えています。Web サービス wsdl からサービス アーティファクトを作成しました。メッセージは正しく作成されますが、mtom を有効にして添付ファイルを追加すると、添付ファイルは常にインラインで送信され、別の MIME 部分では送信されません。そのような mtom が有効になっていますが、何らかの理由でメッセージを最適化しないことを決定し、インラインで送信します。同じコードを soapui で実行すると正しい結果が得られるので、サービス自体がそれを受け入れることがわかります。
SOAP リクエストを作成して送信するための基本的なコードを次に示します。mtomfeature を有効にしますが、soapBinding.setMTOMEnabled(true);
両方の方法でデバッグして((SOAPBinding) binding).isMTOMEnabled()
、有効に設定されていることを確認しました。
以下に示すように、添付ファイルがインラインで送信されます。(Wireshark でキャプチャ)
私が望むのは、結果タグの添付ファイルをインライン タグに置き換え、添付ファイルを別の MIME 部分の SOAP メッセージに追加することです。例えば
そして、以下が石鹸メッセージに追加されました
c# - SmartCard認定を受けたWCFクライアントはWin7で動作しますが、XPでは動作しません
簡単な要約は次のとおりです。Windows7(64ビット)では正常に動作するWCFクライアント(.NET 4.0)がありますが、XP(32ビット)では失敗します。XPのお客様が多いので、これは大きな問題です。
- クライアントは、サービスプロバイダーから提供されたwsdlファイルから生成されます。
- サービスはSSLを介したSOAP1.2であり、MTOMを使用します
- クライアント証明書はスマートカード(ActivIdentity)にあります
コードは次のとおりです。
このバインディングは次のように作成されます。
ここで、NCTSMessageEncodingBindingは、オーバーライドされたMtomMessageEncodingBindingとほとんど同じではありませんIsContentTypeSupported(...)
。
したがって、このコードはWin7で機能し、スマートカードから「プライベートパーツ」を取得するためのPINを要求するダイアログが表示されます。XPでは、PINを入力するためのダイアログが発行されることはなく、代わりにエラーメッセージが表示されます。
"An error occurred while making the HTTP request to https://cistest.apis-it.hr:8446/g2bservis. This could be due to the fact that the server certificate is not configured properly with HTTP.SYS in the HTTPS case. This could also be caused by a mismatch of the security binding between the client and the server."
手がかりはありますか?XPとWin7のサポートインフラストラクチャの違いは何ですか?
少し更新:動作中のトレースログと動作していないトレースログが異なる太線に注意してください。何らかの理由で、Windows 7マシンでは、最初のメッセージのメッセージにサービス名(cistest.apis-it.hr)が含まれていますが、XPではこの情報がありません。このメッセージの後、XPのソケットは閉じられます...
jaxb - Camel Spring-WS および JAXB データ形式を使用した MTOM メッセージのアンマーシャリング
1) Camel Spring-WS コンポーネントを使用して MTOM メッセージを非整列化する方法はありますか?
2) Camel JAXB データ形式で試しました。うまくいきませんでした。データハンドラーにはコンテンツがありません。JAXB データ形式は MTOM をサポートしていますか?
3) JAXB データ形式では MTOM が有効になっていないと思いました。そこで、MTOM 対応の JAXB2Marshaller を使用してカスタム データ形式を作成しました。しかし、まだ同じ問題に直面しています。
春の構成