2009-07-26 10 views
5

JAX-RPC 1.1を使用するJava EE 1.4では、どのようにWebサービスを公開できますか?そのため、wsdlには人物のプロパティの1つが日付これは、WSDL/XSDでdateTime(時間が必要ない場所)の代わりに日付(誕生日など)としてWSDL/XSDに表示されますか?Java Webサービス、日付の代わりにxsd日付

私はjava.util.Calendarのとjava.util.Dateの両方がにXSDデータ型を起こしているように見えるWSDLで参照XSDが

<xs:element name="birthdate" type="xs:date"/> 

代わりの

<xs:element name="birthdate" type="xs:dateTime"/> 

を持っていると思いますwsdl/xsdでレンダリングされたときのdateTime。

私はJava EE 1.4にはJava EE 5のようなアノテーションはありませんが、Webサービスにxs:dateデータ型を使用するよう指示する方法はありますか?

答えて

1

実際にこれを正しく行う方法を実際に把握しました。

WEB-INF/wsdl /(schemaname).xsdでデータ型をdateTimeからdatetimeに変更してサービスを再デプロイし、既存のjava.util.Calendar型で動作します。

0

IBM docsによると、dateとdateTimeの両方がカレンダーに対応しています。 roll your own(興味深いことに、参照される記事の第2ページには、日付は日付のみ、ページ3はそれがカレンダーにマッピングされていることが示されています)。

参考として、doing this in WCFについても同様の質問があります。

+1

ありがとうございました。これは役に立ちますが、Webサービスでxs:dateフィールドを持つwsdlを公開する方法の問題を解決するのに直接役に立ちません。クライアントアプリケーションは、wsdlにdateTimeではなくdateのみを公開するように要求しました。 – jasonmw

1

これを実現することはできませんが、JAX-RPCには柔軟性がありません(これがJavaEE 5で強制終了された理由です)。

通常、WSDLジェネレータは、私が必要とする正確なWSDlを生成する表現力を持っていないことが多いので、それらを使用してWSDLを開始点として生成し、結果を変更する傾向があります。 WSDLは、生成されたものではなく静的なファイルとしてサーバー上に置かれます。理想的ではありませんが、大きな問題ではありません。

関連する問題