Creazione delle classi helper per i processi BPEL (.NET)

Alcune operazioni API dei servizi Web richiedono che le applicazioni client utilizzino gli elementi allineati di stile "document/literal". Le applicazioni client richiedono l'aiuto delle classi helper per generare gli elementi allineati necessari.

Prima di iniziare

Per creare classi helper è necessario aver esportato il file WSDL dell'API dei servizi Web dall'ambiente WebSphere Process Server.

Perché e quando effettuare questa attività

Le operazioni call() e sendMessage() delle API dei servizi Web provocano l'avvio dei processi BPEL nel WebSphere Process Server. Il messaggio di input dell'operazione call() prevede che venga fornito il wrapper document/literal del messaggio di input del processo BPEL. Per generare le classi e i bean necessari per il processo BPEL, copiare l'elemento <wsdl:types> in un nuovo file XSD, quindi utilizzare lo strumento xsd.exe per generare le classi helper.

Procedura di questa attività

  1. Se non è ancora stata effettuata questa operazione, esportare il file WSDL dell'interfaccia del processo BPEL da Websphere Integration Developer.
  2. Aprire il file WSDL in un editor di testo o XML.
  3. Copiare il contenuto di tutti gli elementi child dell'elemento <wsdl:types> e incollarlo nello scheletro di un nuovo file XSD.
  4. Eseguire lo strumento xsd.exe sul file XSD:

    call xsd.exe file.xsd /classes /o

    Dove:

    file.xsd
    Il file di definizione dello schema XML da convertire.
    /classes (/c)
    Generare le classi helper che corrispondono al contenuto dei file XSD specificati.
    /output (/o)
    Specificare la directory di output per i file generati. Se omessa, il valore predefinito è la directory corrente.

    Ad esempio:

    call xsd.exe ProcessCustomer.xsd /classes /output:c:\temp

  5. Aggiungere il file di classe generato sull'applicazione client. Se si sta utilizzando Visual Studio, ad esempio, è possibile effettuare ciò utilizzando l'opzione di menu Project > Add Existing Item.

Esempio

Se il file ProcessCustomer.wsdl contiene quanto segue:
<?xml version="1.0" encoding="UTF-8"?>
<wsdl:definitions xmlns:bons1="http://com/ibm/bpe/unittest/sca" 
                  xmlns:tns="http://ProcessTypes/bpel/ProcessCustomer" 
                  xmlns:wsdl="http://schemas.xmlsoap.org/wsdl/"
                  xmlns:xsd="http://www.w3.org/2001/XMLSchema" 
                  name="ProcessCustomer" 
                  targetNamespace="http://ProcessTypes/bpel/ProcessCustomer">
  <wsdl:types>
    <xsd:schema targetNamespace="http://ProcessTypes/bpel/ProcessCustomer" 
                xmlns:bons1="http://com/ibm/bpe/unittest/sca" 
                xmlns:tns="http://ProcessTypes/bpel/ProcessCustomer" 
                xmlns:xsd="http://www.w3.org/2001/XMLSchema">
      <xsd:import namespace="http://com/ibm/bpe/unittest/sca" 
                schemaLocation="xsd-includes/http.com.ibm.bpe.unittest.sca.xsd"/>
      <xsd:element name="doit">
        <xsd:complexType>
          <xsd:sequence>
            <xsd:element name="input1" nillable="true" type="bons1:Customer"/>
          </xsd:sequence>
        </xsd:complexType>
      </xsd:element>
      <xsd:element name="doitResponse">
        <xsd:complexType>
          <xsd:sequence>
            <xsd:element name="output1" nillable="true" type="bons1:Customer"/>
          </xsd:sequence>
        </xsd:complexType>
      </xsd:element>
    </xsd:schema>
  </wsdl:types>
    <wsdl:message name="doitRequestMsg">
    <wsdl:part element="tns:doit" name="doitParameters"/>
  </wsdl:message>
    <wsdl:message name="doitResponseMsg">
    <wsdl:part element="tns:doitResponse" name="doitResult"/>
  </wsdl:message>
    <wsdl:portType name="ProcessCustomer">
    <wsdl:operation name="doit">
      <wsdl:input message="tns:doitRequestMsg" name="doitRequest"/>
      <wsdl:output message="tns:doitResponseMsg" name="doitResponse"/>
    </wsdl:operation>
  </wsdl:portType>
</wsdl:definitions>
Il file XSD risultante contiene:
<xsd:schema xmlns:bons1="http://com/ibm/bpe/unittest/sca" 
                      xmlns:tns="http://ProcessTypes/bpel/ProcessCustomer" 
                      xmlns:xsd="http://www.w3.org/2001/XMLSchema" 
                      targetNamespace="http://ProcessTypes/bpel/ProcessCustomer">
<xsd:import namespace="http://com/ibm/bpe/unittest/sca" 
              schemaLocation="Customer.xsd"/>
	<xsd:element name="doit">
		<xsd:complexType>
			<xsd:sequence>
				<xsd:element name="input1" type="bons1:Customer" nillable="true"/>
			</xsd:sequence>
		</xsd:complexType>
	</xsd:element>
	<xsd:element name="doitResponse">
		<xsd:complexType>
			<xsd:sequence>
				<xsd:element name="output1" type="bons1:Customer" nillable="true"/>
			</xsd:sequence>
		</xsd:complexType>
	</xsd:element>
</xsd:schema>
Attività correlate
Esportazione degli oggetti business
Informazioni correlate
Documentazione Microsoft per XML Schema Definition Tool (XSD.EXE)

(c) Copyright IBM Corporation 2005, 2006.
This information center is powered by Eclipse technology (http://www.eclipse.org)