1

それが私の最初の質問です。長い間調査した結果、助けを求めることにしました...

最初に、私のシナリオを説明します。ここにはいくつかの SOAP Web サービスがあります。それらは .Net Web サイトによって消費されます。使用される .Net フレームワークはバージョン 4.0 です。

したがって、.Net の制限により、私の Web サービスは HTTP/1.0 プロトコルを受け入れるように構成されています。それにもかかわらず、サービスに直接 Jboss AS (4.2.2 GA) にアクセスすると、すべて正常に動作します。

ただし、Apache Web サーバーをリクエストの受信側として動作させる必要があります。Apache は私のサービスに対して逆プロキシ リダイレクトを行うため、サイトはポート 8080 (Apache がリッスンしている) にリクエストを送信し、ポート 18080 でリクエストを予期している jboss に送信します。

多くのテストで、ほぼすべてのサービスがほぼ正常に動作することを確認しましたが、場合によっては同じ障害が発生することもあります。しかし、特に 1 つはとにかく動作しません。リクエストは Apache でステータス 400 と空の値 (400 の後の -) で停止しました。

POST /xxxx/xxxx/xxxxx/MyService HTTP/1.1" 400 - "-" "Mozilla/4.0 (互換性あり; MSIE 6.0; MS Web サービス クライアント プロトコル 4.0.30319.296)

処理される他のリクエストには、この値が入力されています。私は応答サイズだと思います。

よろしくお願いします。ありがとう

4

1 に答える 1

1

私の会社で多大な努力を払った結果、Sniffer (Wireshark) を使用して、この問題で説明されている状況を引き起こす 2 つの問題があることを発見しました。

最初の問題の解決: .Net プラットフォームは、デフォルトで空の要求を送信するように構成されています。最初の試行が失敗したため、.Net は認証付きの 2 番目の要求を自動的に送信する必要がありました。したがって、Jboss 応答が http 400 エラーを形成する前に、2 つの要求を見つけました。

解決された2 番目の問題: 反対側が .Net を適切に構成するという以前の問題を解決した後、再度テストした結果、Apache Http サーバーにヒットするリクエストがこれ以上ないという決定的な結果が得られました。- つまり、この特定のサービスを何かがブロックしているという強いシグナルがありました。私が岩を手にしたことで、インフラ担当者はお尻を動かし始め、何とか問題を解決しました。最終的に私のフラストレーションは、修正の可能性について何も言わなかったことです。それで、「突然」通信が回復しました..

ということで、やっぱり出来ました!しかし、敗北の苦味を伴います。この問題で私をサポートしてくれたすべての人に感謝します。[] 秒

于 2013-11-27T19:48:32.653 に答える