開發環境 eclipse + wtp
如何使用
eclipse
的
"Web Service Explorer"
來
Test
已經存在的
web servicehttp://www.eclipse.org/webtools/jst/components/ws/1.0/tutorials/WebServiceExplorer/WebServiceExplorer.html
如何開發一個
JAX-WS 2.0
的
web service (
非
stateless bean
版
)Step 1: 建立一個dynamic web project。 File -> New -> Other... -> Web -> Dynamic Web Project。 Step 2: 把與ejb相關的jar添加到classpath,另外最好還需要添加jaxb jar(因為對於一些複雜的data type,例如list,需要用到jaxb的annotation) Step 3: 建立一個HelloWS.java================================
package ws;
import javax.jws.WebMethod;
import javax.jws.WebService;@WebService(name = "HelloWorld", serviceName = "HelloWorldService")
public
class HelloWS { @WebMethod
public String getHello(String name){
return"hello " + name; } }================================ Step 4: 在eclipse J2EE perspective裡,double click該dynamic web project的“Deployment Descriptor: XXX”,在開啟的web.xml裡添加下列內容來
把上面的web service class設定成servlet。================================ <servlet> <servlet-name>HelloWS</servlet-name> <servlet-class>ws.HelloWS</servlet-class> </servlet> <servlet-mapping> <servlet-name>HelloWS</servlet-name> <url-pattern>/hellows</url-pattern> </servlet-mapping>================================ Step 5: 把上面的web project
打包成
WAR
檔案:在eclipse J2EE perspective裡, right click the web project node,select menu “Export à WAR file”,然後把WAR file deploy到你的WEB SERVER裡即可(我是用JBOSS,所以把WAR file copy to “deploy” folder)。 Step 6: 檢查你的web service是否運行正常。啟動jboss server,然後輸入http://localhost:8080/jbossws/services , 看是否有你的web service。如果有,則用前面所說的eclipse web service explorer來測試它。 上面的步驟是講解開發JAX-WS 2.0的web service。如果要用eclipse開發Apache Axis 2 web service,請參看http://www.eclipse.org/webtools/community/tutorials/BottomUpAxis2WebService/bu_tutorial.html
如何針對一個已經存在的
web service
,來建立一個
java web service clientStep 1: 建立一個normal java project Step 2: 然後通過wizard來產生一個web service client:
File -> New -> Other... -> Web Services -> Web Service Client
這樣就會根據你提供的wsdl自動產生下列檔案:
Step 3================================
import ws.HelloWorld;
import ws.HelloWorldProxy;
public
class TestWS {
public
static
void main(String args[]) {
try { // Call Web Service Operation
HelloWorldProxy service = new HelloWorldProxy();
HelloWorld port = service.getHelloWorld(); System.
out.println(port.getHello("tomson")); }
catch (Exception ex) { ex.printStackTrace(); } }}================================ Step 4:運行TestWS.java來測試
如何根據一個
WSDL
檔案來建立
web service
(
Top Down
方式)Step 1: 建立一個dynamic web project。 File -> New -> Other... -> Web -> Dynamic Web Project。(
注意:要勾上“Add project to an EAR”選項) Step 2: 把WSDL檔案import到project的root目錄下 Step 3: right click該wsdl檔案,select menu “Web services à Generate Java bean skeleton”,根據wizard來產生web service。 你也可參看http://www.eclipse.org/webtools/jst/components/ws/1.5/tutorials/TopDownWebService/TopDownWebService.html
註:上面
top down
方式產生的
web service
是基於
apache axis
的
web service
(不是基於
jax-ws 2.0
的),因此不會產生使用
annotation
的
web service
。 另:http://www.eclipse.org/webtools/community/tutorials/TopDownAxis2WebService/td_tutorial.html 教你如何通過apache axis 2來產生TOP DOWN方式的web service(同樣也是不使用annotation)
: 建立一個TestWS.java