Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/317.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Xml JAXB绑定将xs:date更改为xs:dateTime?_Xml_Soap_Jaxb - Fatal编程技术网

Xml JAXB绑定将xs:date更改为xs:dateTime?

Xml JAXB绑定将xs:date更改为xs:dateTime?,xml,soap,jaxb,Xml,Soap,Jaxb,我必须访问一个有缺陷的web服务,其中WSDL中的某些字段的类型为xs:date,但我必须将它们填充为xs:dateTime 是否可以使用JAXB绑定文件更改WSDL中字段的类型 WSDL的一个片段: <xs:sequence> <xs:element name="startTime" type="xs:date" /> <xs:element name="stopTime" type="xs:date" /&

我必须访问一个有缺陷的web服务,其中WSDL中的某些字段的类型为xs:date,但我必须将它们填充为xs:dateTime

是否可以使用JAXB绑定文件更改WSDL中字段的类型

WSDL的一个片段:

        <xs:sequence>
          <xs:element name="startTime" type="xs:date" />
          <xs:element name="stopTime" type="xs:date" />
        </xs:sequence>

您可以使用@XmlSchemaType注释来配置XML表示:

@XmlElement(name = "date-of-birth")
@XmlSchemaType(name = "date")
protected XMLGregorianCalendar dateOfBirth; 
有关更多信息,请参阅:


XJC将
xs:date
xs:dateTime
绑定到
java.util.date
,因此生成的代码没有什么不同。但是,当类型为xs:date时,我在请求中缺少时间部分。我正在使用CXF,它使用JAXB生成java存根来访问web服务。生成的字段的类型是XMLGregorianCalendar,我可以接受,但是当我发送请求时,SOAP字段应该填写“2011-03-29T15:00:00.000+02:00”,而不是“2011-03-29+02:00”。@peter-你能用@XmlSchemaType注释修改你的模型类吗,或者你需要使用生成的内容吗?嗨,我需要使用生成的源。这对我来说更具理论意义,因为WSDL的提供者将在他们的下一个版本中修复这个bug,而我工作的项目仍处于开发阶段。我已经使用JAX-WS绑定文件修复了当元素具有与xs:sequence中的属性相同的名称时WSDL的问题。因此,这个问题与JAX-WS的关系要比与JAXB的关系更密切,我把它混淆了。