axis2发布服务和生成客户端(Client)

上传人:suij****uang 文档编号:161146329 上传时间:2022-10-12 格式:DOCX 页数:15 大小:476.64KB
收藏 版权申诉 举报 下载
axis2发布服务和生成客户端(Client)_第1页
第1页 / 共15页
axis2发布服务和生成客户端(Client)_第2页
第2页 / 共15页
axis2发布服务和生成客户端(Client)_第3页
第3页 / 共15页
资源描述:

《axis2发布服务和生成客户端(Client)》由会员分享,可在线阅读,更多相关《axis2发布服务和生成客户端(Client)(15页珍藏版)》请在装配图网上搜索。

1、一、准备工作1. 下载 axis2 相关 jar 包目前最新版本为 1.6.2;将 axis2-1.6.2-bin.rar,axis2-1.6.2-war.zip 一并下载下来 ,下载地址: http:/axis .apach e. org/axis2/java/core/download .cgi2. 下 载 axis2 插 件 : axis2-eclipse-codegen-plugin-1.6.2.zip 、 axis2-eclipse-serv ice-plugin-1.6.2.zip, 下 载 地 址 http./axis.apache.org/axis2/jav a/core/to

2、ols/index.html3安装Eclipse插件,安装成功如下图:収耳 Gene-ralJ Axis2 Wizardsn? Axis2 Code- Generatorae Axi s2 G ervice Arch iver| 耳 CV&5.新建 Web Project (axis2_Serv ice)将 axis2-1.6.2-binlib 下的 jar 拷贝到 axis2_Servicelib 下,打开 axis2-1.6.2-war.zipaxis2WEB-INF下的 conf、modules、services 解压到项目(axis2_Service)WebRootWEB-INF下6.

3、修改web.xml文件,添加如下代码:Cservle匸Axi sSsrvle 匸 Drq aLpaLchs - axi_s2 tr a. tie port . http AxisSer vie 七 V/1 ese vletclass J J 一一 /WEB - LNF / ca n.f / axi 2 khlK / p ar am-value J 一一axi 22 . xml ux 1 -一 J h七 tp : / /lo ca JLhos t /myzep 0/ axis2 xml Axis Ser vie t/ s er vie 七一iLmmE* /services/* 7. 添加两个类:

4、 bean 类和服务类Bean 类:package.zjl.entity;import java.io.Serializable;public class User implements Serializable/*/privatestatic final long serialVersionUID1L;private int id; private String name; public int getId() return id;public void setId( int id) this.id = id;public String getName() return name;publi

