WebLogic 10.3.5에서 Spring WS2 및 JDOM2 웹 서비스 - 요청 요소 텍스트가 바인딩되지 않습니다.

StackOverflow https://stackoverflow.com//questions/12672343

문제

봄 WS 2 웹 서비스 (jdom2 요소를 매개 변수로 사용)를 배포 한 후 WebLogic 10.3.5 서버, 루트 요소의 하위 요소 - WICH는 주요 매개 변수입니다. 내 끝점 기능의 - 텍스트 콘텐츠를 포함하지 마십시오.

예 :

XML 요청 (전송됨)

<root foo="bar">
  <doo>dat</doo>
</root>
.

jdom2 요소 구조 요청 (기능에 제시된 것처럼)

<root foo="bar">
  <doo/>
</root>
.

이것은 Junit과 GlassFish Server에서 잘 작동합니다. WebLogic에 대한 특별한 구성은 아직 없습니다.

일부 WebLogic 라이브러리가 JDOM2 구현을 무시할 수 있음을 의심합니다. 그러나 Simililar 경험이 있다면 몇 가지 입력에 정말로 감사드립니다.

업데이트

jdom2 구현에 디버깅하는 동안, 텍스트는 DOMBuilder를 "weblogic.xml.saaj.textimpl"으로 입력합니다. JDOM은 텍스트를 추출 할 수 없습니다.

어쩌면 누군가에게 WebLogic 라이브러리를 예방하는 방법을 힌트가있는 것일 수도 있습니다. 응용 프로그램을 엉망으로 만들 때 ...?

(코멘트에도 감사 드리며)

도움이 되었습니까?

해결책

SAAJ 메시지 공장을 Sun 구현으로 설정하여 문제를 해결했습니다.

maven 의존성을 사용하여

<dependency>
  <groupId>com.sun.xml.messaging.saaj</groupId>
  <artifactId>saaj-impl</artifactId>
  <version>1.3.3</version><!-- or higher -->
</dependency>
.

스프링 구성에 추가 :

<bean id="messageFactory" class="org.springframework.ws.soap.saaj.SaajSoapMessageFactory">
  <property name="messageFactory">
    <bean class="com.sun.xml.messaging.saaj.soap.ver1_1.SOAPMessageFactory1_1_Impl"/>
  </property>
</bean>
.

라이센스 : CC-BY-SA ~와 함께 속성
제휴하지 않습니다 StackOverflow
scroll top