4

Java でコントラクト ファーストで生成された Web サービスに問題があります。私のスキーマでは、次のようなものがあります。

<element maxOccurs="1" minOccurs="1" name="GUID" type="xs:long" /> 

次のようなフィールドを持つクラスを生成します。

protected long GUID;

ここで、Web サービスを起動しようとすると、GUID に値を入力しないと、新しい Java long のデフォルト値が設定 (0) され、例外はスローされません。もちろん、これは良い動作ではありません。なぜなら、guid 要素が必要だからです。一方、スキーマ要素を次のように変更すると:

<element maxOccurs="1" minOccurs="0" name="GUID" type="xs:long" /> 

(GUID 要素が必要なため、論理的な観点からは正しくありません) 生成されたクラス フィールドは次のようになります。

{protected Long GUID; }

そして、Web サービスの実行で GUID が設定されていない場合、GUID 値は null になります。Java コードから例外をスローすることを確認できます。

保護された Long GUID を持つ minOccurs="0" 生成クラスを使用する方法についてアドバイスをお願いします。(または、この値が設定されていない場合に少なくとも例外が発生します)

私は Glassfish 2.1.1 で提供される JAXB と Web サービスを実行するための SopaUI を使用しています。

4

1 に答える 1