在我的项目中,我使用Spring Web Services(2.0.4.RELEASE)创建了一个Web服务客户端。
webServiceTemplate在我的spring config中定义:
<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>
当我调用服务(wsClient.marshalSendAndReceive(...)
)并且它返回SOAP错误时,webservice客户端无法识别它。
它试图对其进行编组并抛出ValidationException。
我查看了Spring Web Service源代码。在WebServiceTemplate类中存在方法protected boolean hasFault(WebServiceConnection connection, WebServiceMessage response)
。但是这个方法总是返回false。
我已经检查了这个问题:Java Spring Web Service Client Fault Handling
服务使用HTTP状态代码500发送响应。这不是问题。
有人知道如何解决这个问题吗?
谢谢!
编辑:该应用程序在Weblogic 10.3.5上运行
答案 0 :(得分:0)
问题不在于Spring Web Services。我们的webservice返回了无效的响应。 : - /
我从这个问题中学到了什么: