2011-07-15 11 views
2

Java Webサービスapi-addSchedule(Date startDate、Date endDate)を呼び出す.netクライアントがあります。 endDateはオプションです。つまり、クライアントはendDate = nullを渡すことができ、すべて正常です。しかし、問題は.NetクライアントはDate変数型にnullを割り当てることができません。Java webserviceおよび.netクライアント日付データの補間の問題

Java Webサービスの応答がnullのDate値を.netクライアントに渡す場合、もう1つ確認しますが、これは.NetによってDate.MIN_VALUEとして受信されます。したがって、.NETがendDate = Date.MIN_VALUEを渡すと、javaはendDate = nullを取得するようになりました。しかし、javaは有効な日付としてDate.MIN_VALUEを取得しています。

私たちは立ち往生しています。良い回避策を提案してください。

答えて

0

Webサービスメソッド: - addSchedule(Date startDate, @XmlElement(nillable=true) Date endDate)。この新しいwsdl定義では、.NetクライアントはAddScheule(DateTime, <Nullable>DateTime)を生成します。これは、メトロ2.2バージョンjars(jaxbおよびjaxws.jar)によってサポートされています。 jre6にこれらのjarの古いバージョンがある場合は、これらのjarの2.2バージョンをダウンロードし、JRE_HOME/lib/endorsedフォルダに置きます。同じjreパスを使用してプロジェクトをビルドします。

tomcatにアプリケーションをデプロイするときは、jaxbとjaxws.jar [2.2 version]をディレクトリCATALINA_HOME/endorsedにコピーしてください。準備できた。

2

ヌル値を保持できるため、ヌル可能な日付時間(Nullable<DateTime>またはDateTime?)を使用してください。 (日時など)正常値の型がnullで保持することはできませんし、デフォルト値を持つことになります(DateTimeの場合には、これはDateTime.MinValueですが、intのために、それは0である)我々はJavaで真= NULLに追加する必要があり

+0

我々はNULL可能を渡し、それはあなたがNULL可能を渡すことはできませんと言い、日時が期待されているaddSchedule –

+0

にあなたはすべての関連コード使用 'のDateTimeを作成する必要がありますか?'/'NULL可能'または[値]プロパティを使用します(注をあなたが 'HasValue'プロパティを使ってそれをチェックしたり、nullと比較したりすることができます。 –

+0

私は.Netで多くの経験がありません。好きなものは、Java側の日付データ型がaddScheduleでなければならないので、.net側ではクライアントラッパー呼び出しはAddSchdule(DateTime、Nullable )のようになります。 –

関連する問題