提供されているwsdlを使用して、Webサービス(このWebサービスを制御できません)と統合しています。メソッドを呼び出しているときに、リクエストでDateTimeを渡す必要があります。リクエストには、UTC形式の日時が含まれている必要があります(最後にZが含まれます)。リクエストには以下のフィールドが含まれています
[System.Xml.Serialization.XmlElementAttribute(DataType="date", Order=0)]
public System.DateTime date
{
get
{
return this.dateField;
}
set
{
this.dateField = value;
}
xsdデータ型は日付であることに注意してください。
DateTime
Utcとして渡すリクエストを作成します。
request.date = DateTime.SpecifyKind(DateTime.Parse(DateTime.Now.ToUniversalTime().ToString("yyyy'-'MM'-'dd'T'HH':'mm':'ss'.'fff'Z'")), DateTimeKind.Utc);
私が抱えている問題は、UTCとして合格DateTime
したにもかかわらず、タイムゾーンなしでsoapリクエストが表示されることです。たとえば、リクエストは次のように生成されます。
<GetRequest xmlns=" http://soa.company.com/services/example/v2">
<date>2001-01-01</date>
</GetRequest>
私の期待は、
<GetRequest xmlns=" http://soa.company.com/services/example/v2">
<date>2001-01-01Z</date>
</GetRequest>
これは、日時のシリアル化中のラウンドトリップが原因だと思います。誰かがこの種の問題に直面したことがありますか?