java - Axis2 - 日期格式

标签 java xml xsd axis2

场景

Axis2 作为响应输出到 Web 服务客户端的日期格式被格式化为“2009-08-28+01:00”。我想将其更改为仅显示没有时区信息的日期(例如:“2009-08-28”)

配置

图书馆

Axis 2 1.4.1

WSDL

<xsd:element name="StartDate" type="xsd:date" />;

问题

  • 是否可以更改 Axis 2 用于写入日期信息的输出格式?
  • 您是否发现 .NET 客户端在重新转换此日期格式时遇到任何问题?

约束

遗憾的是,无法将“StartDate”元素更改为 xsd:stringxsd:token


问题细化

因为我正在使用定义为

xsd:date XML 数据类型
[-]CCYY-MM-DD[Z|(+|-)hh:mm]

如果我设置

Calendar cal = Calendar.getInstance();
cal.setTimeZone(TimeZone.getTimeZone("UTC");
...

然后输出看起来像这样

2009-01-28Z

您可以将“UTC”替换为“GMT”或“”。

我可以去掉“Z”吗?

最佳答案

我有同样的问题,可以从日期中删除时区!

您可以使用自己创建的 ConvertUtil。

首先,您必须使用自定义的转换方法创建类:

public class myConvertUtil extends org.apache.axis2.databinding.utils.ConverterUtil
    {
    public static String convertToString(Date value)
        {
        // return customized Date format
        }
    }

然后您必须将此类设置为 SYSTEM_PROPERTY_ADB_CONVERTERUTIL:

String convert_class = "com.firm.myConvertUtil";
System.setProperty(ConverterUtil.SYSTEM_PROPERTY_ADB_CONVERTERUTIL, convert_class);

关于java - Axis2 - 日期格式,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1346415/

相关文章:

java - 通过 java 2D ArrayList 字符串进行矩阵搜索以查找重复实例,广度优先?

java - Java 中的宾果纸牌游戏

python - 如何从 XML int Python 中获取一些值?

xml - 通过 XML 将重复事件添加到 Google 日历

java - Apache XmlBeans NullPointerException

java - Spring MVC,从服务层的安全上下文中获取主体

sql-server - 将 Inserted 和 Deleted 行转换为 Xml 以供审计

c# - 解析 XML 响应并返回对象集合

java - 为什么 JAXB 区分元素和类型?

Java-LAF : How to create Decoration using Synth-XML?