从浏览器访问Web服务

6
我对Web服务的工作方式比较陌生,因此我查看了一篇教程(http://blog.saminda.org/2008/07/light-weight-osgi-based-axis2-powered.html),其中介绍了如何设置一个打印“hello”的Web服务。
代码用于打印“hello”在这里。在同一个项目在这里,有另一个将两个数字相加的Web服务。
要访问“hello”Web服务,只需打开浏览器并转到http://localhost:8080/bridge/services/Version/getVersion
但是,如何访问计算器Web服务呢?它的URL是什么?还是需要额外进行注册才能使用?

2
你可能想在你的问题中添加一个Java标签。如果存在的话,甚至可以添加OSGi和Axis2标签。我还没有足够的声望来重新标记它。 - Rob Cowell
很遗憾,“hello”和计算器的示例代码链接已不再可用。 - Rob Cowell
3个回答

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

因此,在添加数字示例中,ClassName为Calculator,MethodName为add,并将x和y参数(代码将它们相加)作为URL参数传递。

我自己不是Java开发人员,因此不知道在可调用之前是否需要先编译Web服务代码,但如果您已经使“hello”代码正常工作,您将知道答案。


0

如果你刚开始开发Web服务,那么你应该看看servicestack.net。它是一个开源的Web服务框架,可以降低创建和使用Web服务的学习曲线。这里有一个“实时示例”,展示了创建和调用简单Web服务所需的所有源代码,可以在Ajax、Android iOS或Silverlight应用程序中使用:

https://github.com/ServiceStackApps/LiveDemos


看起来对我很有用(收藏一下!),但它声称适用于 .Net 和 Mono,而原帖作者使用的框架似乎是基于 Java 的(Apache Tomcat)。 - Rob Cowell
哦,没看到Java标签,以为是.NET,我的错。 - mythz
没关系,它本身没有被标记为Java,但底层平台是基于Java的。无论如何,Servicestack仍然对我很有用;-) - Rob Cowell

0

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接