基于JAX-WS的webService開發實例

最近因為工作原因接觸到webService,所以記錄下開發中碰到的問題,方便自己以后復習,順便發揚一下開源精神。剛剛接觸webServie如果有什么錯誤歡迎大家指正。

本地環境:myEclipse10.6 tomcat7 JDK7 jaxws-ri-2.2.10

第一步:創建一個基于JAX-WS的webService工程
如果原先擁有正式項目也可以直接使用原有項目實現webService接口

?

第二步:引用庫

引用myEclipse libray中的JAX-WS 2.1 Runtime Libraries(Project Metro 1.1)和JAX-WS 2.1 APILibraries

不知道為什么有些myEclipse中卻無法找到這兩個庫,其中就包括我。

解決辦法:下載jaxws-ri,將lib目錄下的jar包全部復制到項目中lib目錄下。

下載地址:https://jax-ws.java.net/

?

第三步:創建測試接口

package com.demo.webservice;import javax.jws.WebMethod;
import javax.jws.WebService;@WebService
public class Test {//處理方法數量名稱任意
    @WebMethodpublic String test1(String str){return "測試1接收參數:" + str;}
}

第四步:在WEB-INF目錄下創建sun-jaxws.xml文件

<?xml version = "1.0"?>
<endpoints version="2.0"xmlns="http://java.sun.com/xml/ns/jax-ws/ri/runtime"><!-- webService接口配置參數 name名稱 implementation實現接口的類 url請求此接口的地址 --><endpoint name="test1"implementation="com.webservice.Test"url-pattern="/test1"></endpoint></endpoints>


第五步:修改web.xml在web.xml中新增以下配置

<!-- 監聽器 --><listener><listener-class>com.sun.xml.ws.transport.http.servlet.WSServletContextListener</listener-class></listener><servlet><servlet-name>test1</servlet-name><servlet-class>com.sun.xml.ws.transport.http.servlet.WSServlet</servlet-class><load-on-startup>1</load-on-startup></servlet><servlet-mapping>  <servlet-name>test1</servlet-name>  <url-pattern>/test1</url-pattern><!-- select請求地址 就是在sun-jaxwx.xml配置的url -->  </servlet-mapping>

?

項目結構:

?

第六步:測試

發布項目到tomcat中,啟動tomcat。

打開瀏覽器輸入地址:http://localhost:8080/webService/test1?wsdl

如果出現下面這種頁面說明webService已經發布成功

?

第七步:編寫webService客戶端

1.創建新的Web Project項目webServiceClient

2.使用myEclipse工具創建webService客戶端

3.選擇你新建的項目webServiceClient(新項目名稱) 點擊next

4.輸入webService服務端地址,就是剛剛在瀏覽器輸入的地址,點擊next

5.等待一會兒,繼續點擊next

?

3.編寫測試類

package com.demo.test;import com.demo.webservice.Test;
import com.demo.webservice.TestService;public class ClinetTest {public static void main(String[] args) {TestService service = new TestService();//根據接口的名稱改變Test testPort = service.getTestPort();String param = "測試1參數-你好!";//請求參數String result = testPort.test1(param);//請求System.out.println(result);//打印返回值
    }
}

結果

項目結構

?

?

轉載于:https://www.cnblogs.com/LFBlog/p/6605653.html

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/news/372602.shtml
繁體地址,請注明出處:http://hk.pswp.cn/news/372602.shtml
英文地址,請注明出處:http://en.pswp.cn/news/372602.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

完整的WebApplication JSF EJB JPA JAAS –第2部分

視圖–創建和JSF設置 本教程是第1部分的繼續。 讓我們創建一個新的Dynamic Web Project 。 如下圖所示創建它&#xff1a; 注意&#xff1a;在某些時候&#xff0c;Eclipse會詢問您是否要添加JSF功能&#xff08;自動完成&#xff09;&#xff0c;然后啟用它。 就像下面的屏幕…

