1

Metro をサード パーティの Web サービス エンジンとして使用して Web サービスを作成し、glassfish にデプロイしました。事前のデータ型intを引数として使用しました。String、null などの無効な値を入力すると、デフォルト値 (0) として取得されます。制限する方法はありますか?SoapUI レベルで検証し、エラー メッセージを表示したい。

Axis2 では自動的に実行されますが、Metro では機能しません。これに対する追加の注釈はありますか? またはこれを達成する他の方法はありますか?

前もって感謝します。:-)

4

1 に答える 1

0

あなたの質問には2つの側面があります。

一方では、SoaUI レベルでリクエストを検証したいと考えています。デフォルトでは、それらは検証されず、そのままサーバーに送信されます。検証を有効にするには、SoapUI の [設定] ([エディターの設定] タブ) で 2 つのボックスをオンにします。

  • 要求メッセージを送信する前に常に検証する
  • 無効なリクエストを中止する

この場合、SoapUI はエラー メッセージを生成し、エラーのある XML 行にキャレットを置きます。

一方、Web サービス側では、受信リクエストの正当性を検証する必要があります。com.sun.xml.ws.developer.SchemaValidationから@SchemaValidationアノテーションを追加して、サービスでこの機能を有効にします。Metro は、XML スキーマに対する検証に合格しない要求に対して、SOAP 障害メッセージ応答を生成します。

于 2012-04-26T07:34:57.623 に答える