JAX-WS返回空列表

我是网络服务的新手。 我遇到了一些问题。 在服务器端我使用spring-ws。 在客户端我使用jax-ws。 使用wsimport工具,我根据我的wsdl生成了java类。

一切正常,但由于某种原因,jax-ws不解析数组并正确列出,所有列表都是空的

我完全确定,响应是正确的forms,用soapui测试它,我也使用日志拦截器来记录outcomming响应。

以下是回复的片段

回应看起来像

    hello world text hello world text hello world text    

和wsdl的片段

      

要生成客户端代码,请使用wsimport。

 SayHelloResponseType resp = serv.sayHello(r); List name = resp.getName(); System.out.println(name.size()); 

谢谢。 任何帮助将受到高度赞赏。

似乎它只是一个无效的响应体,不是数学wsdl shema。 两个spring都没有jax-ws抛出exception。 它只是将无效数据解析为空列表而没有任何更改。

org.springframework.ws.soap.server.endpoint.interceptor.PayloadValidatingInterceptor节省了我的一天

可能我必须调整jax-ws的日志记录以避免下次

我刚回答了一个类似的问题:当在操作标记内定义命名空间时 , 如何处理Castor解组SOAP消息? – 如果您使用的是Spring-WS,那么您正在编写契约优先的Web服务,因此请确保您真正确定了该合同。 将所有元素放在命名空间中,确保XSD架构要求元素合格,并在Castor映射中声明ns-uri和ns前缀。 值得付出努力。