ESB invoke OBAM Webservice报错
2012-05-25 14:48
155 查看
使用ESB的business service调用OBAM的DataObjectOperationsByName web 服务,试图往Employees数据对象插入一条记录,
测试输入如下:
<bam:Insert xmlns:bam="http://xmlns.oracle.com/bam">
<!--Optional:-->
<bam:xmlPayload>
<DataObject Name="Employees" Path="/Samples">
<Contents>
<Row>
<Column Name="Salesperson" Value="Greg Jinyn" />
<Column Name="Sales Area" Value="Northeast" />
<column Name="Sales Number" Value="5671" />
</Row>
</Contents>
</DataObject>
</bam:xmlPayload>
</bam:Insert>
结果遇到错误:
BAM-06147: DataObjectOperations Web 服务的 XML 有效负载无效; nested exception is:
java.rmi.RemoteException: BAM-06147: DataObjectOperations Web 服务的 XML 有效负载无效; nested exception is:
java.lang.RuntimeException: com.ctc.wstx.exc.WstxEOFException: Unexpected EOF in prolog
at [row,col {unknown-source}]: [2,0]
仔细研究后发现,<bam:xmlPayload>String</bam:xmlPayload>,传入的内容为字符串,而上面的demo会让xml解析器认为是新的xml元素非string,因此可通过encode解决该问题。
解决方法有两种,一、xml通常认为“<”是新的xml元素的开始,对于少量的可以简单的将“<”替换成"<"即可;
二:当<bam:xmlPayload>间需要包含大量的xml内容时,可使用<![CDATA[ ]]>的方式将内容包含进来,xml解析时遇到CDATA即跳过不解析。
测试输入如下:
<bam:Insert xmlns:bam="http://xmlns.oracle.com/bam">
<!--Optional:-->
<bam:xmlPayload>
<DataObject Name="Employees" Path="/Samples">
<Contents>
<Row>
<Column Name="Salesperson" Value="Greg Jinyn" />
<Column Name="Sales Area" Value="Northeast" />
<column Name="Sales Number" Value="5671" />
</Row>
</Contents>
</DataObject>
</bam:xmlPayload>
</bam:Insert>
结果遇到错误:
BAM-06147: DataObjectOperations Web 服务的 XML 有效负载无效; nested exception is:
java.rmi.RemoteException: BAM-06147: DataObjectOperations Web 服务的 XML 有效负载无效; nested exception is:
java.lang.RuntimeException: com.ctc.wstx.exc.WstxEOFException: Unexpected EOF in prolog
at [row,col {unknown-source}]: [2,0]
仔细研究后发现,<bam:xmlPayload>String</bam:xmlPayload>,传入的内容为字符串,而上面的demo会让xml解析器认为是新的xml元素非string,因此可通过encode解决该问题。
解决方法有两种,一、xml通常认为“<”是新的xml元素的开始,对于少量的可以简单的将“<”替换成"<"即可;
二:当<bam:xmlPayload>间需要包含大量的xml内容时,可使用<![CDATA[ ]]>的方式将内容包含进来,xml解析时遇到CDATA即跳过不解析。
相关文章推荐
- ESB开发WebService接口
- Android webservice报错,实在没办法了,求助!!!
- MyEclipse使用JAX-WS 2.0生成WebService报错,无法生成WSDL文件
- InvokeWebServiceActivity
- WebService报错:org.apache.cxf.interceptor.Fault: No such operation
- webservice传值报错潜在危险的 Request.Form 值。
- asp.net页面去调用通过SSL加密的webservice报错
- 今天写WebService CXF Demo各种报错,原来是缺少jar包。
- Controller调用service报错:com.alibaba.dubbo.rpc.RpcException: Failed to invoke remote service :XXX
- Delphi调用Java的WebService报错can not find dispatch method for{null}terminalNo using "Payload QName-based Dispatcher"的解决方法
- webservice 执行连接oracle报错32位不能运行64位系统
- C# 链接webservice报错
- Java平台调用.net开发的WebService报错处理
- 用apache-cxf生成webservice客户端的时候报错Parameter: shead already exists for method
- 解决:Jersey搭建webService报错:com.sun.jersey.spi.inject.Errors$ErrorMessagesException
- 使用Servicemix(ESB)发布一个外部的WebService
- 调用WebService报错404问题 (转载)
- ESB就是各种webservice的组装平台
- webservice 动态调用 invoke
- 使用中国气象局的天气预报webservice,wsdl2java生成JAVA类时报错