如何访问wso2 esb中的其余服务

时间:2013-06-19 08:18:02

标签: web-services rest wso2 wso2esb

我已经实施了这篇博文中描述的步骤Amila Suriarachchi:

http://wso2.com/library/articles/2012/10/implementing-restful-services-wso2-esb

我已完成上述Post中提到的所有内容,并且我将API调用URL设置为:

http://10.224.188.113:8280/students 

适用于StudentAPI。

现在在邮政中它已经给出了三个步骤:

1. To add a new student
    curl --request POST -v --data @addPayload.xml -H "Content-type: application/xml"  http://localhost:8280/students/003

2. To get the added student details
    curl --request GET -v  http://localhost:8280/students/003
3. To update the student
    curl --request PUT -v --data @updatePayload.xml -H "Content-type: application/xml"  http://localhost:8280/students/003

4. To delete the student
    curl --request DELETE -v  http://localhost:8280/students/003

添加更新,删除和get.But我的问题是,我可以不使用curl进行上述操作。 我可以访问休息服务http://10.224.188.113:8280/students的网址。 现在我的问题是,因为我必须让这个外部世界可访问我必须创建这个休息服务的代理,所以我如何能够代理上述休息服务,它为我提供了所有的操作。 期待您的回答。提前致谢

2 个答案:

答案 0 :(得分:2)

在您提到的文章中,Amila解释了如何在ESB上定义REST服务。

CURL是一种测试REST API的方法。访问REST API的另一种方法是使用Web浏览器。

任何可以发送REST请求(GET,POST,DELETE,UPDATE)的客户端程序都可以访问您定义的学生API而不会出现任何问题。您需要在URL中托管服务器,并为外部世界提供该URL的可访问性。 API Manager是一种可用于将API发布到外部世界的产品。但这没有必要。

如果要将这些作为SOAP服务公开给SOAP客户端,您也可以这样做。为此,您可以使用以下链接。

http://docs.wso2.org/wiki/display/ESB460/Using+REST+with+a+Proxy+Service

希望这可以帮助您找出问题所在。

答案 1 :(得分:0)

您可以从APIManager指出该API,使其可用于外部世界。或者,允许外部世界,直接访问您的后端api,但这取决于您的用户和用例。 在APIManger中,我们整合了swagger,它会自动生成API指南,因此用户可以查看API中可用操作的详细信息