亚洲免费在线-亚洲免费在线播放-亚洲免费在线观看-亚洲免费在线观看视频-亚洲免费在线看-亚洲免费在线视频

【JAX-WS入門系列】第07章_與Tomcat集成

系統(tǒng) 2181 0

服務(wù)端是一個Web Project,客戶端是一個Java Project



首先是服務(wù)端的SEI

?

    package com.jadyer.service;



import javax.jws.WebParam;

import javax.jws.WebResult;

import javax.jws.WebService;



@WebService(targetNamespace="http://blog.csdn.net/jadyer")

public interface HelloService {

	@WebResult(name="sayHelloResult")

	public String sayHello(@WebParam(name="name")String name);

}
  


下面是服務(wù)端的SIB

?

?

    package com.jadyer.service;



import javax.jws.WebService;



@WebService(endpointInterface="com.jadyer.service.HelloService", targetNamespace="http://blog.csdn.net/jadyer")

public class HelloServiceImpl implements HelloService {

	@Override

	public String sayHello(String name) {

		System.out.println("Receive the name=[" + name + "]");

		if(null==name){

			return "Hello,World";

		}else{

			return "Hello," + name;

		}

	}

}
  


下面是集成所需的//WebRoot//WEB-INF//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">

	<!--           name:隨便起,在web.xml中配置Servlet時會用到它 -->

	<!-- implementation:對外開放WebServices接口的實(shí)現(xiàn)類 -->

	<!--    url-pattern:瀏覽器訪問后綴 -->

	<endpoint name="myJaxWsTomcatDemo"

			  implementation="com.jadyer.service.HelloServiceImpl"

			  url-pattern="/myHello"/>

</endpoints>



<!--

將JAX-WS開發(fā)的WebServices服務(wù)端部署到Tomcat

步驟如下

1)在WEB-INF下創(chuàng)建sun-jaxws.xml

2)導(dǎo)入JAX-RI包

3)配置web.xml

4)啟動tomcat

補(bǔ)充如下

JAX-RI是一個用來幫助我們開發(fā)WebService的工具包,類似的工具包有很多,JAX-RI只是其中的一個

JAX-RI的官網(wǎng)為https://jax-ws.java.net,我下載到的最新版為JAXWS2.2.7-20120813.zip

以下參考維基百科

JAX-RI即JAX-WS的參考實(shí)現(xiàn),它是作為一個開源項(xiàng)目開發(fā)的,是GlassFish項(xiàng)目的一部分,GlassFish是一個開源的JavaEE應(yīng)用服務(wù)器

JAX-RI聲稱達(dá)到了生產(chǎn)質(zhì)量的實(shí)現(xiàn)(以前的參考實(shí)現(xiàn)只不過是概念的驗(yàn)證),該參考實(shí)現(xiàn)現(xiàn)在是Metro的一部分

-->
  


最后是//WebRoot//WEB-INF//web.xml

?

?

    <?xml version="1.0" encoding="UTF-8"?>

<web-app version="2.5" xmlns="http://java.sun.com/xml/ns/javaee"

	xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"

	xsi:schemaLocation="http://java.sun.com/xml/ns/javaee 

	http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd">

	<listener>

		<!-- 固定值:使用jaxws-ri中的監(jiān)聽器 -->

		<listener-class>com.sun.xml.ws.transport.http.servlet.WSServletContextListener</listener-class>

	</listener>

	<servlet>

		<!-- 該值必須與sun-jaxws.xml中定義的endpointName相同 -->

		<servlet-name>myJaxWsTomcatDemo</servlet-name>

		<!-- 固定值:使用jaxws-ri中的Servlet -->

		<servlet-class>com.sun.xml.ws.transport.http.servlet.WSServlet</servlet-class>

	</servlet>

	<servlet-mapping>

		<servlet-name>myJaxWsTomcatDemo</servlet-name>

		<!-- 該值必須與sun-jaxws.xml中定義的url-pattern相同 -->

		<!-- Tomcat啟動成功后訪問路徑將為http://127.0.0.1:8088/webPath/myHello?wsdl -->

		<url-pattern>/myHello</url-pattern>

	</servlet-mapping>

</web-app>
  


至此,服務(wù)端代碼示例完畢,下面是客戶端代碼

?



