私は何週間も私を悩ませてきた問題を抱えています。Tomcatサーバーで実行されているJavaWebアプリケーションがあります。私はhttpフロントエンドとしてApacheを使用しており、リクエストはajp経由でtomcatにルーティングされます。WindowsServer2008はオペレーティングシステムです。
私のアプリケーションはSharepointインストールと緊密に接続されており、通信はSOAPを介して行われます。AXIS2ライブラリを使用して適切なスタブを生成しました。
他のインストールでは、この通信は完全に機能します。ただし、新しいサーバーでは、Webサービスを介して呼び出すとエラーが発生します。
ViaPostをurl[http://sharepoint.example.com/_layouts/services.asmx]に送信できませんorg.apache.axis2.AxisFault:トランスポートエラー:404エラー:見つかりません
エンドポイント(http://sharepoint.example.com/_layouts/services.asmx)が正しいと確信しています。これは、マシンのリモートデスクトップを介してWSDL定義ログを取得し、http://sharepoint.exampleに接続できるためです。 .com / _layouts / services.asmx?WSDLとInternetExplorer。また、SOAPUIを試したので、サービスを正しく呼び出すことができると確信しています。
長い分析の結果、正しいエンドポイントを使用するすべてのAXISリクエストが、実際にはループバック127.0.0.1アドレスにルーティングされていることがわかりました。パケットスニッフィングを行ったところ、これがわかりました。また、Apacheログを確認したところ、/ _ layouts/services.asmxがnotfoundエラーを生成していることがわかりました。
方法はわかりませんが、どういうわけか、soap呼び出しを呼び出すと、エンドポイントが正しく設定されているにもかかわらず、適切なサーバー(sharepoint.example.com)ではなく127.0.0.1で接続が開かれます。
この問題を解決する方法について何かアイデアがあれば、私に知らせてください!