0

私は春の ws 2.0.2.RELEASE を使用しています

販売注文を作成する Web サービスがあります

SOAP 呼び出しの 2 つの要素は日付です。

<ns3:requestedDate>2012-06-06T01:00:00.000+10:00</ns3:requestedDate>

<ns3:orderDate>2012-06-06T10:25:09.681+10:00</ns3:orderDate>

両方のフィールドはスキーマで xs:dateTime として定義されています

SOAP 呼び出しを介してサービスに送信すると、次のようになります。

  <SOAP-ENV:Fault>

     <faultcode>SOAP-ENV:Client</faultcode>

     <faultstring xml:lang="en">Validation error</faultstring>

     <detail>

        <spring-ws:ValidationError xmlns:spring-ws="http://springframework.org/spring-ws">cvc-datatype-valid.1.2.1: '2012-06-06T01:00:00.000+10:00' is not a valid value for 'date'.</spring-ws:ValidationError>

        <spring-ws:ValidationError xmlns:spring-ws="http://springframework.org/spring-ws">cvc-type.3.1.3: The value '2012-06-06T01:00:00.000+10:00' of element 'ns3:requestedDate' is not valid.</spring-ws:ValidationError>

        <spring-ws:ValidationError xmlns:spring-ws="http://springframework.org/spring-ws">cvc-datatype-valid.1.2.1: '2012-06-06T10:25:09.681+10:00' is not a valid value for 'date'.</spring-ws:ValidationError>

        <spring-ws:ValidationError xmlns:spring-ws="http://springframework.org/spring-ws">cvc-type.3.1.3: The value '2012-06-06T10:25:09.681+10:00' of element 'ns3:orderDate' is not valid.</spring-ws:ValidationError>

     </detail>

  </SOAP-ENV:Fault>

これらの有効な日付がSpringによって無効であると報告されている理由は何ですか?

4

2 に答える 2

1

日付部分「2012-06-06」だけを渡すと、すべて機能するようです。ここでの手がかりは、「日時」ではなく「日付」であるべきだったと思います。呼び出されるエンドポイントは、日付のみを想定している必要があります。

于 2012-06-27T00:08:51.197 に答える
0

おそらく日付形式です。形式で日付を解析していますYYYY-MM-DDが、多くのバリデーターは、基本的に広く受け入れられているDD-MM-YYYY. 最近、モバイルサファリでフォームを検証する際に同様の問題が発生しました。日付形式を変更してみて、それが機能するかどうかを確認してください。

于 2012-06-26T02:57:53.483 に答える