4

私は SOAP 初心者で、初めて Axis2 (v 1.6.2) Web サービスを構築しています。同僚から小さなテスト サービスをコピーしましたが、https ではなく http を使用すると実行されます。私の同僚はこの問題を抱えていません。

表示されるエラーは「javax.servlet.ServletException: https は禁止されています」です。私の Axis2.xml ファイルには、次のものが含まれています。

<transportReceiver name="http"  class="org.apache.axis2.transport.http.AxisServletListener">
    <parameter name="port">8080</parameter>
</transportReceiver>

<transportReceiver name="https" class="org.apache.axis2.transport.http.AxisServletListener">
    <parameter name="port">8443</parameter>
</transportReceiver>

localhost、JRE 6.1、および Tomcat 7.0.25 をテストしています。私の同僚 (https を使用できる) は Websphere 6 と Axis2 v.1.6.0 を使用しているため、これは appserver または Axis2 のバージョンの問題である可能性があります。Maven は使用しません。

Tomcat のポートは http:8080、https:8443、および AJP:8009 です。

この https エラーを解決するための助けをいただければ幸いです。

更新: まだ解決策はありませんが、以下と類似または同じようです: https://stackoverflow.com/questions/13808029/http-is-forbidden-exception-while-accessing-the-axis-2-webservice

4

2 に答える 2

1

原因を発見しました。AxisServletサーブレットのweb.xmlファイルに次のエントリがあります。私の同僚もエントリーを持っていましたが、彼女はコメントアウトされました。このエントリにより、サーバーの起動時に「ファイルが見つかりません」というエラーが発生しました。これをコメントアウトすると、問題が解決しました。

    <init-param>
        <param-name>axis2.xml.path</param-name>
        <param-value>/WEB-INF/conf/axis2.xml</param-value>
    </init-param>

linuxlewis、ご回答ありがとうございます!

于 2012-12-13T19:40:18.447 に答える
0

考えられる問題は 2 つ考えられます。

  1. Web サービスの前にある IIS/Apache サーバーが何らかのドメイン制限を使用している可能性があります。mod_authz_host を使用すると、ドメインに基づいて特定の http パターンへのアクセスを制限できます

  2. Java を使用してサーバーから Web サービスにアクセスしている場合は、Web サービスに関連付けられた証明書を JDK セキュリティ cacerts ファイルにインストールする必要がある場合があります。同僚が websphere で作業している場合、証明書を既にインストールしている可能性があります

于 2012-12-13T17:50:04.103 に答える