SOAPでエンコードされた配列の使用方法
Oracle SOA Suiteでは、SOAP RPCでエンコードされた配列をサポートしています。このサポートにより、Oracle BPEL Process Managerは、SOAP 1.1配列を使用するSOAP Webサービス(RPCでエンコードされた)をコールするクライアントとして機能できます。
次の例に、myFavoriteNumbersというSOAP配列ペイロードの例を示します。
               
<myFavoriteNumbers SOAP-ENC:arrayType="xsd:int2">
<number>3</number>
<number>4</number>
</myFavoriteNumbers>
また、スキーマの要素の属性attributeFormDefaultおよびelementFormDefaultが"unqualified"に設定されていることを確認してください。次の例に詳細を示します。
               
attributeFormDefault="unqualified" elementFormDefault="unqualified" targetNamespace="java:services" xmlns:s0="http://schemas.xmlsoap.org/wsdl/" xmlns:xs="http://www.w3.org/2001/XMLSchema">
次の機能はサポートされていません。
- 
                     SOAP配列を使用するBPELによって公開されるサービス 
- 
                     部分的に送信される配列 
- 
                     スパース配列 
- 
                     多次元配列 
SOAPでエンコードされた配列を使用するには:
次の例に、BPELプロジェクトにbpelx:appendタグの付いたSOAP配列を準備する方法を示します。
                  
- 
                        Oracle JDeveloperでBPELプロセスを作成します。 
- 
                        起動用のぺイロードを準備します。 bpelx:appendは、項目をSOAP配列に追加するために使用されることに注意してください。<bpws:assign> <bpws:copy> <bpws:from variable="input" part="payload" query="/tns:value"/> <bpws:to variable="request" part="strArray" query="/strArray/JavaLangstring"/> </bpws:copy> </bpws:assign> <bpws:assign> <bpelx:append> <bpelx:from variable="request" part="strArray" query="/strArray/JavaLangstring1"/> <bpelx:to variable="request" part="strArray" query="/strArray"/> </bpelx:append> </bpws:assign>
- 
                        次のネームスペースをWSDLファイルにインポートします。WSDLスキーマ要素にインポート文が欠落している場合、Oracle JDeveloperでは SOAP-ENCタグを認識しません。<xs:import namespace="http://schemas.xmlsoap.org/soap/encoding/" />