我有一个esb应用程序,它公开了一个SOAP Web服务(使用CSIO模式)。 以下是我wsdl的片段:
<wsdl:definitions xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:wsdl="http://schemas.xmlsoap.org/wsdl/" xmlns:tns="http://www.CSIO.org/standards/PC_Surety/CSIO4.3.0/xml/" xmlns:soap="http://schemas.xmlsoap.org/wsdl/soap/" xmlns:ns1="http://schemas.xmlsoap.org/soap/http" name="MyService" targetNamespace="http://www.CSIO.org/standards/PC_Surety/CSIO4.3.0/xml/" xmlns:ns0="http://www.ACORD.org/standards/PC_Surety/ACORD1.7.0/xml/">
在我使用AnyPoint Studio的桌面启动时没有任何问题。当我在基于Linux的独立服务器中部署时,我遇到了这个问题。
以下启动日志来自我的一个较低环境。看来mule正在上网验证命名空间。
INFO [WrapperListener_start_runner]? (:) - 初始化服务:MyFlowWebservice.stage1 INFO [WrapperListener_start_runner]? (:) - 从WSDL创建服务{{{3}}} MyService:classpath:MyService.wsdl
当我进入服务器无法访问互联网的更高环境时,我就会看到以下内容
INFO [WrapperListener_start_runner]? (:) - 初始化服务:MyFlowWebservice.stage1 WARN [WrapperListener_start_runner]? (:) - 在上下文初始化期间遇到异常 - 取消刷新尝试 org.springframework.beans.factory.BeanCreationException:使用名称&#39; MyFlowWebservice&#39;创建bean时出错:init方法的调用失败;嵌套异常是org.mule.api.lifecycle.InitialisationException:SERVICE_CREATION_MSG 在org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.initializeBean(AbstractAutowireCapableBeanFactory.java:1514)〜[?:?] 在org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.doCreateBean(AbstractAutowireCapableBeanFactory.java:521)〜[?:?]
.....
...
.....
...
引起:javax.wsdl.WSDLException:WSDLException(在/ wsdl:definitions / wsdl:types / xsd:schema / xsd:schema / xsd:schema / xsd:schema):faultCode = PARSER_ERROR:问题解析&#39 ; file:/opt/mule/myesb/apps/myesb-1.0-SNAPSHOT/classes/schemas/xml-ns.xsd'。:java.net.ConnectException:连接被拒绝 在com.ibm.wsdl.xml.WSDLReaderImpl.getDocument(未知来源)〜[?:?] 在com.ibm.wsdl.xml.WSDLReaderImpl.parseSchema(未知来源)〜[?:?] 在com.ibm.wsdl.xml.WSDLReaderImpl.parseSchema(未知来源)〜[?:?]
此时无法打开互联网访问权限。我不知道该尝试什么,因为我对XML命名空间知之甚少。有关如何避免此问题的任何建议?
答案 0 :(得分:0)
我找到了解决方案。
其中一个架构文件中有这一行 - xml-ns.xsd:
<!DOCTYPE xs:schema PUBLIC "-//W3C//DTD XMLSCHEMA 200102//EN" "http://www.w3.org/2001/XMLSchema.dtd">
我将XMLSchema.dtd下载到其他架构文件所在的同一文件夹中,并替换为&#34; http://www.w3.org/2001/XMLSchema.dtd&#34;只需&#34; XMLSchema.dtd&#34;