2012-03-14 2 views
0

내 프로젝트에서 스프링 웹 서비스 (2.0.4.RELEASE)로 웹 서비스 클라이언트를 만들었다.스프링 웹 서비스 클라이언트 : SOAP 결함을 처리 할 수 ​​없다

webServiceTemplate은 내 스프링 설정에 정의되어 있습니다 : 나는 서비스 (wsClient.marshalSendAndReceive(...))를 호출하고 반환하면

<bean id="marshaller" class="org.springframework.oxm.jaxb.Jaxb2Marshaller"> 
<bean id="wsClient" class="org.springframework.ws.client.core.WebServiceTemplate"> 
    <property name="marshaller" ref="marshaller" /> 
    <property name="unmarshaller" ref="marshaller" /> 
</bean> 

는 SOAP은 웹 서비스 클라이언트가 그것을 인식하지 못하는 결함. 마샬링을 시도하면 ValidationException이 발생합니다.

스프링 웹 서비스 소스 코드를 살펴 보았습니다. WebServiceTemplate 클래스에는 메서드 protected boolean hasFault(WebServiceConnection connection, WebServiceMessage response)이 있습니다. 그러나이 메서드는 항상 false를 반환합니다. Java Spring Web Service Client Fault Handling

서비스는 그래서는 문제가되지 않습니다 HTTP 상태 코드 (500)로 응답을 보냅니다 :

는 이미이 문제를 확인했습니다.

아무도이 문제를 해결하는 방법을 알고 있습니까?

감사합니다.

편집 : 응용 프로그램이 웹 서비스를 봄하지 않은 웹 로직 10.3.5

+0

이상한 현상입니다. 내가 hasFault 메서드를 디버깅하고 무슨 일인지보고. – jddsantaella

답변

0

문제에서 실행됩니다. 그것은 우리의 웹 서비스가 잘못된 응답을 반환했습니다. : -/나는이 문제에서 배운 내용

: 귀하의 요청과 응답이 스키마에 따라 유효한지 http://www.soapui.org/SOAP-Recording/recording-soap-trafic.html

  • 항상 먼저 확인 :

    • soapUI는 SOAP 트래픽을 기록하는 큰 HTTP 모니터가 있습니다. (이 작업은 soapUI HTTP 모니터에서 한 번의 클릭으로 수행 할 수 있습니다.)
  • 관련 문제