如何在定义新的代理服务时从注册表引用WSDL文件?我正在使用WSO2 ESB .
Q1: 我可以使用 localEntry 元素在我的代理服务中定义WSDL吗?例如:
localEntry key="my_wsdl" src="file:/wsdl/MyServiceSOAP.wsdl"
前提是我之前使用过 Management Console > Add Collection >创建"wsdl"和 Add Resource > MyServiceSOAP.wsdl . 我的"src"值都有问题
"/wsdl/MyServiceSOAP.wsdl"
和
"wsdl/MyServiceSOAP.wsdl"
不起作用 . 我按照the documentation但他们没有展示如何将WSDL上传到注册表中 .
Q2: 如果MyServiceSOAP.wsdl导入MyService.wsdl怎么办?我也需要为MyService.wsdl使用 Add Resource 但我是否需要做其他任何事情来使代理编译?
2 回答
我想你在这里指的是注册表 . 每个产品中的注册表空间包含三个主要分区 .
本地
配置
治理
配置注册表包含特定于产品的配置,可以在同一产品的多个实例(例如,ESB节点集群)之间共享 . 因此,您可以在Config注册表中创建WSDL集合并将其引用为..
通过将资源上载到Registry,您也可以在创建代理服务时轻松选择它们 .
我认为只有当资源位于本地文件系统中名为“wsdl”的目录中时,才能将资源称为“file:/wsdl/MyServiceSOAP.wsdl” . 顺便说一句,关于错误消息..如果您查看ESB服务器日志,当您尝试更新引用非现有文件的代理时,您将看到以下错误 .
我从博客中找到了一个简单的解决方案:在我的场景中,我有一个wsdl,导入另一个导入xsd的wsdl . 实际的结构是在第二个wsdl .
在原始wsdl中导入行:
在第二个wsdl中导入行:
代理上需要的xml:
我有“file_required_service_1_0.wsdl”等本地条目,其中包含原始wsdl和xsd文件的本地条目 .