SOAP-Header-Schemata in das SDO-Repository einschließen

Mit dieser Task können Sie die Mediationsleistung verbessern, indem Sie das SOAP-Headerschema in das SDO-Repository einfügen.

Informationen zu diesem Vorgang

Mediationen, die auf SOAP-Header zugreifen, müssen sicherstellen, dass das SOAP-Header-Schema im SDO-Repository zur Verfügung steht. Dies vereinfacht den Zugriff auf die Header-Felder (siehe Codebeispiel für Web-Services) und kann erhebliche Leistungsvorteile bringen. Normalerweise steht das Schema (Datei .xsd) für einen SOAP-Header dem Anwendungsentwickler bereits zur Verfügung.

Im Folgenden sehen Sie ein Beispiel für einen Header (für Weiterleitung), der in der SOAP-Nachricht übergeben wird:
<soapenv:Header>
<hns0:myClientToken xmlns:hns0="http://www.ibm.com/wbc">
         		<UseRoutingId>true</ UseRoutingId >
         		<RoutingID>5</ RoutingID >
      	</hns0: myClientToken >
</soapenv:Header>
Im Folgenden sehen Sie ein Beispiel für ein zugehöriges Header-Schema:
<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>

Führen Sie die folgenden Schritte aus, um das Schema in das SDO-Repository einzufügen:

Vorgehensweise

  1. Erstellen Sie ein Script mit dem folgenden Code:
    • Erstellen Sie für Jython ein Script mit dem Namen 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]))
    • For Jacl, create a script called 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]]
    Anmerkung: Wenn Sie ein entsprechendes Script erstellen möchten, um eine Ressource aus dem SDO-Repository zu entfernen, kopieren Sie das Script und ändern in der Kopie die letzte Zeile wie folgt:
    • Mit Jython:
      AdminControl.invoke(sdoRep , "removeResource" , [[xsdKey , "false"]])
    • Mit Jacl:
      $AdminControl invoke $sdoRep removeResource [list $xsdKey false]
  2. Verwenden Sie den Scripting-Client wsadmin, um das Schema mit dem folgenden Befehl in das SDO-Repository einzufügen.
    [IBM i]Anmerkung: Führen Sie den Befehl in der QShell aus.
    • Geben Sie zur Verwendung des Jython-Scripts Folgendes ein:
      wsadmin -lang jython -f sdoXSDImport.py Ihr_Header.xsd Ihrer_Header-Namespace
    • Geben Sie zur Verwendung des Jacl-Scripts Folgendes ein:
      wsadmin -f sdoXSDImport.jacl Ihr_Header.xsd Ihr_Header-Namespace
    Für diese Angaben gilt Folgendes:
    • Ihr_Header.xsd steht für den Namen der Datei, die das Header-Schema enthält.
    • Ihr_Header-Namespace steht für den Zielnamespace des Header, z. B. http://ihreFirma.com/ihrNamespace.

Symbol, das den Typ des Artikels anzeigt. Taskartikel



Symbol für Zeitmarke Letzte Aktualisierung: 25.05.2016
http://www14.software.ibm.com/webapp/wsbroker/redirect?version=cord&product=was-nd-mp&topic=tjw_tune_xsd
Dateiname:tjw_tune_xsd.html