0

我正在为 3rdparty Web 服务编写 Web 服务客户端。Web 服务使用 XMLGregorianCalendar 发送时间戳。当我调用 web 方法时,我收到带有错误消息的异常

Input request field Start Date/Time has an invalid value.
Invalid DateTime value 2012-01-01T05:05:05, expected in format YYYY-MM-DD-HH.MM.SS

是否可以在 Web 服务的客户端覆盖 xml 绑定,如果可能的话如何。

4

1 回答 1

1

我也遇到了同样的问题,并且能够通过在客户端自定义 jaxb 绑定来解决它。

您可以通过创建一个 jaxb 自定义 xml 并在生成客户端存根时使用它来做到这一点。

下面添加了我创建的 jaxb 自定义文件

<?xml version="1.0" encoding="UTF-8"?>
    <jaxws:bindings  node="wsdl:definitions/wsdl:types/xsd:schema" 
        xmlns:jaxws="http://java.sun.com/xml/ns/jaxws"
        xmlns:jaxb="http://java.sun.com/xml/ns/jaxb"
        xmlns:wsdl="http://schemas.xmlsoap.org/wsdl/"
        xmlns:xsd="http://www.w3.org/2001/XMLSchema" 
        wsdlLocation="relative url to wsdl location">

<jaxb:globalBindings>
     <jaxb:serializable/>
     <jaxb:javaType name="java.lang.String" xmlType="xsd:dateTime"/>
</jaxb:globalBindings>

</jaxws:bindings>

在上述文件中,dateTime 将在存根中创建为字符串。希望有帮助。

于 2012-11-08T06:58:01.543 回答