2010-02-10 84 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