lempel ziv matlab,基于Python的LempelZiv算法的熵估計

此函數允許估計時間序列的熵。它基于Lempel-Ziv壓縮算法。對于長度為n的時間序列&#xff0c;熵估計為&#xff1a;E(1/n和L_i)^-1 ln(n)式中&#xff0c;L逯i是從位置i開始的最短子串的長度&#xff0c;該子串之前沒有從位置1出現到i-1。當n接近無窮大時&#xff0c;估計的熵收…

Android使用繪圖Path總結

Path作為Android中一種相對復雜的繪圖方式&#xff0c;官方文檔中的有些解釋并不是很好理解&#xff0c;這里作一個相對全面一些的總結&#xff0c;供日后查看&#xff0c;也分享給大家&#xff0c;共同進步。 1.基本繪圖方法 addArc(RectF oval, float startAngle, float swee…

2017.3.23下午

下午通過對OSPF基本原理進一步的學習&#xff0c;對上午學習的內容進行了復習。 轉載于:https://www.cnblogs.com/bgd140206206/p/6606192.html

編寫Eclipse插件教程–第1部分

Eclipse是三個最受歡迎的Java開發IDE之一。 其成功的原因之一是其可擴展性。 對于任何知道該怎么做并且已經做到的人來說&#xff0c;編寫eclipse插件都可以非常輕松快捷。 不幸的是&#xff0c;第一次在Eclipse中進行操作可能會非常耗時且令人沮喪。 Eclipse框架非常龐大&…

簡單Window下 Android Studio的安裝

&#xff08;1&#xff09;首先安裝JDK 下載JDK 本人覺得官方網站下JDK比較慢&#xff0c;可以直接百度JDK&#xff0c;&#xff08;如果是64位 百度搜索記得64位&#xff09; 類似于這樣的下載 安裝可以看下教程&#xff0c;包括環境變量的配置 如何安裝JDK &#xff08;2&…

日期處理一之NSLalendar的使用

一、日期和時間模式 日期和時間格式由日期和時間模式字符串組成&#xff0c;在日期和時間模式字符串中未加引號的A到‘Z’和a到‘z’被解釋為模式字母&#xff0c;用來表示日期或時間。字符串元素&#xff0c;文本可以使用單引號&#xff08;‘’&#xff09;引起來使用。定義以…

java的使用Pair要導入什么包,第三方jar包的使用

被導入的外部類所在源文件通常要打包成jar包&#xff0c;java中的jar文件裝的是 .class 文件。它是一種壓縮格式和zip兼容&#xff0c;被稱為jar包。JDK提供的許多類&#xff0c;也是以jar包的形式提供的。在用的時候呢&#xff0c;你的文件里有很多個類&#xff0c;把這些類和…

十大最受歡迎的新Eclipse插件

Eclipse Marketplace仍然是發現有趣且相關的Eclipse插件的地方。 通過Eclipse Marketplace客戶端&#xff0c;每月成功安裝100,000多個基于Eclipse的產品。 我們提供了過去30天 以來所有時間最受歡迎的插件列表。 我認為看看過去12個月中最受歡迎的新插件會很有趣。 以下列出了…

在桌面顯示我電腦

打開Windows PowerShell&#xff08;一個像是命令提示符的東西[藍底白字]&#xff0c;但不是命令提示符&#xff09;&#xff0c;在Windows PowerShell內輸入cmd回車&#xff0c;當返回如下信息&#xff1a; Microsoft Windows [版本 6.2.9200](c) 2012 Microsoft Corporation。…

《Java技術》第二次作業計科1501趙健宇

&#xff08;一&#xff09;學習總結 1.使用Eclipse關聯jdk源代碼,查看String類的equals&#xff08;&#xff09;方法 equals&#xff08;&#xff09;方法截圖 “”比較的是地址。equals方法他同樣使用號進行內存地址的比較。但是equals方法重寫如果號比較不相等&#xff0c;…

