2012-11-06 32 views
0

我正在为第三方Web服务编写Web服务客户端。 Web服务正在使用XMLGregorianCalendar发送时间戳。当我和错误消息调用的Web方法,我得到一个例外java webservice客户端中的XMLGregorianCalendar类的Overiding XML绑定

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 

是否有可能重写XML的Web服务的客户端绑定,如果可能如何。

回答

1

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

您可以通过创建jaxb自定义xml并在生成客户端存根时使用它来完成此操作。下面

<?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> 

我创建

JAXB自定义文件被添加在上述文件日期时间将作为字符串在存根来创建。希望有所帮助。

+0

查找关于如何从netbeans执行此操作的截图。 http://a4academics.com/blog/362-overriding-jaxb-xml-binding –