我正在尝试通过WSO2企业服务总线中的代理发布在治理注册表中注册的SOAP服务。由于WSDL中引用的资源的架构位置不正确,我在保存代理时出错。
特别是,我得到了:
Caused by: javax.wsdl.WSDLException: WSDLException (at /wsdl:definitions/wsdl:types/xsd:schema): faultCode=PARSER_ERROR: Problem parsing '../../../../schemas/org/tempuri/1.0.0/TestSoap1.xsd'.: java.io.FileNotFoundException: /../schemas/org/tempuri/1.0.0/TestSoap1.xsd (No such file or directory)当我在治理注册表中搜索WSDL时,导入的模式有一个使用“../{xsd name}”指向相对路径的位置,这显然是导致错误的原因。解决方案似乎是将所有模式位置重新映射到注册中心内部键(也称为gov:/trunk/...等等)。
这种行为对我来说没有任何意义。在创建代理时,ESB和GREG之间的集成对于使用以前GREG导入的WSDL应该很有用。我是不是遗漏了什么?
发布于 2017-01-18 04:15:02
选择具有依赖项的注册表资源时,需要在正在生成的代理服务中指定它们。在下面的示例中,我向您展示了需要在基于WSDL的代理中执行的配置,该WSDL将XSD作为依赖项,并且两者都在GREG中注册。
<publishWSDL key="gov:/trunk/wsdls/org/example/www/util/auditoria/1.0.0/Auditoria.wsdl">
<resource key="gov:/trunk/schemas/org/example/www/util/auditoria/1.0.0/Auditoria.xsd"
location="../../../../../../../schemas/org/example/www/util/auditoria/1.0.0/Auditoria.xsd"/>
</publishWSDL>https://stackoverflow.com/questions/36871237
复制相似问题