2010-02-10 80 views
6

我对web服务的工作方式比较陌生,所以我已经从 http://blog.saminda.org/2008/07/light-weight-osgi-based-axis2-powered.html 中得到了一个教程,它设置了打印hello的web服务。从您的浏览器访问网络服务

打印出你好的代码是here。在同一个项目here中,还有另一个Web服务将两个数字相加。

要访问“hello”web服务,我只需进入我的浏览器并转至http://localhost:8080/bridge/services/Version/getVersion

但是,我怎么做的计算器Web服务?什么是网址?或者,我是否必须做一些额外的事情才能将该服务注册为服务?

+2

您可能需要为您的问题添加一个java标记。如果它们存在,甚至可能是osgi和axis2标签。 – 2010-02-12 09:39:59

+0

“hello”示例代码和计算器的链接已不再可用,可悲的是 – 2010-02-14 10:53:14

回答

7

看起来这将是http://localhost:8080/bridge/services/Calculator/add

这似乎期望参数,但有不知道如何向他们传递一个URL指示 - 你可以尝试追加X = 2 & Y = 3,看看是否?它返回5

更新:是的,这似乎没错,看到帖子在http://blog.saminda.org/2008/08/exposing-osgi-service-as-web-service.html一个计算器例如

更新2:正如我在原来的问题,发表了意见链接到的代码,您所呼叫的不再可用。然而,似乎有一个普遍的原则来调用这些东西。格式似乎是

http://server:port/bridge/services/ClassName/MethodName?parameter=value&anotherparam=value

所以在添加数字例子中,类名是计算器,MethodName为添加和x和y的参数(该代码相加)作为URL参数传递。

我自己并不是Java开发人员,所以我不知道是否需要在可调用代码之前编译Web服务代码,但是如果您已经有了“hello”代码,我会知道这个答案。

0

那么,如果您刚开始使用网络服务进行开发,那么您应该看看servicestack.net这是一个开源Web服务框架,可减少创建和使用Web服务的学习曲线,这是一个“实例”,向您展示需要从一个Ajax,安卓iOS或Silverlight应用程序中创建和调用简单的Web服务的所有源代码:

https://github.com/ServiceStackApps/LiveDemos

+0

看起来对我很有用(收藏夹!!),但它声称是为了。 Net和Mono,而原始的海报则使用了一个似乎基于Java的框架(Apache TomCat)。 – 2010-02-14 11:15:58

+0

噢,没有看到Java标签,认为.NET,我的坏。 – mythz 2010-02-14 11:45:03

+0

没关系,它没有标记为java,但基础平台是基于java的。不管怎样,服务堆东西对我来说仍然是一个有用的链接;-) – 2010-02-14 17:45:09