Inclusión de esquemas de cabecera SOAP en el repositorio SDO

Utilice esta tarea para mejorar el rendimiento de mediación insertando el esquema de cabecera SOAP en el repositorio SDO.

Acerca de esta tarea

Las mediaciones que acceden a las cabeceras SOAP deben garantizar que el esquema de cabecera SOAP se pone a disposición del repositorio SDO. Esto simplifica el acceso a los campos de cabecera (consulte el Ejemplo de código de servicios web) y puede proporcionar una importante ventaja en el rendimiento. Normalmente, el esquema (archivo .xsd) para una cabecera SOAP ya está disponible para el desarrollador de aplicaciones.

Éste es un ejemplo de cabecera (utilizada para el redireccionamiento) que se pasa en el mensaje SOAP:
<soapenv:Header>
<hns0:myClientToken xmlns:hns0="http://www.ibm.com/wbc">
         				<UseRoutingId>true</ UseRoutingId >
         				<RoutingID>5</ RoutingID >
      		</hns0: myClientToken >
</soapenv:Header>
Este es un ejemplo de esquema de cabecera asociada:
<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>

Para insertar el esquema en el repositorio SDO, complete los pasos siguientes:

Procedimiento

  1. Cree un script que contenga el código siguiente:
    • Para Jython, cree un script llamado 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]))
    • Para Jacl, cree un script llamado 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]]
    Nota: Para crear un script equivalente a fin de eliminar un recurso del repositorio SDO, haga una copia de este script y modifique la línea final del modo siguiente:
    • Utilizando Jython:
      AdminControl.invoke(sdoRep , "removeResource" , [[xsdKey , "false"]])
    • Utilizando Jacl:
      $AdminControl invoke $sdoRep removeResource [list $xsdKey false]
  2. Utilice el cliente de scripts wsadmin(desde dentro de Qshell) para insertar el esquema en el repositorio de SDO especificando el mandato siguiente.
    [IBM i]Nota: Ejecute el mandato desde QShell.
    • Para utilizar el script Jython:
      wsadmin -lang jython -f sdoXSDImport.py su_cabecera.xsd su_espacio_nombres_cabecera
    • Para utilizar el script Jacl:
      wsadmin -f sdoXSDImport.jacl su_cabecera.xsd su_espacio_nombre_cabecera
    donde
    • su_cabecera.xsd es el nombre del archivo que contiene el esquema de cabecera.
    • su_nombre_espacios_cabecera es el espacio de nombres de destino de la cabecera. Por ejemplo, http://yourCompany.com/yourNamespace.

Icon that indicates the type of topic Task topic



Timestamp icon Last updated: last_date
http://www14.software.ibm.com/webapp/wsbroker/redirect?version=cord&product=was-nd-mp&topic=tjw_tune_xsd
File name: tjw_tune_xsd.html