注射php,UPDATE注射(mysqlphp)的兩個模式

一.測試環境&#xff1a;OS:Windowsxpsp2php:php4.3.10(mysql4.1.9apache1.3.33二.測試數據庫結構&#xff1a;-----start-----數據庫:test----------------------------------------------------------------表的結構userinfo--CREATETABLEuserinfo(groudidvarchar(12)NOTNULL…

JUnit的內置Hamcrest Core Matcher支持

在用JUnit和Hamcrest改進assertEquals的文章中&#xff0c;我簡要討論了Hamcrest “ 核心 ”匹配器與JUnit的現代版本“結合”在一起的情況。 在那篇文章中&#xff0c;我特別關注了JUnit的assertThat&#xff08;T&#xff0c;Matcher&#xff09;靜態方法與Hamcrest核心is()匹…

FormsAuthentication使用指南,實現登錄

一般情況下&#xff0c;在我們做訪問權限管理的時候&#xff0c;會把用戶的正確登錄后的基本信息保存在Session中&#xff0c;以后用戶每次請求頁面或接口數據的時候&#xff0c;拿到Session中存儲的用戶基本信息&#xff0c;查看比較他有沒有登錄和能否訪問當前頁面。Session的…

Java開發高性能網站需要關注的事

轉自&#xff1a;http://www.javabloger.com/java-development-concern-those-things/ 近期各家IT媒體舉辦的業內技術大會讓很多網站都在披露自己的技術內幕與同行們分享&#xff0c;大到facebook&#xff0c;百度&#xff0c;小到剛起步的網站。facebook&#xff0c;百度之類的…

mysql到oracle數據遷移,mysql數據遷移到oracle

mysql: utf-8字符集oracle: Al32UTF8步驟&#xff1a;1. 從mysql導出csv格式數據&#xff0c;導出時設置default_character_setgbk&#xff0c;否則會亂碼2.上傳至linux服務器(oracle服務器),用以下命令將windows的/r/n換成/r:sed -i "s//r//g" file3.將gbk編碼轉為u…

測試抽象類和模板方法模式

摘自Wikipedia&#xff0c;“模板方法定義了算法的程序框架。 子類可以覆蓋一個或多個算法步驟&#xff0c;以允許不同的行為&#xff0c;同時確保仍然遵循總體算法。” 通常&#xff0c;此模式由兩個或多個類組成&#xff0c;一個是提供模板方法&#xff08;非抽象&#xff09…

LoadRunner性能測試結果計數器指標說明

LoadRunner性能測試結果計數器指標說明 轉載2015-09-23 09:57:13標簽&#xff1a;loadrunner計數器針對性能測試結果分析過程中&#xff0c;面對大量的測試數據&#xff0c;反而感覺無從下手分析。今天我們就Windows操作系統計數器中的個別被監控對象進行簡單的說明。 Memory: …

Elasticsearch之需要注意的問題(es和jdk版本)

&#xff08;1&#xff09;在使用java代碼操作es集群的時候 要保證本地使用的es的版本和集群上es的版本保持一致。 &#xff08;2&#xff09;保證集群中每個節點的JDK版本和es基本配置一致 這個很簡單&#xff0c;不多說。 &#xff08;3&#xff09;es集群中jdk版本不一致 …

oracle視圖查詢數據慢,8i查詢DBA_FREE_SPACE視圖極慢的問題

還是那套古老的8.1.7.4&#xff0c;在該系統上檢查表空間使用情況的SQL運行緩慢&#xff0c;其SQL如下:SELECT D.TABLESPACE_NAME,SPACE "SUM_SPACE(M)",SPACE - NVL(FREE_SPACE, 0) "USED_SPACE(M)",ROUND((1 - NVL(FREE_SPACE, 0) / SPACE) * 100, 2) &q…