2012-07-26 73 views
0

我用騾子工作室3.2.1開發騾子應用。在該應用程序我已經使用org.springframework.ws.client.core.WebServiceTemplate發送web服務請求到另一個應用程序。 我已經使用以下配置騾子ESB - 確實的lib覆蓋任何應用程序庫

<bean id="myWsTemplate" clsass="org.springframework.ws.client.core.WebServiceTemplate"> 
    <constructor-arg ref="messageFactory" /> 
    <property name="defaultUri" value="${my.soap.endpoint}" /> 
    <property name="interceptors"> 
     <list> 
      <ref bean="acqSecurityInterceptor" /> 
     </list> 
    </property> 

<bean id="acqSecurityInterceptor" class="org.springframework.ws.soap.security.wss4j.Wss4jSecurityInterceptor"> 
    <property name="validationActions" value="NoSecurity"/> 
    <property name="securementActions" value="NoSecurity" /> 
</bean> 

我已經使用的

<dependency> 
     <groupId>org.springframework.ws</groupId> 
     <artifactId>spring-ws-security</artifactId> 
     <version>2.1.0.RELEASE</version> 
    </dependency> 

Maven的依賴性這使用WSS4J-1.6.5.jar作爲依賴。 現在,當我部署騾子應用3.2.0它引發以下錯誤

PropertyAccessException 1: org.springframework.beans.MethodInvocationException: Property 'validationActions' threw exception; nested exception is java.lang.NoSuchMethodError: org.apache.ws.security.util.WSSecurityUtil.decodeAction(Ljava/lang/String;Ljava/util/List;)I 
    PropertyAccessException 2: org.springframework.beans.MethodInvocationException: Property 'securementActions' threw exception; nested exception is java.lang.NoSuchMethodError: org.apache.ws.security.util.WSSecurityUtil.decodeAction(Ljava/lang/String;Ljava/util/List;)I 

現在騾子3.2.0的lib/opt目錄自帶WSS4J-1.5.8-osgi.jar爲其在上WSSecurityutil方法簽名是公共靜態INT decodeAction(字符串動作,矢量動作) 而已經嘗試所述一個是 decodeAction(Ljava /郎/字符串; Ljava/util的/列表),其存在於wss4j.1.6.5

我的問題是,即使我的應用程序有WSS4J-1.6.5.jar在它爲什麼是類加載器仍試圖使用一個在騾子/ lib目錄/ opt中。應用程序中的應用程序是否不會優先考慮? 如果不是有沒有辦法得到它的工作方式

回答