1

我们刚刚安装了 WSO2 ESB,并且正在尝试创建一些带有海关端点的代理服务。

默认的 endoint 格式为:

  • http://{host}:{port}/services/{代理服务名称}

我想要类似的东西:

  • http://{host}:{port}/services/utilities/{代理服务名称}
  • http://{host}:{port}/services/public/{代理服务名称}

我遵循了本教程:

但是我们有一个问题,当我向我的自定义端点发送请求时,我没有答案。

建议?

4

2 回答 2

1

我假设您能够正确创建自定义端点,并且“我没有答案”意味着您没有得到任何响应。如果是这种情况,以下是可能的原因,

  1. 代理服务端点没有收到请求
  2. 代理服务未正确配置以响应

因此,测试 1 是否是您可以简单地在 inSequence 中放置具有以下配置的日志中介的原因,

<log level="full"/>

然后,如果代理服务收到一条消息,它将把它记录在控制台中。如果可行,请发布您的代理服务配置以检查它是否正确定义。

于 2013-05-10T05:50:21.767 回答
0

好吧,看来我们已经找到了解决方案,我将恢复完整的解决方案。

如教程所示,要定制您的代理服务端点,您必须在 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

因此,现在您为每个代理服务都有一个自定义端点。

感谢马利斯的帮助。

于 2013-05-17T07:21:17.187 回答