多くのアダプタ・ウィザード(ファイル、FTP、AQ、MQおよびJMSアダプタのウィザードなど)では、デフォルトのWSDLを生成するのではなく、ユーザーに対して、既存のWSDL、ポートタイプおよび操作を選択するオプションが用意されています。基本的に、操作の選択によって、アダプタで使用することになるスキーマが定義されます。
ただし、既存のWSDLの選択は、独自のスキーマを提供または生成するアダプタではサポートされません(たとえば、DB、B2B、BAMおよびOracle Applicationアダプタでは、独自のスキーマが生成されます)。
一部のアダプタ・ウィザードではこれら2つが複合されており、既存のWSDLが選択されると、必須スキーマを有する特定の操作が無効になります。
アダプタで既存のWSDLをサポートする必要がある場合は、WsdlSelectionPage
を拡張するクラスを作成する必要があります。
この例は、CustomWsdlSelectionPage
を参照してください。このクラスを拡張するために実装する必要のある抽象メソッドが3つあります。
boolean adapterSupportsSynchRead()
: アダプタに同期読取りオプションがある場合はtrueが返されます。これによって、output要素が含まれるWSDL操作をWsdlSelectionページで選択できるようになります。
boolean adapterSupportsCallback()
: アダプタでコールバック(インバウンドまたはアウトバウンド)を使用できる場合はtrueが返されます。trueの場合、WsdlSelection
ページでユーザーは2つのポート・タイプを選択できます。
createPagesForOperation()
: ユーザーがWSDL操作を選択した後に、開発者は新規ウィザード・ページを追加できます。
注意:
後続のウィザード・ページでは、選択した操作でサポートされない操作および機能を無効にする必要があります。たとえば、ファイル・アダプタおよびFTPアダプタの場合、選択された操作にoutput要素が含まれるときは、「操作」ページ上の、同期読取り操作以外のすべての操作を無効にする必要があります。詳細は、JcaOperationPage
の箇所を参照してください。
既存のWSDLを選択した場合でも、アダプタ・フレームワークではWSDLが生成されますが、ポート・タイプ、操作、メッセージおよびスキーマはそのWSDLでは生成されず、ユーザーが選択したWSDLがインポートされます。ラッパーWSDLで、選択されたWSDLがインポートされます。これには、importおよびpartnerlinkTypesのみが含まれます。
partnerLinkType
を使用しないWSDLをユーザーが選択したときは、ラッパーWSDLの生成はその方法において、BPELの場合と同様です。
また、アダプタ・ラッパーWSDLでは、partnerLinkTypes
が定義される上、ユーザー選択のWSDLでは使用できないヘッダー・メッセージを定義できます。