客戶端只有一個調(diào)用服務(wù)端的示例ClientApp.java

注意:具體的客戶端代碼由wsimport生成,詳見 http://blog.csdn.net/jadyer/article/details/8692108

?

    package com.jadyer.client;



import java.io.IOException;

import java.net.URL;



import javax.xml.namespace.QName;

import javax.xml.soap.SOAPException;



import net.csdn.blog.jadyer.HelloService;

import net.csdn.blog.jadyer.HelloServiceImplService;



/**

 * wsimport -d D:/Download/ -keep -verbose http://127.0.0.1:8088/jaxws_tomcat/myHello?wsdl

 * @create May 31, 2013 7:49:51 PM

 * @author 玄玉<http://blog.csdn.net/jadyer>

 */

public class ClientApp {

	public static void main(String[] args) throws SOAPException, IOException {

		//服務(wù)端提供服務(wù)的端口是8088,如果使用Eclipse提供的TCP/IP Monitor,則此處需將8088改為TCP/IP Monitor監(jiān)聽的本地端口

		String wsdlLocation = "http://127.0.0.1:8088/jaxws_tomcat/myHello?wsdl";

		//取自wsdl文件中定義的<wsdl:definitions targetNamespace=""/>的值

		String nameSpace = "http://blog.csdn.net/jadyer";

		//取自wsdl文件中定義的<wsdl:service name="">的值

		String serviceName = "HelloServiceImplService";

		HelloServiceImplService helloServiceImpl = new HelloServiceImplService(new URL(wsdlLocation), new QName(nameSpace, serviceName));

		HelloService hello = helloServiceImpl.getHelloServiceImplPort();

		System.out.println(hello.sayHello("玄玉"));

	}

}
  

【JAX-WS入門系列】第07章_與Tomcat集成


更多文章、技術(shù)交流、商務(wù)合作、聯(lián)系博主

微信掃碼或搜索:z360901061

微信掃一掃加我為好友

QQ號聯(lián)系: 360901061

您的支持是博主寫作最大的動力,如果您喜歡我的文章,感覺我的文章對您有幫助,請用微信掃描下面二維碼支持博主2元、5元、10元、20元等您想捐的金額吧,狠狠點(diǎn)擊下面給點(diǎn)支持吧,站長非常感激您!手機(jī)微信長按不能支付解決辦法:請將微信支付二維碼保存到相冊,切換到微信,然后點(diǎn)擊微信右上角掃一掃功能,選擇支付二維碼完成支付。

【本文對您有幫助就好】

您的支持是博主寫作最大的動力,如果您喜歡我的文章,感覺我的文章對您有幫助,請用微信掃描上面二維碼支持博主2元、5元、10元、自定義金額等您想捐的金額吧,站長會非常 感謝您的哦!!!

發(fā)表我的評論
最新評論 總共0條評論
主站蜘蛛池模板: 人成午夜免费大片在线观看 | 偷亚洲偷国产欧美高清 | 欧美午夜精品 | 二区在线观看 | 综合久久99久久99播放 | 亚洲视频毛片 | 欧美xxx午夜免费视频 | 欧美日韩成人在线观看 | 精品久久久久久乐 | 国内一区亚洲综合图区欧美 | 麻豆久久婷婷国产综合五月 | 国产精品久久久久久久久久一区 | 2021最新国产成人精品免费 | 久久精品国产久精国产果冻传媒 | 看全色黄大色大片免费久久久 | 久久久久久亚洲精品不卡 | 91在线网 | 亚洲欧美一区二区三区在饯 | 精品老司机在线观看视频 | 福利视频在线观看午夜 | 久久久久国产精品免费免费不卡 | 国产在线视频不卡 | 伊人在线| 久久精品视频1 | 狠狠色噜噜狠狠狠狠97 | 5g影院天天爽 | 高清不卡毛片免费观看 | 一级黄色免费毛片 | 狠狠操天天操视频 | 国产在线一区二区三区 | 国内外成人在线视频 | 国产福利一区二区精品视频 | 老子影院午夜理伦手机不卡 | 日本成人二区 | 2021国内精品久久久久影院 | 欧美国产日韩久久久 | 国产精品伦一区二区三级视频 | 免费鲁丝片一级在线观看 | 色综和| 99热这里只有精品免费国产 | 国内精品久久久久丫网址 |