现象:
原有两台WebLogic v6.1上面运行的WS应用,改成WebLogic v6.1作为服务提供方,WebSphere V6作为服务接收方后,在WebSphere接收到返回信息时,抛出错误:
00000032 SystemErr R WebServicesFault
faultCode: {http://schemas.xmlsoap.org/soap/envelope/}Server.generalException
faultString: org.xml.sax.SAXParseException: 内容中不得出现字符序列“]]>”,除非它用于标记 CDATA 部分的结尾。 Message being parsed: <?xml version='1.0' encoding='UTF-8'?><SOAP-ENV:Envelope xmlns:SOAP-ENV='http://schemas.xmlsoap.org/soap/envelope/' xmlns:SOAP-ENC='http://schemas.xmlsoap.org/soap/encoding/' xmlns:xsi='http://www.w3.org/1999/XMLSchema-instance' xmlns:xsd='http://www.w3.org/1999/XMLSchema'><SOAP-ENV:Body><ns0:unifiedCall20Response xmlns:ns0='urn:local' SOAP-ENV:encodingStyle='http://schemas.xmlsoap.org/soap/encoding/'><return xsi:type='xsd:string'><?xml version="1.0" encoding="GB2312"?>
<RESPONSE>
<ROUTE>
<VERSION>2.0</VERSION>
<OBJ_RANGE>01</OBJ_RANGE>
<RET_FLAG>Y</RET_FLAG>
</ROUTE>
<DISPATCHER>
<VERSION>2.0</VERSION>
</DISPATCHER>
<CONTENT>
<COMMAND>QUERY</COMMAND>
<RET_FORMAT>VN,CN,VL,CT</RET_FORMAT>
<DATA APPID="A001">
<STATE>1/1</STATE>
<R>
<PHOTO VN="PIC"><![CDATA[/9j/4AAQSkZJRgABAQAAAQABAAD/2wOckkZrL(以下略)
(以上略)orODSv3Sknd5i5JPrzWx9s8Qf8AQN/8fX/GqbZO/U//2Q==]]></PHOTO>
</R>
</DATA>
</CONTENT>
</RESPONSE>
</return></ns0:unifiedCall20Response></SOAP-ENV:Body></SOAP-ENV:Envelope>
faultActor: null
faultDetail:
原因:
究其原因,因为发送的XML中包含<CDATA>标签,而在发送前WebLogic将该段XML放入到SOAP时,该段XML的”<”全部被转义成”<”,但”>”却没有被转义,导致WebSphere在接收之后解析该段XML时就会抛出Exception。但如果该段XML不含有<CDATA>字样时不会有任何转义现象出现。
解决方案:
因为当时无法更换发送端的WebLogic服务器,而问题出现在那边,因此只好对发送出来的XML进行编码(如Base64),使发送时的内容不再是含有CDATA的XML,而只是一串特殊的字符串,以此“蒙骗”WebLogic进行SOAP打包时候的问题。WebSphere方接收后应用程序需要对该特殊字符串进行解码再做原有的XML解析。
分享到:
相关推荐
weblogic12c部署webservice错误问题WSSERVLET11: 无法解析运行时描述符: java.lang.IllegalStateException: MASM0001:
Programming Web Services for WebLogic Server 手册
所以tuxedo与weblogic之间的互连通信会经常遇到,本文通过2个例子介绍tuxedo与weblogic通信的配置与开发,两个例子分别通过wtc(weblogic tuxedo connector)、jolt实现weblogic与tuxedo通信的配置与开发.本文所有例子...
网上多半描述的是Weblogic8.1版本,而很少有关Weblogic10版本下发布webService。据本人了解,这两个版本相差甚多。发生的问题也截然不同。而且网上多半是一些helloworld的范例,但实际项目工程的发布又和发布hello...
Weblogic92+CXF+XDoclet+Spring轻松搞定webservice 例子
weblogic10.3.3之后升级到weblogic10.3.6详细操作文档,可以安装文档说明进行操作对weblogic低版本进行升级操作。
weblogic12c windows linux 64 32 各版本
weblogic监控 weblogic调优 weblogic版本区别 weblogic启动关闭脚本
CXF 对于WAS,Weblogic等应用服务器的支持
WebLogic环境下WebService开发过程.doc
weblogic日常巡检的方法,包括weblogic8和weblogic10,,如果weblogic中间件出现问题,也可以通过这些地方入手排查。
NULL 博文链接:https://long-jhx.iteye.com/blog/473145
Oracle-WebLogic-Server-12c-各版本功能特性速查表 Oracle-WebLogic-Server-12c-各版本功能特性速查表
weblogic10.3集群配置.doc weblogic10.3优化设置.doc weblogic 报 to many open file错误.docx weblogic.xml_部署描述符元素.docx Weblogic+10.3+集群配置手册.doc weblogic-debug模式启动.docx weblogic-debug模式...
weblogic8.1+axis1.4+ibatis2.3开发webservice服务,并通过生成的客户端调用服务
weblogic反序列化全版本漏洞利用工具,可执行命令
第七章 使用 Java 消息服务进行企业消息传递 第八章 使用会话企业 JavaBean 第九章 实体 EJB 第十章 使用消息驱动 EJB 第十一章 使用 WebLogic Server JavaMail 连接 Internet 邮件 第十二章 管理 WebLogic Server ...
Weblogic的安装与配置Weblogic的安装与配置Weblogic的安装与配置Weblogic的安装与配置Weblogic的安装与配置