0

我正在尝试将来自 restful 服务的响应分配给 SOAP 服务。宁静服务的响应是application/octet-stream我无法分配给任何变量。目前我正在使用 pojo 来获取我在 SOA BPEL 中使用 java 标注的响应。

setVariableData("Token",response)Token的类型是:

<xsd:element name="Token" type="xsd:base64Binary" xmime:expectedContentTypes="application/octet-stream"/>

该元素在 xsd 中定义。

但在运行时错误来了:

 <Error> <oracle.soa.bpel.engine.dispatch> <BEA-000000> <failed to handle message
com.oracle.bpel.client.BPELFault: faultName: {{http://schemas.xmlsoap.org/ws/2003/03/business-process/}mismatchedAssignmentFailure}
messageType: {{http://schemas.oracle.com/bpel/extension}RuntimeFaultMessage}
parts: {{
summary=<summary>Mismatch Assign.
cannot set a nonelement value to an element-based variable.
An attempt to assign a nonelement value to an element-based variable failed.
Verify the BPEL source for invalid assign activities.
</summary>}
4

1 回答 1

0

Instead of assigning to a variable based on an element. Try assigning to a variable of type xsd:base64Binary:

<variable name="VariableName" type="xsd:base64Binary"/>

..and..

setVariableData("VariableName",response) 
于 2013-06-12T14:00:28.983 回答