【发布时间】:2019-05-09 06:09:12
【问题描述】:
这些是我工作环境的不同版本:
Jdeveloper v 11.1.1.6.0
BPEL 2.0
Oracle SOA 服务器
我在 BPEL 转换步骤中收到元素列表时遇到问题。这种转换是从接收到的 SOAP 元素(从上一步的输入)获取数据,其目标是生成一个新的 SOAP 元素,将其用作下一步的输入,与其他 Web 服务进行通信。
这是接收到转换中的 SOAP 元素的结构:
<NameOfRequest version="1.0" lang="es">
<idConv>133</idConv>
<gTram>
<ns2:tipo>TIPO1</ns2:tipo>
<ns2:anyo>2018</ns2:anyo>
<ns2:numero>1</ns2:numero>
</gTram>
<ns8:solicitud>
<ns3:idSolicitud>2</ns3:idSolicitud>
</ns8:solicitud>
<ns8:solicitud>
<ns3:idSolicitud>1</ns3:idSolicitud>
</ns8:solicitud>
</NameOfRequest>
另外,下面是跟在Request后面的XSD结构:
<xsd:complexType name="ComunicarAltaBdnsBySolicitudesRequestType_v1.0">
<xsd:complexContent>
<xsd:extension base="cm:RequestMessageBaseType_v1.0">
<xsd:sequence>
<xsd:element name="idConv" type="xsd:long" nillable="false"/>
<xsd:element name="gTram" type="cgt:CodigoGrupoTramitacionType_v1.0" nillable="false" minOccurs="1"/>
<xsd:element name="solicitud" type="cso:CodigoSolicitudType_v1.0" minOccurs="1" maxOccurs="unbounded"/>
</xsd:sequence>
</xsd:extension>
</xsd:complexContent>
</xsd:complexType>
<xsd:complexType name="CodigoSolicitudType_v1.0">
<xsd:sequence>
<xsd:element name="idSolicitud" minOccurs="1" type="xsd:long"/>
</xsd:sequence>
</xsd:complexType>
我需要将所有名为 solicitud 的元素复制到另一个 SOAP 结构中(对于新请求,在当前转换之后)。
我在转换步骤中尝试了不同的过程(对于每个,copy、copyList、append 等),但我无法复制 solicitud 元素的所有重复。我什至尝试将内容复制到一个新变量中,然后将此变量分配给目标列表。
我取得的最积极的结果是仅将 solicitud 元素之一复制到新的 SOAP 调用中......但这还不足以达到我的目的。
知道如何复制所有元素吗?
提前致谢!
【问题讨论】: