2.3.6.2 FML32データ・マッピングの例
次のコード例は、FML32
型付きバッファを受け付けるTRANSFER
Oracle TuxedoサービスのSOAPメッセージを示しています。
サービスLOGIN
のリクエスト・フィールドは、次のとおりです:
CUST_INFO 1 fml32 /* 2 occurrences, The withdrawal customer is 1st, and the deposit customer is 2nd */
ACCOUNT_INFO 2 fml32 /* 2 occurrences, The withdrawal account is 1st, and the deposit account is 2nd */
AMOUNT 3 float /* The amount to transfer */
埋め込まれている各CUST_INFO
には、次のフィールドがあります:
CUST_NAME 10 string
CUST_ADDRESS 11 carray
CUST_PHONE 12 long
埋め込まれている各ACCOUNT_INFOには、次のフィールドがあります:
ACCOUNT_ID 20 long
ACCOUNT_PW 21 carray
次の例に、SOAPメッセージの一部を示します:
例2-14 FML32バッファを使用するサービスのSOAPメッセージ
<SOAP:body>
<m:STOCKINQ xmlns:m=”urn:......”>
<inbuf>
<CUST_INFO>
<CUST_NAME>John</CUST_NAME>
<CUST_ADDRESS>Building 15</CUST_ADDRESS>
<CUST_PHONE>1321</CUST_PHONE>
</CUST_INFO>
<CUST_INFO>
<CUST_NAME>Tom</CUST_NAME>
<CUST_ADDRESS>Building 11</CUST_ADDRESS>
<CUST_PHONE>1521</CUST_PHONE>
</CUST_INFO>
<ACCOUNT_INFO>
<ACCOUNT_ID>40069901</ACCOUNT_ID>
<ACCOUNT_PW>abc</ACCOUNT_PW>
</ACCOUNT_INFO>
<ACCOUNT_INFO>
<ACCOUNT_ID>40069901</ACCOUNT_ID>
<ACCOUNT_PW>zyx</ACCOUNT_PW>
</ACCOUNT_INFO>
<AMOUNT>200.15</AMOUNT>
</inbuf>
</m: STOCKINQ >
</SOAP:body>
次の例に、<inbuf>
のXMLスキーマを示します:
例2-15 FML32バッファのXMLスキーマ
<xsd:complexType name=”fml32_TRANSFER_In”>
<xsd:sequence>
<xsd:element name=”CUST_INFO” type=”tuxtype:fml32_TRANSFER_p1” minOccurs=”2”/>
<xsd:element name=”ACCOUNT_INFO” type=”tuxtype:fml32_TRANSFER_p2” minOccurs=”2”/>
<xsd:element name=”AMOUNT” type=”xsd:float” />
/xsd:sequence>
</xsd:complexType >
<xsd:complexType name=”fml32_TRANSFER_p1”>
<xsd:element name=”CUST_NAME” type=”xsd:string” />
<xsd:element name=”CUST_ADDRESS” type=”xsd:base64Binary” />
<xsd:element name=”CUST_PHONE” type=”xsd:long” />
</xsd:complexType>
<xsd:complexType name=”fml32_TRANSFER_p2”>
<xsd:element name=”ACCOUNT_ID” type=”xsd:long” />
<xsd:element name=”ACCOUNT_PW” type=”xsd:base64Binary” />
</xsd:complexType>
<xsd:element name=”inbuf” type=”tuxtype: fml32_TRANSFER_In” />