|
ノード ビルダの検証チェック ボックスに加えて、この節で説明するコード例を使用すると、XML スキーマをソース コードで検証できます。
ビジネス プロセス ノードで [検証] チェック ボックスをオンにして、実行時に検証エラーが発生した場合は、SOAP エラーが送出され、リクエストはビジネス プロセスまたはビジネス プロセス用に定義された例外ハンドラに達する前に停止されます。スキーマの検証と、ビジネス プロセス内の関連する例外の処理を設計する場合に、次の節の例で説明するように、validate()
メソッドを使用できます。
この節の例では、XML スキーマを検証する手順だけを説明しています。WebLogic Integration MflObject インタフェースを使用すると、MFL データの同様のタスクを行うことができます。
この例では、ビジネス プロセスに受信される XML の型は設計時に分かっているものとします。つまり、ビジネス プロセスが受信するドキュメントは型付き XML であることが分かっています。次のコードでは、XML をビジネス プロセスに配信し、XML データを対応する XML スキーマに対して検証する方法を示します。
public void receiveTypedXML(POORDERDocument lineItem) {
if (lineItem.validate()) {
//
} else {
// 処理エラー
}
}
前の例では、POORDERDocument
は、ビジネス プロセスが受信した XML データを検証する XML スキーマの名前です。
この例では、ビジネス プロセスが受信した型なし XML データを型付き XML データに変換し、その型に関連付けられた XML スキーマに対して検証します。
public void receiveUntypedXML(XmlObject xml) {
if (xml instance of POSUBLINEDocument) {
POSUBLINEDocument sublineItem = (POSUBLINEDocument) xml;
if (sublineItem.validate()) {
// アイテムは有効
} else {
// アイテムは無効
}
} else {
// 処理エラー - the XmlObject は POSUBLINEDocument ではない
}
}
前の例では、POSUBLINEDocument は XML データを検証する XML スキーマの名前です。