免费视频淫片aa毛片_日韩高清在线亚洲专区vr_日韩大片免费观看视频播放_亚洲欧美国产精品完整版

打開APP
userphoto
未登錄

開通VIP,暢享免費(fèi)電子書等14項(xiàng)超值服

開通VIP
JAX-WS(三)構(gòu)建簡單webservice部署到tomcat上

前言:

雖然構(gòu)建本地的jax-ws的webservice很簡單,但要部署到tomcat上要繞過點(diǎn)彎。

tomcat本身和jdk都沒有jaw-ws的API,所以部署的時(shí)候需要額外做點(diǎn)事情,有兩種選擇

1、下載必要的jar庫,JAX-WS RI,地址:https://jax-ws.java.net/

2、使用其他服務(wù)器,比如TomEE(tomcat的加強(qiáng)版)等。(未測試),可以參考:

Step by Step JAX-WS Web Services with Eclipse, TomEE, and Apache CXF

因?yàn)槠綍r(shí)用tomcat比較多,就用第一種方式。

 

一、準(zhǔn)備工作

下載jax-ws RI。

配置:根據(jù)文檔,

To install on Tomcat

  • Set CATALINA_HOME to your Tomcat installation.

  • Run

    ant install

    This essentially copies lib/*.jar from the root of JAX-WS RI extracted bundle to $CATALINA_HOME/shared/lib

為了安全,還是把tomcat目錄下的share/lib中的jar包復(fù)制到tomcat_home/lib下。

 

二、創(chuàng)建一個(gè)動(dòng)態(tài)web project

2.1 創(chuàng)建工程

如下:

wsdl目錄是自己建的。

2.2 寫一個(gè)Hello的web service

package org.ccnt.jax.web.server;import javax.jws.WebMethod;import javax.jws.WebService;@WebServicepublic class Hello {    @WebMethod    public String say(String name) {        return "hello, " + name;    }}

注意:

@WebService

注釋在了Class之上,這告訴了JAXWS,此類為Webservice。

@WebMethod

注釋在了public方法上,這告訴了JAXWS,此方法為soap方法,該方法有兩個(gè)參數(shù),一個(gè)input的String,一個(gè)output的String。

業(yè)務(wù)邏輯很簡單,客戶端調(diào)用傳入一個(gè)Name,服務(wù)端返回給客戶端一個(gè)”Hello: “+name的字串。

現(xiàn)在我們通過Java文件來生成Webservice相關(guān)布署文件以及調(diào)用接口。

2.3 用wsgen生成相應(yīng)的類和wsdl文件

命令:

wsgen -cp ./build/classes -s ./src -r ./wsdl -d ./build/classes -wsdl org.ccnt.jax.web.server.Hello

生成一下目錄:

JAX-WS 2.0 有兩種開發(fā)過程:自頂向下和自底向上。自頂向下方式指通過一個(gè) WSDL 文件來創(chuàng)建Web Service,自底向上是從 Java 類出發(fā)創(chuàng)建 Web Service。兩種開發(fā)過程最終形成的文件包括:

1.SEI。一個(gè)SEI對(duì)應(yīng)WSDL中WebService的一個(gè)port,在Java中是一個(gè)Java接口。

2.SEI實(shí)現(xiàn)類。

3.WSDL和XSD文件。

結(jié)合公司內(nèi)項(xiàng)目的特點(diǎn),我們更多的是碰到以下兩種情況:

1.  Onsite要我們做一個(gè)Webservice或者是客戶要求我們提供Webservice接口;

2.  Onsite已經(jīng)有一個(gè)Webservice了,現(xiàn)在要我們做客戶端集成。

 

2.4 配置文件,編寫sun-jaxws.xml文件

<?xml version="1.0" encoding="UTF-8"?><endpoints xmlns='http://java.sun.com/xml/ns/jax-ws/ri/runtime'    version='2.0'>    <endpoint name='Hello' implementation='org.ccnt.jax.web.server.Hello'        url-pattern='/HelloService' /></endpoints>

把Hello聲明為webservice

2.5 配置文件,修改web.xml文件

添加上:

  <listener>      <listener-class>com.sun.xml.ws.transport.http.servlet.WSServletContextListener</listener-class>  </listener>    <servlet>      <servlet-name>Hello</servlet-name>      <servlet-class>com.sun.xml.ws.transport.http.servlet.WSServlet</servlet-class>      <load-on-startup>2</load-on-startup>  </servlet>  <servlet-mapping>      <servlet-name>Hello</servlet-name>      <url-pattern>/HelloService</url-pattern>  </servlet-mapping>

 

三、部署

在Eclipse里面直接運(yùn)行tomcat服務(wù)器,就把Hello webservice部署上了。

http://localhost:8080/JaxwsWebServer/HelloService

表面已經(jīng)部署上了

 

四、客戶端調(diào)用

新建一個(gè)工程,到工程目錄下,命令:

wsimport -s ./src -d ./bin -p org.ccnt.jax.web.client http://localhost:8080/JaxwsWebServer/HelloService?wsdl

在org.ccnt.jax.web.client目錄下能看到幾個(gè)生成的文件,創(chuàng)建ClientMain來調(diào)用服務(wù)

package org.ccnt.jax.web.client;public class ClientMain {    public static void main(String[] args) {        HelloService service = new HelloService();        String response = service.getHelloPort().say("loull");        System.out.println(response);    }}

 

五、總結(jié)下過程

  1. Create a web service (of course).
  2. Create a sun-jaxws.xml, defines web service implementation class.
  3. Create a standard web.xml, defines WSServletContextListener, WSServlet and structure of a web project.
  4. Build tool to generate WAR file.
  5. Copy JAX-WS dependencies to “${Tomcat}/lib” folder.
  6. Copy WAR to “${Tomcat}/webapp” folder.
  7. Start It.

我在開發(fā)web項(xiàng)目的webservice的時(shí)候,步驟是:

  1、create a web service

  2、用wsgen工具生成wsdl、java、class文件,class文件可以交給Eclipse自動(dòng)生成

wsgen -cp ./build/classes -r ./wsdl -s ./src -d ./build/classes -wsdl org.ccnt.jax.server.SampleService

 

  3、編寫或修改sun-jaxws.xml文件,加上:

<endpoint name='MTOMSimple' implementation='org.ccnt.jax.web.server.HelloSimple'        url-pattern='/HelloSimpleService' />

  4、修改web.xml文件,加上:

  <servlet>      <servlet-name>HelloSimple</servlet-name>      <servlet-class>com.sun.xml.ws.transport.http.servlet.WSServlet</servlet-class>  </servlet>  <servlet-mapping>      <servlet-name>HelloSimple</servlet-name>      <url-pattern>/HelloSimpleService</url-pattern>  </servlet-mapping>

  5、部署,啟動(dòng)

 

 

 

 

本站僅提供存儲(chǔ)服務(wù),所有內(nèi)容均由用戶發(fā)布,如發(fā)現(xiàn)有害或侵權(quán)內(nèi)容,請(qǐng)點(diǎn)擊舉報(bào)。
打開APP,閱讀全文并永久保存 查看更多類似文章
猜你喜歡
類似文章
MyEclipse開發(fā)WebService的方法
jaxws項(xiàng)目搭建 (具體看轉(zhuǎn)載網(wǎng)頁,里面有五篇文章)
Android開發(fā)WebService(Java版)
Axis2 WebService(配置、發(fā)布、調(diào)用) | Java |Life吧
JAVA6開發(fā)WebService (一)
webservice學(xué)習(xí),個(gè)人經(jīng)驗(yàn),好文(轉(zhuǎn))
更多類似文章 >>
生活服務(wù)
分享 收藏 導(dǎo)長圖 關(guān)注 下載文章
綁定賬號(hào)成功
后續(xù)可登錄賬號(hào)暢享VIP特權(quán)!
如果VIP功能使用有故障,
可點(diǎn)擊這里聯(lián)系客服!

聯(lián)系客服