有很多关于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
。
我不确定我的选择是什么。有用的想法吗?
谢谢, 保罗