リソースをアプリケーションおよびライブラリーに追加する場合、適切な命名規則を使用して競合が発生しないようにしてください。 例えば、ライブラリー名でファイル・パスを修飾したり、QName を使用してスキーマ・エレメントを区別したりする方法が考えられます。
QName とは、メッセージ・モデルのネーム・スペースで修飾されたエレメントを指します (XML スキーマ、DFDL スキーマ・ファイル、またはメッセージ・セット)。 これらの QNames は、アプリケーションやライブラリー、およびその参照ライブラリーのいずれにおいても固有である必要があります。 例えば、「Application1」に 2 つのスキーマ・ファイル (schemaOne.xsd と schemaTwo.xsd) が含まれているとします。
このスキーマ・ファイルでは、いずれにもエレメント「sameElement」が含まれており、ネーム・スペース http://mynamespace.com で修飾されています。 この命名規則では、両方のスキーマ・ファイルに「sameElement」というエレメントに対して同じ QName が含まれており、同じネーム・スペースで修飾されているため、競合が発生します。
両方のスキーマ・ファイルに、「diffNSElement」というエレメントも含まれているとします。このエレメントは、各スキーマ・ファイルにおいて異なるネーム・スペースを使用して修飾されています。 この場合、競合は発生しません。 QNames の競合が検出されると、その QName を使用した構文が含まれる各 XML スキーマ・ファイルまたは DFDL スキーマ・ファイル、あるいはメッセージ・セットには、「ブローカー開発」ビューと「問題」ビューでエラーとともにマークが付けられます。
ブローカー・スキーマは、アプリケーションまたはライブラリーからリソース名への相対パスを定義します。 アプリケーションまたはライブラリー、およびそのすべての参照ライブラリーでは、以下のリソース名が固有でなければなりません。
- XSD リソース名とパスのペア
- WSDL リソース名とパスのペア
- メッセージ・フロー・リソース名とパスのペア
- アダプター・リソース名とパスのペア (.inadapter と .outadapter)
- CORBA IDL リソース名とパスのペア
- メッセージ・マップ・リソース名とパスのペア (.map)
- XSLT リソース名とパスのペア
- PHP リソース名とパスのペア
リソース名とパスの競合が検出されると、各リソースには、
「ブローカー開発」ビューと「問題」ビューでマークが付けられます。 ファイル・リソースとパスの競合が検出されると、各リソースには、
「ブローカー開発」ビューと「問題」ビューでマークが付けられます。
同じ SAP 操作の
.inadapter ファイルと
.outadapter ファイルが同じアプリケーションの別個のライブラリーに置かれていると、参照できません。
代わりに、以下のいずれかの構成を使用する必要があります。
- インバウンドおよびアウトバウンド操作の 2 つの別個のアプリケーションとアダプター・ライブラリー
- 別々のネーム・スペースで生成され、2 つの別個のアプリケーションで使用される、インバウンドとアウトバウンドの両方のアダプターが存在する単一のアダプター・ライブラリー。この構成では、1 つのアプリケーションにインバウンド・フローがあり、もう 1 つのアプリケーションにアウトバウンド・フローがなければなりません。
- インバウンドとアウトバウンドの両方のアダプターが存在する単一のアダプター・ライブラリー。
これらのアダプターは別々のネーム・スペースで生成され、インバウンドとアウトバウンドの両方のフローが存在する 1 つのアプリケーションで使用される必要があります。
- 独自のビジネス・オブジェクト・スキーマ、アダプターおよびフローを持つ 2 つの別個のアプリケーション。