我们刚刚安装了 WSO2 ESB,并且正在尝试创建一些带有海关端点的代理服务。
默认的 endoint 格式为:
- http://{host}:{port}/services/{代理服务名称}
我想要类似的东西:
- http://{host}:{port}/services/utilities/{代理服务名称}
- http://{host}:{port}/services/public/{代理服务名称}
我遵循了本教程:
但是我们有一个问题,当我向我的自定义端点发送请求时,我没有答案。
建议?
我们刚刚安装了 WSO2 ESB,并且正在尝试创建一些带有海关端点的代理服务。
默认的 endoint 格式为:
我想要类似的东西:
我遵循了本教程:
但是我们有一个问题,当我向我的自定义端点发送请求时,我没有答案。
建议?
我假设您能够正确创建自定义端点,并且“我没有答案”意味着您没有得到任何响应。如果是这种情况,以下是可能的原因,
因此,测试 1 是否是您可以简单地在 inSequence 中放置具有以下配置的日志中介的原因,
<log level="full"/>
然后,如果代理服务收到一条消息,它将把它记录在控制台中。如果可行,请发布您的代理服务配置以检查它是否正确定义。
好吧,看来我们已经找到了解决方案,我将恢复完整的解决方案。
如教程所示,要定制您的代理服务端点,您必须在 axis2.xml 配置中添加以下处理程序:
<handler name="CustomURIBasedDispatcher" class="org.apache.synapse.core.axis2.CustomURIBasedDispatcher"/>
然后,您可以在设计视图或源视图上自定义端点,我选择了源视图,添加此参数:
<parameter name="ServiceURI">/services/intern</parameter>
自定义端点自动生成为:
http://{host}:{port}/services/intern.myWebservice
但我没有为我工作。如果我向自定义端点发送请求,我没有响应。
我已经解决了这个问题,将服务名称添加到“ServiceURI”参数中:
<parameter name="ServiceURI">/services/intern/myWebService</parameter>
那么您必须将请求发送到以下端点:
http://{host}:{port}/services/intern/myWebService
因此,现在您为每个代理服务都有一个自定义端点。
感谢马利斯的帮助。