欢迎使用普元产品知识库,本知识库包含普元应用开发平台EOSPlatform,流程平台BPS,企业服务总线ESB,微服务平台Microservice,运维管理平台Devops,数据集成平台DI
欢迎使用普元文档库
【问题描述】
在浏览器上访问http://127.0.0.1:9090/query?wsdl地址时出现如下错误,请问应该怎么解决?
[FlowName=com.primeton.esb.projectdata.restaurant.ms.m.mediaService.mediaService.biz][activity name=parseWhere][activity id=invokePojo0][exception=org.dom4j.DocumentException: Error on line 1 of document : Content is not allowed in prolog. Nested exception: Content is not allowed in prolog.]
[default][2016-06-02 23:57:04,565][ERROR][com.primeton.esb.mediation.exception.ExceptionMessageUtil:57] org.dom4j.DocumentException: Error on line 1 of document : Content is not allowed in prolog. Nested exception: Content is not allowed in prolog.
at org.dom4j.io.SAXReader.read(SAXReader.java:482)
at org.dom4j.DocumentHelper.parseText(DocumentHelper.java:278)
at com.eos.foundation.common.utils.XMLDataBaseUtil.parseWhere(XMLDataBaseUtil.java:548)
at com.eos.foundation.common.utils.XMLDataBaseUtil.parseWhere(XMLDataBaseUtil.java:590)
at com.primeton.esb.projectdata.restaurant.ms.m.mediaService.mediaService_biz.invokePojo0(mediaService_biz.java:196)
Nested exception:
org.xml.sax.SAXParseException: Content is not allowed in prolog.
at org.apache.xerces.util.ErrorHandlerWrapper.createSAXParseException(Unknown Source)
【解答】
1.soapui中调用的报文是否正确,有没有漏加符号等,如下所示:
<?xml version="1.0" encoding="UTF-8"?>
<data name="com.primeton.esb.projectdata.restaurant.data.newdataset.Userinfo">
<where>
<column ><name>userid</name><value>1</value></column>
</where>
</data>
此报文中字段及值为示例中表参考,另外data name的值com.primeton.esb.projectdata.restaurant.data.newdataset.Userinfo需要与示例中位置保持一致,如果名称等有进行修改此处也许进行修改。
如果还是不行建议尝试去除报文标头<?xml version="1.0" encoding="UTF-8"?>进行尝试。
2.在使用中还有需要注意的是,ESBStudio配置的数据库(在server下的user-config.xml,文档中有说明)需要与数据集所连接的数据库保持一致。其他在操作中需注意细节请详细根据文档是开发示例步骤进行操作。
主要的问题是服务类型问题,此服务代码里面是http代理,但用soapui的时候用的是ws服务;因为用http代理,所以无法生成wsdl文件。