この質問のバリエーションは明らかに何十回も尋ねられていますが、私が必要とする解決策は非常にとらえどころのないようです. 今回は魅力だと思います!
SOAP xml を介して Java Web サービスと通信する C# アプリケーションがあります。アプリケーションは、問題なく WSDL を使用してサービスをインポートしました。ただし、xml オブジェクトの 1 つは dateTime 型です。
<complexType name="Interaction">
<sequence>
<element name="ContactDate" type="dateTime" minOccurs="0" maxOccurs="1"/>
</sequence>
</complexType>
データベースから取得した日付は、次のようになります: 2013-07-10. UTC 形式を使用して XML dateTime オブジェクトに取得する必要があります: yyyy-MM-ddTHH:mm:ss.fffzzz
これを適切に解析された文字列に簡単に変換できます。それは問題ではありません。この問題は、データをサービス オブジェクトにロードしようとすると発生します。データを文字列としてロードできません。DateTime オブジェクトでなければなりませんが、DateTime は UTC 形式の使用を拒否します。
これはシリアル化の問題かもしれないと思いました。xml に変換して Web サービスに送信する際に、正しくシリアライズできていないと思います。この特定の要素のシリアル化情報は次のとおりです。
[System.Xml.Serialization.XmlElementAttribute(Order=2)]
public System.DateTime ContactDate {
get {
return this.contactDateField;
}
set {
this.contactDateField = value;
this.RaisePropertyChanged("ContactDate");
}
}
私が見逃している、または間違っている可能性があることについてのアイデアはありますか? どんな助けでも大歓迎です。ありがとう!