현재 내 응용 프로그램에 Tomcat 서버를 사용하고 있으며, pom.xml의 아래 코드는 SOAP 1.2 버전 용 SAAJ 버전 1.3을 제공합니다. 그러나 서버를 websphere로 마이그레이션 할 때 아래와 같은 오류가 발생합니다. 바람둥이에서Websphere 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초 정보 SaajSoapMessageFactory : 135 - SOAP 1.2 프로토콜과 만들기 SAAJ 1.3의 MessageFactory 2013년 10월 11일 11시 12분 51초 DEBUG SaajSoapMessageFactory : 163 - MessageFactory의 클래스 [com.sun.xml.internal.messaging.saaj.soap.ver1_2.SOAPMessageFactory1_2Impl] 스피어에서
오류 사용 : PropertyAccessException 1 : 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
예. WAS 6.x는 매우 오래되었고 인생이 끝났습니다. 사실, WAS 7이 내년에 끝나면 나에게 놀라지 않을 것입니다. 큰 버전 점프를 고려하여 최대 8.x까지 얻을 수 있습니다. –
예 ibm docs 6.1은 매우 오래된 것입니다. [링크] (http://www-01.ibm.com/support/docview.wss?uid=swg27005002) – Suresh
배포 할 때 동일한 오류가 나타납니다. IBM java 7로 WAS 8.5.5 로의 애플리케이션. IBM Java 6로 전환하면 어떤 제안 사항이든 잘 동작한다. –