SOAP ヘッダー・スキーマの SDO リポジトリーへの組み込み

このタスクは、SOAP ヘッダー・スキーマを SDO リポジトリーに挿入することによって、メディエーションのパフォーマンスを改善する場合に使用します。

このタスクについて

SOAP ヘッダーにアクセスするメディエーションでは、必ず SOAP ヘッダー・スキーマが SDO リポジトリーに対して使用可能であるようにします。これにより、ヘッダー・ファイルへのアクセスが単純化され (Web サービス・コード実例 を参照)、パフォーマンスが大きく向上します。通常、SOAP ヘッダーのスキーマ (.xsd ファイル) は、既に Application Developer で使用可能になっています。

以下は (ルーティング用に使用される) SOAP メッセージで渡されるヘッダーの例です。
<soapenv:Header>
<hns0:myClientToken xmlns:hns0="http://www.ibm.com/wbc">
         				<UseRoutingId>true</ UseRoutingId >
         				<RoutingID>5</ RoutingID >
      		</hns0: myClientToken >
</soapenv:Header>
以下は、関連するヘッダー・スキーマの例です。
<xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema" 
           targetNamespace="http://www.ibm.com/wbc" 
           elementFormDefault="unqualified">
<xs:element name=" myClientToken">
  <xs:complexType>
    <xs:sequence>
      <xs:element name="UseRoutingId" type="xs:string"/>
      <xs:element name="RoutingID" type="xs:string"/>
    </xs:sequence>
  </xs:complexType>
</xs:element>
</xs:schema>

スキーマを SDO リポジトリーに挿入するには、以下のステップを実行します。

手順

  1. 以下のコードを含むスクリプトを作成します。
    • Jython の場合、sdoXSDImport.py という名前のスクリプトを作成します。
      #
      xsdFile=sys.argv[0]
      xsdKey=sys.argv[1]
      sdoRep=AdminControl.queryNames("*,type=SdoRepository,node=%s" % AdminControl.
      getNode)
      print AdminControl.invoke(sdoRep , importResource([xsdKey , xsdFile]))
    • Jacl の場合、sdoXSDImport.jacl という名前のスクリプトを作成します。
      #
      set xsdFile [lindex $argv 0]
      set xsdKey  [lindex $argv 1]
      set sdoRep [$AdminControl queryNames *,type=SdoRepository,node=[$AdminControl
       getNode]]
      puts [$AdminControl invoke $sdoRep importResource [list $xsdKey $xsdFile]]
    注: リソースを SDO リポジトリーから除去する同等のスクリプトを作成するには、このスクリプトをコピーして、最終行を以下のように変更します。
    • Jython の使用:
      AdminControl.invoke(sdoRep , "removeResource" , [[xsdKey , "false"]])
    • Jacl を使用:
      $AdminControl invoke $sdoRep removeResource [list $xsdKey false]
  2. wsadmin スクリプト・クライアントを使用して、以下のコマンドを入力することにより、スキーマを SDO リポジトリーに挿入します。
    [IBM i]注: QShell 内からコマンドを実行します。
    • Jython スクリプトを使用する場合:
      wsadmin -lang jython -f sdoXSDImport.py your_header.xsd your_header_namespace
    • Jacl スクリプトを使用する場合:
      wsadmin -f sdoXSDImport.jacl your_header.xsd your_header_namespace
    各部の意味は、次のとおりです。
    • your_header.xsd は、ヘッダー・スキーマを含むファイルの名前です。
    • your_header_namespace は、ヘッダーのターゲット名前空間です。例えば、http://yourCompany.com/yourNamespace です。

トピックのタイプを示すアイコン タスク・トピック



タイム・スタンプ・アイコン 最終更新: last_date
http://www14.software.ibm.com/webapp/wsbroker/redirect?version=cord&product=was-nd-mp&topic=tjw_tune_xsd
ファイル名:tjw_tune_xsd.html