使用斜杠返回日期的Web服务会导致Java Axis2客户端失败

时间:2012-12-14 15:45:23

标签: java axis2 adb

有很多关于Axis2日期格式问题的讨论,但我找不到关于这个特定问题的任何内容。

我有一个合作伙伴的WSDL,我在其上运行了Axis2的wsdl2java工具来创建Java代码。我没有指定-d选项,所以我相信数据绑定将是默认的 - ADB。

我在服务上调用一个方法,它返回包含这种格式的日期的XML:

<ns1:thedate>2012/12/10 07:45:08.000 -0800</ns1:thedate>

并收到以下错误:

Caused by: java.lang.RuntimeException: invalid date format (2012/12/10 07:45:08.000 -0800) with out - s at correct place 
at org.apache.axis2.databinding.utils.ConverterUtil.convertToDateTime(ConverterUtil.java:896)

斜线是问题所在。创建自己的转换器类不是一个选项,因为org.apache.axis2.databinding.utils.ConverterUtil的方法是静态的,因此无法覆盖。当然我可以将adb.converterutil系统属性设置为我的类,但ConverterUtil不会在convertToDateTime方法中检查isCustomClassPresent

我不确定我的选择是什么。有用的想法吗?

谢谢, 保罗

0 个答案:

没有答案