2012-06-26 50 views
4

據我所知,需要像JBoss這樣的Apache Tomcat或App服務器來部署和運行用java實現的Web服務。Java Web服務可以託管,而不需要將它部署在Tomcat/JBoss等服務器上?

我的經理問我,在沒有配置或設置Apache Tomcat/JBoss的情況下部署Web服務沒有其他選擇。

我基本上是一名QA工程師,擁有最少的Java編程經驗。

我們正在努力開發/實施負載生成可通過測試腳本調用SMTP郵件的基於Java的Web服務使用不同的技術(QTP,Perl的等)

感謝您的時間開發。

+0

這可能有所幫助: http://stackoverflow.com/questions/1292171/deploy-java-web-service-without-using-web-server – Zakk

+0

謝謝Zakk。將檢查出來 – dkarthik

回答

2

是的,您可以使用@WebService註釋簡單地運行一個Web服務。它甚至支持SOAP。

簡單的例子(從here採取,在德語):

服務:

@WebService 
@SOAPBinding(style=Style.RPC) 
public class Calculator { 
    public long addValues(int val1, int val2) { 
    return val1 + val2; 
    } 
} 

初始化代碼:

public class CalculatorServer { 
    public static void main (String args[]) { 
    Calculator server = new Calculator(); 
    Endpoint endpoint = 
     Endpoint.publish("http://localhost:8080/calculator", server); 
    } 
} 
+0

您引用的文章根本不涉及無容器執行。甚至不接近這個問題。 – pap

+0

@pap你說得對,我已經刪除了參考。不幸的是,我無法在這個主題上找到有用的英文文章......但是,這是做到這一點的方法。 – nfechner

+0

@nfechner - 感謝您的輸入。根據IBM DeveloperWorks Portal中的文章使用javax.ws編寫示例程序。 – dkarthik

0

希望我們能,如果我們用一個BINDING協議作爲SMTP或CORBA而不是HTTP。

鏈接:針對Web服務的協議stack

1

用java構建的Web服務基本上是具有不同數據表現行爲的Java應用程序。你可以,就在那時你必須讓它們在消費者呼叫服務時運行。這就是我們如何以白盒方式測試它們的方法。