如何在定义新的代理服务时从注册表中引用WSDL文件?我正在使用WSO2 ESB.
Q1:我可以使用localEntry元素在我的代理服务中定义WSDL吗?例如:
localEntry key="my_wsdl" src="file:/wsdl/MyServiceSOAP.wsdl"
前提是我以前使用过管理控制台>添加收藏>创建“wsdl”,然后添加资源> MyServiceSOAP.wsdl.
我对“src”值都有问题,两者都有
"/wsdl/MyServiceSOAP.wsdl"
和
"wsdl/MyServiceSOAP.wsdl"
不工作.我遵循the documentation,但他们没有展示如何将WSDL上传到注册表中.
Q2:如果MyServiceSOAP.wsdl导入MyService.wsdl怎么办?我也需要为MyService.wsdl使用Add Resource,但是我是否需要做任何其他事情来使代理编译?
我想你在这里指的是注册表.每个产品中的注册表空间包含三个主要分区.
原文链接:https://www.f2er.com/windows/372010.html>本地
>配置
>治理
配置注册表包含可以在同一产品的多个实例(例如,ESB节点集群)之间共享的特定于产品的配置.所以你可以在Config注册表中创建WSDL集合并像它一样引用它.
"conf:/wsdl/MyServiceSOAP.wsdl"
通过将资源上载到Registry,您也可以在创建代理服务时轻松选择它们.
我认为只有当资源位于本地文件系统中名为“wsdl”的目录中时,才能将资源称为“file:/wsdl/MyServiceSOAP.wsdl”.
顺便说一句,关于错误消息..如果您查看ESB服务器日志,当您尝试更新引用非现有文件的代理时,您将看到以下错误.
Caused by: java.io.FileNotFoundException: ./wsdl/MyServiceSOAP.wsdl (No such file or directory) at java.io.FileInputStream.open(Native Method) at java.io.FileInputStream.<init>(FileInputStream.java:120) at java.io.FileInputStream.<init>(FileInputStream.java:79) at sun.net.www.protocol.file.FileURLConnection.connect(FileURLConnection.java:70) at sun.net.www.protocol.file.FileURLConnection.getInputStream(FileURLConnection.java:161) at org.apache.synapse.config.SynapseConfigUtils.getObject(SynapseConfigUtils.java:197) ... 46 more