【问题标题】:Assigning List of Strings in BPEL在 BPEL 中分配字符串列表
【发布时间】:2011-11-04 16:57:04
【问题描述】:

有没有办法将输入变量中的字符串列表分配给调用输入变量?问题是我的 Web 服务中有多个输入,所以我无法将输入变量中的包装元素复制到包装变量中调用变量。将代码的sn-p复制到这里:

<assign name="Assign1">
            <copy>
                <from variable="inputVariable" part="payload"
                      query="/ns2:process/ns2:dsaName"/>
                <to variable="Invoke1_processList_InputVariable"
                    part="parameters" query="/ns1:processList/dsaName"/>
            </copy>
            <copy>
                <from variable="inputVariable" part="payload"
                      query="/ns2:process/ns2:linesOfData"/>
                <to variable="Invoke1_processList_InputVariable"
                    part="parameters" query="/ns1:processList/linesOfData"/>
            </copy>
            <copy>
                <from variable="inputVariable" part="payload"
                      query="/ns2:process/ns2:description"/>
                <to variable="Invoke1_processList_InputVariable"
                    part="parameters" query="/ns1:processList/description"/>
            </copy>
            <copy>
                <from variable="inputVariable" part="payload"
                      query="/ns2:process/ns2:application"/>
                <to variable="Invoke1_processList_InputVariable"
                    part="parameters" query="/ns1:processList/application"/>
            </copy>
        </assign>

问题是只有一个是列表类型,所有其他都是字符串类型。用于此的 XML 是:

<element name="process">
            <complexType>
                <sequence>
                     <element name="dsaName" type="string" minOccurs="0"/>
                    <element name="linesOfData" type="string" minOccurs="0" maxOccurs="unbounded"/>

                    <element name="description" type="string" minOccurs="0"/>
            </sequence>
    </complexType>
        </element>
    <element name="processResponse">
        <complexType>
            <sequence>
                <element name="result" type="string" minOccurs="0" maxOccurs="unbounded"/>
            </sequence>
        </complexType>
    </element>
</schema>

【问题讨论】:

  • @vanto 你能看看这个吗。你上次帮我解决了类似的情况。任何帮助将不胜感激

标签: soa jdeveloper bpel


【解决方案1】:

查看您的架构,您可以使用doXSLTransform 操作,其中&lt;xsl:for-each&gt; 用于读取列表类型(这里是linesOfData)并将这些元素中的每一个添加到Invoke1_processList_InputVariable

【讨论】:

  • :我尝试了转换,然后我测试了转换(显示完美的转换),但 bpel 仍然显示方法(在 Web 服务中)没有收到任何数据的错误。我犯了一些错误在这里?在附加信息中,我删除了分配并使用了转换。这种方法是否有错误。
  • :更多信息:源变量是输入变量,目标变量是invoke_input变量。看看。
猜你喜欢
  • 1970-01-01
  • 2019-07-27
  • 1970-01-01
  • 2023-03-28
  • 2019-08-19
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多