gpt4 book ai didi

java - CXF 端点上的日期类型返回 null 的问题

转载 作者:行者123 更新时间:2023-12-01 16:04:18 25 4
gpt4 key购买 nike

我使用 spring 配置了一个简单的 CXF 端点,它公开了一个带有 java.util.Date 属性的简单对象。一旦使用 .NET 客户端远程调用,日期属性始终为 null。

端点:

<jaxws:endpoint id="simpleService" implementor="cxf.base.SimpleServiceImpl" address="/SimpleService" />

.NET 调用:

    SimpleServiceClient client = new SimpleServiceClient();
simpleObject simpleObject = new simpleObject();
simpleObject.date = new DateTime(2010, 1, 1);
simpleObject.name = "Simple Object";

txtResult.Text = client.toString(simpleObject);

其中 toString 是公开的 Web 服务方法。

知道我在这里缺少什么吗?

最佳答案

我猜是在服务器端的编码阶段存在该错误。如果您不确定,请在服务器端进行一些日志记录。此外,tcp/ip 监视器可以显示传输的 SOAP 元素。例如,Eclipse 具有出色的 tcp/ip 监视器 View 。

如果这是一个编码错误,并且您使用 JAXB 进行编码,则必须将 java.util.Date 值转换为 javax.xml.datatype.XMLGregorianCalendar 值.

这可以通过 javax.xml.datatype.DatatypeFactory 类来完成。

请务必使用与您的日期元素匹配的重载 newXMLGregorianCalendar() 方法。

包含有关不同日期和时间 XSD 元素的详细信息的页面: http://www.w3schools.com/Schema/schema_dtypes_date.asp

关于java - CXF 端点上的日期类型返回 null 的问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2961381/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com