0

我为它创建了一个简单的 Web 服务和一个 WSDL。在我的 WSDL 中,我的 SOAP 响应有五个参数。

<message name="EmailStatusResponse">
    <part name='id' type='xsd:integer'/>
    <part name='name' type='xsd:string'/>
    <part name='message' type='xsd:string'/>
    <part name='createdDate' type='xsd:date'/>
    <part name='approver' type='xsd:string'/>
</message>

我想使用带有eclipseAxis2的 WSDL 创建一个客户端。createdDate我通过 SOAP 响应收到的格式是 DD/MM/YYYY。当我运行客户端时,它会抛出一个AxisFault说日期格式createdDate不正确的说法。
我知道如果我将 SOAP 响应中发送的日期格式更改为 DD/MM/YYYY 或将createdDateWSDL 中的参数类型更改为xsd:string.
我的问题是,有没有办法在 WSDL 中指定日期模式?

举个这样的例子:
<part name='createdDate' type='xsd:date' pattern="DD/MM/YYYY"/>

谢谢。

4

2 回答 2

1

您可以将其声明为字符串,然后像这样限制字符串的模式:

<xs:simpleType name="createdDate">
   <xs:restriction base="xs:string">
       <xs:pattern value="(0[1-9]|[12][0-9]|3[01])/(0[1-9]|1[012])/\d{4}"/>
   </xs:restriction>
</xs:simpleType>

这将为您提供正确的格式,但您可能会遇到 SOAP 类型为字符串的问题。

于 2014-03-13T16:16:51.247 回答
-2

您可以使用模式来拥有您喜欢的模式吗?

于 2013-07-10T07:15:49.503 回答