5、c void setName(String name) this .name = name;要发布的服务类:package .zjl.service;import .zjl.entity.User;public class UserService public User getUser(User user) System.out.println(service:+user.getId(); System.out.println(service:+user.getName(); User po2 = new User();po2.setId(1); po2.setName(zjl);return

6、 po2;& Axis2插件工具生成aar文件,发布WebService在项目上右击-new-otherJWizards.总 Axi5.2 Code GeneraterAxis-2 Service Archiver选择 Axis2 Serv ice Archiv er,点击 nextService ArchiverWelcome to the new AXIS Service packager Wizard Interface.ln&ert th-eIo cation for the- dass files h-ere.Class Filff Location D:worksKis2_zerv

7、 ceWebRootXWEB-1xjfclazzezBrowse.Include 庖lass files onlyClass File Location 选择工程路径下的 classes 文件,点击 Next7 Skip WSLLO Select W&DLSelect a WSDL fileBrowse,勾选Skip WSDL项,点击next这里没有 jar 文件,所以默认,点击 Next勾选 Gen erate the serv ice xml automatically 项,点击 NextService Name 随便写记住就行, Class name 包名点类名称 点击 Load 会出现

8、这个类下的所有方法名称,点击 NextOutput location 选择输出文件位置(具体位置根据具体而定) ,点击 Finsh说明成功。刷新项目:d 宦7 WebRoot0 WETA-INFJ 鉛 WEB-INF 錄 lib7 modules丿白 service-_j, servicesist= UserService.aar_g, verEion-l.6J.aar lJii web.xmlj1* iridex.jsp项目下多了个 UserServ ice.arr 文件9 启动 Tomcat,在地址栏输入 http:/localhost:8080/axis2_serv一ice/servic

9、es/UserServ ice?wsdl 回车,vvKl.dfifiniEian 或nlrw. Hfid-lktivt/ficIwikiafi.inlfiOdp.ct-gi/WMil/ xmlns. n&l -littpi/ci-gi.apaciH.iaMicS/k-frd xrYlnA.rb-EEp:/锻t薈is.闰Kmlns:w5w*=phttp:/wi*rww3.oj/2Oa/ft5/-BtfdrMsln/w5iWi xrrins:hi:i:piht1ii:/5chnHJ5.xml505jtflrg/*r54il/tittp/t,xirin5:-asc2=!*ittpr/eMrtv.z.

10、cMTii.ci/x5tf1ElHb:x&tlil:l:p/-mnr.w3.iryL/JDJl/XMLi.liMiaiaia 3dHht_fraria-,llHllM/B sinibEi.Miap-JliAUi:/fiLlMiiHaii jcriiltauajKii-yL/MrMjl/-i!4J/B 9anlrii.soapi2-TEEp:/ficliftinhafi.ijnitHa#.ivaUMi-S4rvkji-*n5ii-type5-wj5cheffi3 attnbuteRDnrCiei:flult=_flUMiilll ?HnentFcniCirl:juit=_-皿上心呼蛍丁第戶naT

11、id-Llfitf-X5;5eqincedMgmcrit rYinDccurt-f rma-ld* tYpa -NjGiint /s.ahn-MTiC min Occur tC ruma-BiiafiHrm曲 $ /q1EE:ChBrTiJ-ots-schema KJTih?- aacZZhtlp /wdty.zp.oorvi oi/xsdB 3ttrixjtePonrOl3uit=-c|us*ni_ HenwntFo?F3ult=_ijuBMlrf t-srgei:wamMp3i:e=b1iPp;/ /MirwiflEjLi:MTiunr: ss.iTipari: nsmAEp3AlYtt(

12、iL7/aEltY.ijLcDm-Cii/MMi /-M_elwnent n3nw=gME8U3e*J?-MS.wiuanc6M和盃甲疸a,Ks_efemrnt-s.AkiTiant narrN-AtLIfiitriiAspoifcw-tM-pequencoiOes.-An-MTiC rrinOcajrt-D9 ninid-ratiM riilabk-tTwA CvpA-AKSrUsAi-.时is cenplMTp&-页面是一些 xml 配置性东西的内容,说明 WebServ ice 发布成功10. 新建客户端项目(项目名称: axis2_client ), 调用发布的 WebServ ice

13、11使用axis2插件生成客户端代码第一种方式:& Axis.2 Wiza rds是 Axis2 Code Generator总 Axis2 Service Archiver选择第一个,Next严bet this option if ycru ar&ady have a java souce file and need to generateHint ; You can generate java code from a WSDL or WSLL from ava so-u rGe file.Ne-a se specify what you want to- do.a Generateava

14、source code from a WSDL fileGenerate a WSDL from siava so-urGefile选择第一个, Next将能访问的WebService接口复制进去(也可以是一个后缀名为WSDL的文件名,我们在第二种方式在谈。点击NextOptionsSet the options for the code gneratar. If you wish to edit the codegen options, Select 匚ustorn optio-n from Codegen Option drop down lisCodegen optionOutput l

15、anguageService NamePort NameDatabinding NameCustom package name11 Generate tedi case:05 nerait 巳 die nt side codei運i Generate both sync and async Generate sync style only Generate async style onlyI |Generait已 server side code|GgnEirEte1 a default services.xrnl Geneiriate am Interface for SkeletomI |

16、 Generate Beth with all classes for evEry elements D-n ShemsENamespace to package mappingsNamespaceCustom package namehttp:/ org. apach e.axi s2/Ksd help:/ s&irvicc.zj l.co m onaxis2.apa ch e.org .xsd 幼 占亡 irvicuhttp!/ww/Af.w3. org/2006/05/a dd re-E z in g/ws d 1org.wS AWaw._2O06._D5 .add rec.1. 1.e

17、ll.1.J Advance OptionsCodegen option选择custom,勾选Generate test case (勾选此项,会生成测试类,此类需要junit.jar包)。点击NextOutputSet the output location for the gnsrated 匚odeSelect one of below to save the codegen output either on eclipse workspace project orn file system and then browse to enter the output pathM Browse

18、and select a project on current eclipse workspaceBrowse and select location on local Hie systemOutput pathQv/orkaxi&2_client|Browse.Add the Axic2 codegen jara to the cede-ger resulted proj&rtAdd Axis2 li ora rise to the codeg en result pirojectAxis Horne Unpiacked Axis2 binary home Or Axis2 source l

19、ocationBrowse.Check Libs._Create a jafile* of cod egen result project and add to resulted prejert lib folder (Default : Cod eg en Res ults .j a r)Jar File NamePage Hint 丈匕这里我们选择第一个,Output path选择项目名,点击Finsh说明生成客户端成功。刷新项目会多成几个java类文件,我们修改UserServiceTestjava 类 在这个类中添加main方法,将testgetUser方法中的代码添加到Main函数里

20、稍作修改:public static void main(String args) throws Exception UserServiceTest test = new UserServiceTest(); .zjl.service.UserServiceStub stub = new.zjl.service.UserServiceStub();/ the.zjl.service.GetUser getUser6 = (.zjl.service.GetUser) test.getTestObject(.zjl.service.GetUser. class);User u=new User()

21、;u.setId(1);u.setName(曾塞燕);getUser6.setUser(u); stub.getUser(getUser6);运行后控制台打印:冷P Search |曰 Con&ole SS算曇 函胡 Us-erServiceTest (1 Jaa Application D:Program FilesJavstjdkl,6,0_10binjavaw,exe (2013-3-27 F牛05, log4j:WARM No appenders coll Id be found for logger (org.apache.axis2 _ de log4j:WARN Please i

22、nitialize the log4j system properly第二种方式生成客户端调用 WebService:在 axis2_service 项目上,生成 WSDL,J G Axis2 WizardsAj(is2 Code Qenerato-ra: Axis-2 Service Ar chi ver选择第一个,NextSelect the wizardWei come to the Axis-2 code- gene raiior wizard.Please specify what you want to do.Generatesource Gode from a WSCL file

23、Caj:Generate a WSDL from a的旨 source ifiieHint : You can gene rate jsva code from s WSDL or WSDL from a Java s 口 liue file.选择第二个, NextAdd Folder 项目路径下的 classes,填写 Fully Qualified Class Name,点击 Test Class loading没有 红叉叉,说明成功, NextJava to WSDL OptionsSet the Options fo-r the generatorTarget Nameispiace

24、.cnTarget Nameispiace PrefixnsSchema target namespace .cnSchema target namespace Prefix xsdService NameUserSeirvice默认值,Service Name可以自己喜好改,NextOutput location 选择要输出的文件位置 FinshWSDL file output locationSelect the locaaion for the generated WSDL.Select the location where* to put the outputQ Browse and

25、add the WSDL to a projert on cunrenfc eclipse warlkEpaceBrowse and save the WSDL file on local file system0 utput Io catio nD:wo rlcaxi s2_seirviceWebRo ctWE B-IINR|SeirvicesBrowse.閲| Ax 152 Cod egen WizardAll operations completed successfully 1Output File Name Us.eServitevvHdl说明成功然后再客户端项目上(axis2_cl

26、ient)生成调用axis2_Service的WebService,跟第一种方式一样,唯一的区别在于如下图:将路劲改成,前面我们生成的 WSDL 文件,如下图:(这个 WSDL 文件根据你生成所在的位置而定)测试 UserServiceTest 类的 main 方式时,如果报异常,检查一下UserServiceStub stub=new UserServiceStub (); 点击进去构造的 WebService 是否正确,如果不正确将其改成正确地址,也可 以 构 造 UserServiceStub stub=new UserServiceStub ( “ http:/localhost:80

27、80/axis2_service/services/UserServi ce?wsdl ”);这样子就不会报错了。12. 可以将客户端生成服务(WebService)13. 在 axis2_client 新建丿 Axis2 WizardsAxis2 Code Generator启 Axi&2 Service Archiver选择第一个,NextPleste specify wh at you wa nt to do.Q Generate Java source cod?from a WSDL fileGenerate a WSDL firom aava source fileHint: You

28、 can generate java co-de from a WDL or WSDL from aava source file.选择第一个,Next选择 WSDL 文件,或者一个发布的 WebService 地址, Next为了客户端和服务代码的区别,将 Custom package name 改成 sitv勾选 Generate server side code Generate a default service.xml、Generate an Interface for Skeleton,NextOutputSet the output Ickation for the geriE8

29、ated code elect one of below to save the codsgsn Dutpu t either on eclipee woirkspace prcject or on file system and then browse to enter the output path Brov/se and select a pcject o-n current eclipse xvorlkspace:Browse. ?Brov/se and select location on local file systemOutput pathO:wDrlkaxi e 2_cli

30、ent0 Add the Axis2 codegen jars co the 匚odege-n resulted projectAdd Axis2 libraries to the codeg&n result project Create ajar file of codegen result project and add to re&ulted project lib folder (Default: Cod eg en R esults.j sr)Jar File NamePage Hint 盘| GetUser.javaG etU ser R espon se.j ava T| Us

31、erServi ce.java-7| UserServiceCaIlbackHandlerJavaU seirSeirvi ceStub.javaJ (ffl sitv卜0 U serServi ceM essag eRec eiv e rl nOu t,av a 、T| U &erServi ceSkelet&n Java JJ U serServi ceSkeleto-n Interface.java 塑 test-& JRE System Library jdkl.6.O_10-刍ava EE 5 Libraries-& Web App LibrariesJ _ resourcesJL

32、servi 匚 u 吕jceI庚 U ser S eiTvi ce.ws d I项目多 了 sitv 包和 resources 文件,将文件 resources 下的services.xml 和 UserService.wsdl 文 件 复 制 到WebRoot/Web-INF/Services/userService/META-INF 下( 文件目录手动构建)d 鋅 a5tis2_client 勢 test卜 JRE System Library jdkl.6.0_LC0.目目 EE 5 Libraries Web App Libraries- 鉛 resourcesJ 巴 WebRoot

33、& META-INF丿.WEB-INF 鋅 conf lib 凸 module&J鉛swrvi匚带J / uterService丿潜 META-INFjCj s-erviEet.Kml裁 UserService.wsdlJtj w&b ,:IT1Ij? in-dexjs.px bjild.xml修改 UserService.wsdl 文件将文件内容最后几段如下代码:wsdl;port najne=l,ri7ssrSBXviceHt: tpEndpoint binding= xscfzWssrerviceHttpBinafing:?- /wad1:definitionsLocation 默认生成

34、出来的地址不对,我们改成我们具体项目发布的地址: http:/localhost:8080/axis2_client/services/UserService 打开 services.xml 文件,最前的一段内容如下:m.e2aqBR&celvar nep= 虽亡 cp; /wkr kJ- argZns/krsdi/in-iJLi r * clas = wslrva UerSezvl caMesssvezXnuu rcticonzjlservice.UsezervlceSkeleton我 们 将 这 个 class 改 成 具 体 类 所 在 的 包 下 面 :sitv.UserService

35、MessageReciverInout ,sitv.UserServiceSkeleton修改 web.xml 文件,在 web.xml 文件添加如下代码:servle匸Axi sSsrvle tse工yLe七-匚丄呂乓夕u工百 apache - lx1.s2 七工5ltlepoi:七 http AxisSer vlet K1ini七一param J - - ax i s 2 . xml, pa the /pa r am-n ame 一一 J 一一/WEB- ENF/can.f /axig2 KmL J 一一axi s2 . xml .口工:/应岂工逊一口耳聪名 一一 J h七 tp : /

36、/loca JLhos t /myzep o/ axi.s2 jmil - ax i a 2 . repository. pa t h I - - / v? E B -1 NF - J 一一axis2 . xapasitory. ur 1 一一 J h七tip :/localhos七/Ey匚pm工amviJ-LimA /services/ */url-pa 七 tEr:nA 启 动 tomcat , 在 地 址 栏 输 入 :http:/localhost:8080/axis2 client/services/UserService?wsdl页面出现,xml形式的发布WebService内容,

37、配置成功,Axis2_client 的 WebService 和 axis2_service 发布的 WebService 一 模一样了。区别在于 axis2_client 根据 axis2_service 发布的 wsdl 文件 发布服务生成的代码不一样(即sitv下的java类就是服务),效果一模一样。测试:修改 UserServiceSkeleton.java 类里的 getUser 方法,原来代码如下:public zjl aervice-GetUserResponse.zj1.service.GetUser getueer0/ TODO : fil丄 this with tfia n

38、ecessary business logicthrow new java. lang-implement + this . get Class () -getNmeO 1 getuserBi;修改后如下:public 匚ii com z jl service GeRsponse getUser ( 匚 com z jl - service GetUsGr getUsexD user u-nev user();u send (100) fu s&i;NaiiiG盘爱你 I ;Get-U s q r Re spoils q LLser=nQW Get-Us er Response ();user

39、 Gt_z:Bt;u工n (uj ;r-aturn user;/ todo : fill this with t-he nscessary business logic/t-hrow new jav日.lang . unsupporte且0口6:工曰1;:1口11:忑匚巳&1;1.口吐(!11.巳日巳 implemerLt;/+ this0巳匕匚丄已吕5( getName ()+#gt;u吕巳工 f在 UserServiceTest 类中如下:public static void main(String args) throws Eception (UserServiceTest test =

40、 new UserServlceT皀芳二, z jl. seriGsBUeerSsrvic&St;iib etub 二 new cnBcomB ajl: /localhos七:BCiSO/a盂丄日:总吕弓工丁匚匕已/serices/UserService7wsdJ_r, J ;uzi.uom z j 1 兮mETiuE?. GetUs:G!i: getUs&r 6 = (cn- com. zj 1service - GetUser) testgetT&stObject(cncom.zjle&rviceGatusez Bclass);/ TODO : Fill in the q-et:User

41、hereUser u = new Usez();uBsetId(ll)iii setName zsaiyann );get-UserS已eVUs;巳工u);stub-getUseE(getUserS;将地址改成:http:/localhost:8080/axis2_client/services/UserService?w sdl测试如下:冷 Search 貝 Console 、_X 嚳 | UserServiceTest (1) Java Application D:Program Fi I esJ avaj d kl. 6.0_10b i nj a va w. exe (2013- _og4 j : WARN P_ease initi_a_ize the _og4 j system proper_y100我爱你点击最右边的X,如下:Search S ConsoletomcatSSeirver Remote Java Application D:Program FiIesJavajdkl.6.0 10binjavaw.exe (2013-3-28 tF09:-zsaiyan测试成功。

展开阅读全文
温馨提示:
1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
2: 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
3.本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 装配图网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
关于我们 - 网站声明 - 网站地图 - 资源地图 - 友情链接 - 网站客服 - 联系我们

copyright@ 2023-2025  zhuangpeitu.com 装配图网版权所有   联系电话:18123376007

备案号:ICP2024067431-1 川公网安备51140202000466号


本站为文档C2C交易模式,即用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。装配图网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知装配图网,我们立即给予删除!