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/" />