分配内容时发出类型:application / octet-stream到soa中的xml变量

时间:2013-06-03 09:14:28

标签: java soa bpel oracle-soa

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

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

<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>}

1 个答案:

答案 0 :(得分:0)

而不是基于元素分配变量。尝试分配给xsd:base64Binary:

类型的变量
<variable name="VariableName" type="xsd:base64Binary"/>

..和..

setVariableData("VariableName",response)