2016-10-07 1 views
0

我々のWARを/ WEB-INF/servicesにaxis2 webservicesでパックします。Axis 1.6.2/Rampart 1.6.2からAxis 1.7.2/Rampart 1.7.0にアップグレードするときに、パスワードハンドラが呼び出されない

Axis 1.5.1を使用して開発され、数年前にAxis 1.6.2/Rampart 1.6.2にアップグレードされました。 Axis 1.7.2/rampart 1.7.0にアップグレードする必要があります。

ウェブサービスにusernameSecurityを追加しました。サンプルのwebservicesクライアントアプリケーションもパッケージ化しています。物事はうまくいっていた。しかし、Axis 1.7.2/Rampart 1.7.0にアップグレードすると、PasswordCallBackHandler.handleメソッドは呼び出されません。そのような私たちのwebservicesクライアントが壊れます。これは、リクエストSOAPにusername/pwdを追加するためのパスワードコールバックclient.axis2.xmlを追加する方法です。

<axisconfig name="AxisJava2.0"> 
    <module ref="rampart"/> 
    <parameter name="OutflowSecurity"> 
    <action> 
    <items>UsernameToken</items> 
    <user>system</user> 

    <passwordCallbackClass>com.web.ws.connector.CSPWCBHandler</passwordCallbackClass> 
    <passwordType>PasswordText</passwordType> 
    </action> 

私services.xmlのは、次のようになります。

<service name="labware_weblims_listFunctions" targetNamespace="http://www.labware.com/webservice"> 
    <description>Service description for labware_weblims_listFunctions</description> 
    <schema schemaNamespace="http://www.labware.com/webservice"/> 
    <parameter name="ServiceClass">com.web.ws.service.ListService</parameter> 
    <parameter name="disasbleREST">true</parameter> 
    <operation name="listMethods"> 
    <messageReceiver class="org.apache.axis2.rpc.receivers.RPCMessageReceiver"/> 
    </operation> 
    <module ref="soapmonitor"/> 
    <module ref="rampart"/> 
    <parameter name="InflowSecurity"> 
    <action> 
    <items>UsernameToken</items> 
    <passwordCallbackClass>com.web.ws.control.PWCBHandler</passwordCallbackClass> 
    </action> 
    </parameter> 
</service> 

は私が1.7.2のものが壊れ軸にアップグレードする場合。 PasswordCallBackHandlersは呼び出されません。

Services.xml dtdを検索しましたが見つかりませんでした。私はRampartConfigとしてCallBackHandlersを追加する必要があると思います。問題を解決するための他の方法はありますか?どんな助けもありがとう。

答えて

0

私はこの問題を解決できました。私の質問に記載されているservices.xmlとclient.axis2.xmlのPasswordCallBackHandlerエントリはApache Rampart 1.0スタイルの設定でした。彼らはAxis 1.5.1とAxis 1.6.2ライブラリを扱っていました。 Rampart 1.0構成のサポートは、Axis2 1.7.0で廃止されました。働いていた標準的な方法は、ポリシーファイルを作成し、RampartConfigとしてPasswordCallBackHandlerを追加しました次のリンク

https://axis.apache.org/axis2/java/rampart/release-notes/1.7.0.html

を参照してください。もし誰かがそれを必要とするならば、私は喜んで助けてくれるでしょう。

+0

こんにちは@Vishwanath私はwso2でws-trustを使って作業する際の問題に直面しています。http://stackoverflow.com/questions/43471342/axisfault-missing-wssesecurity-header-in-request –

関連する問題