我想将ServiceManager WSDL连接到WSO2 esb作为代理服务的目标 . 我在同一个开发系统上安装了SM9和WSO2esb . SoapSonar将用于检查我的esb配置的结果 .
我的服务定义看起来如下:
<proxy name="SM9Lcl1IM" transports="http" startOnLoad="true" trace="enable" statistics="enable">
<description>Incident Management Local SM9</description>
<target>
<endpoint>
<address uri="http://localhost:19380/sc62server/PWS"/>
</endpoint>
<outSequence>
<send/>
</outSequence>
</target>
<publishWSDL uri="http://localhost:19380/sc62server/PWS/IncidentManagement.wsdl"/>
</proxy>
不幸的是,我无法解决问题,xsd文件必须转移到客户端 . SoapSonar通过一个弹出窗口告诉我,它想知道它在哪里可以找到
SM9Lcl1IM?xsd=http://VMDEMOW2K3:19380/sc62server/PWS/Common.xsd
我检查了wsdl并找到了以下声明:
<xs:import namespace="http://servicecenter.peregrine.com/PWS/Common" schemaLocation="http://VMDEMOW2K3:19380/sc62server/PWS/Common.xsd"/>'
所以我尝试了几件事:
-
我复制了WSDL内联,定义了一个位置/密钥对,并尝试在用户注册表中定义密钥
-
我检查了突触文档......似乎他们在过去的日子里也遇到了这个问题 . 这两个建议都不能在WS = 2中配置 . 我在Synapse也试过了 - 同样的问题 . 我尝试了synapse的代理示例(misc / proxy文件夹中的synapse.xml) - 这有效!啊......所以应该以某种方式工作......
-
我用WSO2的GUi以及单独的synapse安装的xml配置来计算很多时间 . 没有任何效果 .
是否有提示或设置指南,解决了这个问题?样本很好,但是从它们中获取解决方案有点太简单了 .
1 回答
我解决了,但解决方案并不能让我满意 . 我将xsd的内容包含在wsdl中,因此没有导入必需品 . 该解决方案可行,但将xsd的模块化概念颠倒过来 .
我认为,这个问题与突触中的旧bug有关(wso2 esb中的底层),而且就目前而言,它根本没有最终解决 .
如果您有更好的解决方案,请告诉我,因为我想拥有一个支持模块化概念的解决方案 .