2013-10-11 77 views
1

我目前對我的應用程序使用Tomcat服務器,下面的代碼在pom.xml中給出了soap 1.2協議的SAAJ版本1.3。但是當我們將服務器遷移到websphere時,我得到如下錯誤。從TomcatWebsphere SAAJ版本問題

<bean id="messageFactory" class="org.springframework.ws.soap.saaj.SaajSoapMessageFactory"> 
    <property name="soapVersion"> 
     <util:constant static-field="org.springframework.ws.soap.SoapVersion.SOAP_12"/> 
    </property> 
</bean> 

控制檯: 2013年10月11日11時12分51秒INFO SaajSoapMessageFactory:135 - 創建SAAJ 1.3的MessageFactory與SOAP 1.2協議 2013年10月11日11時12分51秒DEBUG SaajSoapMessageFactory:163 - 使用的MessageFactory類[com.sun.xml.internal.messaging.saaj.soap.ver1_2.SOAPMessageFactory1_2Impl]

錯誤在WebSphere: 1的PropertyAccessException:org.springframework.beans.MethodInvocationExce ption:屬性'soapVersion'拋出異常;嵌套的異常是java.lang.IllegalArgumentException:SAAJ 1.1和1.2僅支持SOAP 1.1

我已經走過由maven(SaajSoapMessageFactory)生成的jar文件,並且從該類拋出錯誤。

try { 
      if (SaajUtils.getSaajVersion() >= SaajUtils.SAAJ_13) { 
       if (!StringUtils.hasLength(messageFactoryProtocol)) { 
        messageFactoryProtocol = SOAPConstants.SOAP_1_1_PROTOCOL; 
       } 
       if (logger.isInfoEnabled()) { 
        logger.info("Creating SAAJ 1.3 MessageFactory with " + messageFactoryProtocol); 
       } 
       messageFactory = MessageFactory.newInstance(messageFactoryProtocol); 
      } 
      else if (SaajUtils.getSaajVersion() == SaajUtils.SAAJ_12) { 
       logger.info("Creating SAAJ 1.2 MessageFactory"); 
       messageFactory = MessageFactory.newInstance(); 
      } 
      else if (SaajUtils.getSaajVersion() == SaajUtils.SAAJ_11) { 
       logger.info("Creating SAAJ 1.1 MessageFactory"); 
       messageFactory = MessageFactory.newInstance(); 
      } 
      **else { 
       **throw new IllegalStateException(
         "SaajSoapMessageFactory requires SAAJ 1.1, which was not found on the classpath");** 
      }** 
     } 

請指教爲什麼tomcat工作正常,websphere沒有得到正確的SAAJ版本。此外,我們使用的是WebSphere 6.1.23

回答

0

我只注意到在Tomcat中我們所建立的應用程序正在使用JDK1.6,但在WebSphere 6.1僅支持JDK1.5。

我們必須爲websphere7。 6.x不支持jdk1.6

+0

是的。 WAS 6.x是非常古老的,過去的結束。事實上,如果WAS 7明年年底即將到來,我不會感到驚訝。你可能想考慮一個大版本的跳轉,並一直到8.x. –

+0

是的,我打算通過IBM文檔6.1是非常OLD- [鏈接](http://www-01.ibm.com/support/docview.wss?uid=swg27005002) – Suresh

+0

我收到了同樣的錯誤,當我部署使用IBM Java 7將應用程序應用於WAS 8.5.5。當我切換到IBM Java 6時,它可以正常工作 –