OBIEE服务器WSDL导入异常:SOAPUI与Java wsimport均报错
解决OBIEE WSDL在SOAPUI/wsimport中解析失败的问题
我之前也碰到过OBIEE这个WSDL解析的坑,浏览器能正常加载但工具报错,本质是XML解析器比HTML解析器严格得多,给你几个靠谱的解决思路:
1. 确保工具传递正确的认证凭证
浏览器是手动输入凭证后拿到纯WSDL XML,但SOAPUI和wsimport默认不会带认证信息,可能拿到的是OBIEE的HTML登录页面,导致XML解析器报错。
SOAPUI配置步骤:
导入WSDL时,在弹出的窗口中点击「Authentication」选项卡,添加「Basic Auth」,填入你的OBIEE用户名和密码,这样SOAPUI请求WSDL时会自动带上认证头,获取到正确的XML内容。wsimport命令配置:
直接在命令中指定用户名和密码:wsimport -username your_obiee_user -password your_obiee_pass http://mysrvr:port/analytics/saw.dll?wsdl或者创建一个认证文件(比如
auth.txt),内容格式为:http://mysrvr:port/analytics/saw.dll?wsdl=your_obiee_user:your_obiee_pass然后用命令加载:
wsimport -Xauthfile auth.txt http://mysrvr:port/analytics/saw.dll?wsdl
2. 手动导出并修复WSDL文件
如果认证后还是报错,说明OBIEE返回的WSDL本身存在XML格式问题(比如HTML.Version实体声明不规范),浏览器的HTML解析器容错性高所以能显示,但XML解析器会严格校验:
- 在浏览器中输入WSDL地址,输入凭证后,右键选择「另存为」,把页面内容保存为本地XML文件(比如
obiie_wsdl.xml)。 - 用文本编辑器打开这个文件,找到报错的
<!ENTITY HTML.Version ...>行,确保它以>正确闭合(比如可能是实体内容里的特殊字符没转义,或者声明格式错误)。 - 在SOAPUI中导入本地的
obiie_wsdl.xml文件,或者用wsimport处理本地文件:wsimport obiie_wsdl.xml
3. 检查OBIEE服务器配置
如果上述方法都无效,可能是OBIEE版本的小bug导致WSDL输出不规范,可以尝试:
- 检查OBIEE的补丁更新,是否有修复WSDL输出格式的补丁。
- 调整OBIEE Web服务的配置参数,禁用不必要的HTML实体输出(具体可参考OBIEE官方文档中的Web服务配置章节)。
内容的提问来源于stack exchange,提问作者Rahul Patel
相关产品推荐
相关产品推荐

