問題タブ [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# - DotNetアプリケーションからAXIS2WebサービスへのMTOMリクエストの送信
MTOMリクエスト(Documentumの場所にチェックインするファイルがある)をAXIS2Webサービスに送信する必要があります。
このサービスは、64ビットエンコーディングとMTOMの2種類の転送モードを識別しました。MTOMモードを使用し、Web.Config(WSE 3.0)に変更を加えてMTOM要求のみを送信する場合でも、Base64はネットワークを介して渡されます。
リクエストがMTOMであることを確認するにはどうすればよいですか?ファイルをバイト配列として共有する必要があります。ドキュメントをチェックインするメソッドは、それがバイト配列であることを想定しています。
wcf - 2つの「並列」プロキシを使用したSystem.ServiceModel.ProtocolException
私のWebサービスは完全に機能しています。私が何をしたかを判断するのは困難で、その結果、時々クラッシュしました。HTTP基本認証を追加し、ObjectDBからMySQLにデータベースプロバイダーを交換したため、パフォーマンスが低下しましたが、これは無関係のようです。
MTOMストリーミングが有効になっているGlassFishv3.1でSSL保護されたJavaMetroWebサービスをホストしています。私はそれらをWCFクライアントで呼び出しています。同じパラメータで同じサービスを呼び出した場合でも、例外がランダムに発生することがあります。
UPDATE呼び出しが成功したように動作する場合があります。その後、呼び出しているサービスに関係なく、があったとしてもhelloWorld
、例外が発生します。プロキシの1つだけを呼び出す場合、呼び出しは問題なく行われますが、たとえば、に電話をかけてからに電話をかけると、例外が発生しdataMiningClient
ますdataStoreClient
。スレッドセーフ?
見る:
サーバー側にエラーメッセージはありません。
これは私が受け取る例外メッセージです:
System.ServiceModel.ProtocolException:コンテンツタイプmultipart / related; start = ""; type = "application / xop + xml"; boundary = "uuid:d64b0098-0dcb-4da4-a047-d305b55da9f5"; start-info = "text応答メッセージの/xml"がバインディングのコンテンツタイプ(text / xml; charset = utf-8)と一致しません。カスタムエンコーダーを使用する場合は、IsContentTypeSupportedメソッドが正しく実装されていることを確認してください。応答の最初の1024バイトは次のとおりです。'--uuid:d64b0098-0dcb-4da4-a047-d305b55da9f5 Content-Id:Content-Type:application / xop + xml; charset = utf-8; type = "text / xml"コンテンツ転送エンコーディング:バイナリ
クライアントコード:
ここで問題になる可能性のあるヒントはありますか?この質問をさらに詳しく説明する必要があるかどうかを教えてください。WCFメッセージログを掘り下げることがあります。
wcf - MessageContract を使用した WCF MTOM メッセージ エンコーディング
要件は、WCF サービスを使用して大きなファイル (~2GB) をアップロードできるようにすることであり、次のように messageContract クラスを作成しました。
そして、これがサービス側の私のWeb構成です
クライアント側でも同じバインディング構成が使用されています。これは、過去 4 時間に発生した例外です。私は問題を理解できませんでした..
例外内容
multipart/related と入力します。type="application/xop+xml";start=" http://tempuri.org/0 ";boundary="uuid:382b5a40-f4f2-4399-9e63-b3f9e81227a5+id=2";start-info="アプリケーション/soap+xml" はサービスhttp://localhost:909/Service1.svcでサポートされていませんでした。クライアントとサービスのバインディングが一致していない可能性があります。
c# - SQL からデータをロードして Binary に変換する推奨方法
SQL Server 2008 データベースにデータがあり、それをロードして、MTOM エンコーディングに基づく WCF Web サービス経由で送信する必要があります。
質問 1:
(または SQL Server からロードするもの) をバイナリ形式
に準備して圧縮する必要があるのだろうか、DataTable
それとも MTOM であるという理由だけでプロセスが自動的に圧縮を行うのでしょうか?
質問 2:
WCF 用にデータを読み込んで準備する最良の方法は何ですか? Linq-to-SQL、EF4 ...、またはその他の提案された方法を使用してデータをロードできます。
私はC#を使用しています
ありがとう。
php - PHP での SOAP MTOM/XOP サポート
をサポートできる Web サービスを PHP で作成したいと考えていますMTOM/XOP
。私の Web サービス処理関数は、添付ファイルを抽出できるようにする必要があります。私がグーグルで検索したとき、私はWSF(Web Service Framework)
答えとしてしか見つけることができませんでした。
代替手段はありますか?私はこの MTOM/XOP のことは初めてです。現在使用しNuSoap
ていますが、MTOM/XOP をサポートしていません。
.net - SOAP リクエストへの添付ファイルの追加
SOAP リクエストに添付ファイルを追加する方法について、私は迷っています。Java で構築されたサード パーティの Web サービスを使用する必要がありますが、これは私が今まで遭遇した中で最も複雑なものです。添付ファイルを必要とする他の Web サービスには、添付ファイルを追加するためのメソッドまたはプロパティがあります。単純。ただし、これはそのような方法を提供しません。
必要な XML とまったく同じバージョンの SOAP メッセージを一緒に取得しましたが、追加できないのはファイルの MIME 部分です。
例:
これは、生成して送信できる XML 部分ですが、次のような MIME 部分が必要なため、正しくありません。
XML の前:
XMLの後
インターネットで答えを探しましたが、空白になりました。この目的での WSE の使用に関するドキュメントはあまりないようです。WSE はサーバー側の要件であることを強調しなければなりません。この問題に対処するためにテクノロジを変更する方法はありません。
これらの MIME セクションを追加する方法はありますか?
編集: SoapUI を介して添付ファイル付きで送信された動作中の XML ドキュメントを取得できることを追加する必要がありますが、コード内で方法を見つけることができないようです。
この問題を解決するための報奨金を追加しました。他のアイデアがある場合は、お知らせください。
もう一度編集: ここで回答を確認できてから 1 週間が経ちましたが、どこを見ればよいかについて良い考えを示している人もいますが、まだ空白を描いています。ひどいドキュメンテーションXopDocument
とそのメソッドは大きな問題です。誰かが使用例を持っている場合は、SaveToXopPackage
提供してください。
encoding - サーバーからの応答メッセージのメッセージ エンコーディングに基づいて、WCF クライアントで受信メッセージのメッセージ エンコーディングを指定するにはどうすればよいですか?
サーバーからの応答メッセージのメッセージ エンコーディングに基づいて、WCF クライアントで受信メッセージのメッセージ エンコーディングを指定するにはどうすればよいですか?
サーバーは、テキスト メッセージ エンコーディングまたは MTOM で応答を送信できますか?
サーバーから応答を受信した後、どのように決定し、それに応じてクライアントでメッセージエンコーディングをどのように指定できますか。
java - MTOMの@StreamingAttachment(Metro)でのparseEagerlyの意味
誰かがの振る舞いを説明してください@StreamingAttachment(parseEagerly=true)
。有効/無効の場合の長所/短所は何ですか?詳細なドキュメントが見つかりませんでした。
.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# - MTOMが有効になり、「最大要求長を超えました」を取得します。まだ
これはイライラします...私はWebサービスに半ば慣れていませんが、MicrosoftWSE3.0を使用してWebサービスでSOAPのMTOMエンコーディングを有効にする方法がわからない理由をよく理解していません。Webサービスに以下を追加しました。
サーバー上のライブラリにあるWeb.configとapp.config:
クライアント側では、同じものをapp.configに追加し、did clientMode="On"を追加しました。
40MBのファイルをアップロードしようとすると、「最大リクエスト長を超えました」というよくあるエラーが表示されます。
説明はありますか?その構成を使用するようにトランスポートに指示する必要がありますか?それ、どうやったら出来るの?ありがとう!