問題タブ [soaphttpclientprotocol]

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.

0 投票する
1 に答える
1856 参照

c# - SoapHttpClientProtocol が予期しないコンテンツ タイプを受け取る

-URLwsdl.exeからC# プロキシ クラスを作成しました。WSDL私が制御していない Web アプリのコンテキストでこのプロキシ クラスを使用しています (そのため、aweb.confまたは類似のものを変更する方法はありません)。また、話している Web サービスを変更することもできません。

Web サービスを呼び出すと、次の例外が発生します。

私が読んだことによると、これはWeb サービスで使用されているMTOMの問題です。今、クラスに MTOM を受け入れるように指示しようとしていますが、見つかったのはweb.conf.

プロキシ クラスは次から派生しSoapHttpClientProtocol、次のようになります (関連部分)。

try ... catchingetDocumentsは、例外から「実際の」サービス応答を取得するハックな回避策です。Messageこれは、私がこれを実装したい方法ではありません。

だから私の質問は:MTOM応答を受け入れるようにプロキシ クラスのバインディングを変更する方法はありますか?

0 投票する
1 に答える
377 参照

c# - .NET CF 3.5 を使用して WM 6.5 でメッセージを正常に送信したにもかかわらず、SoapHttpClientProtocol が ConnectFailure をスローする

これが節のあるものです。

これは、自動生成された SOAP プロキシ (System.Net.SoapHttpClientProtocol (C#) のサブクラス) を介した単純な自動生成 Web サービス呼び出しを使用して、.net Compact Framework 3.5.9085.00 を実行している Windows Mobile 6.5 デバイスです。

doInvoke() を呼び出すと、ネットワークに接続していないことを示す System.Net.WebException がすぐにスローされます。通常、これは何らかの Web プロキシまたは接続エラーを示しますが、単純なログ サーバーを Web サービス アドレスに貼り付けると、POST がはっきりと受信されていることがわかり、明らかにネットワークに接続できます。

同じコードは、同じモデルの別のデバイスでも問題なく動作します。単純なログ サーバーを使用すると、他のデバイスへの同一の POST を確認できますが、これは最終的に System.Net.WebException: The operation has timed-out をスローします (取得しないため、そうなります)。応答)。

私は困惑しています。問題を引き起こしている 2 つの設定の違いは間違いありませんが、何が原因かわかりません。

最初のデバイスがサーバーへの書き込み専用接続をセットアップし、応答を読み取ろうとすると失敗するようですが、そのような状況は聞いたことがありません。

誰かこれに光を当てますか?

0 投票する
0 に答える
37 参照

asp.net - SoapRequest を動的に編集する「SoapHttpRouter」

ASP.NET アプリケーションの開発に行き詰まっています。問題は、SoapHttpRouter クラスとメソッドを使用していることです。

protected override Uri ProcessRequestMessage(SoapEnvelope message)

overriden.BUT されていますが、送信先に送信される前に SoapEnvelope 変数を編集したいのですが、すべてのリクエストでヘッダーや本文を編集するようなものです。元の SoapEnvelope が受信された後、SQL でいくつかの情報を照会した後にのみ、新しい値を知っています。おそらく別のタイプのルーターまたは別の回避策を使用して、それを行う方法があるかどうかを知りたいです。

前もってありがとう、あなたは素晴らしいです。