Xsd 使用注册表资源的WSO2 ESB代理具有无效的架构引用

Xsd 使用注册表资源的WSO2 ESB代理具有无效的架构引用,xsd,wsdl,wso2,wso2esb,wso2greg,Xsd,Wsdl,Wso2,Wso2esb,Wso2greg,我试图通过WSO2 ESB中的代理发布在治理注册表中注册的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/

我试图通过WSO2 ESB中的代理发布在治理注册表中注册的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}”,这显然是错误的原因。解决方案似乎是将所有模式位置重新映射到注册表内部键(aka gov:/trunk/…等等)


这种行为对我来说毫无意义。ESB和GREG之间的集成对于在创建代理时使用以前由GREG导入的WSDL应该很有用。我遗漏了什么吗?

当您选择具有依赖项的注册表资源时,需要在正在构建的代理服务中指定它们。在下面的示例中,我向您展示了需要在基于以XSD作为依赖项的WSDL的代理中执行的配置,这两个配置都在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>