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