首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 网站开发 > Web前端 >

jaxws-webservice 例证

2013-08-10 
jaxws-webservice 例子创建并发布服务器端应用1.新建web service project。设置如下图。2.建立一个实现类,代

jaxws-webservice 例子

创建并发布服务器端应用

1.新建web service project
设置如下图。
jaxws-webservice 例证

2.建立一个实现类,代码如下:

?

jaxws-webservice 例证package?net;

public?class?addImpl?{
????public?double?add(double?num1,double?num2){
????????return?num1+num2;????????
????}
}jaxws-webservice 例证

?


这里只需要实现类,不再像XFIRE还需要一个接口。
ps:Web服务可用单个Java类的实现,但是最好是用“接口+实现”的方式来实现
3.建立web?service
选择工程名,点击工具栏的new web service按钮。
jaxws-webservice 例证

然后如下配置:
jaxws-webservice 例证
接着(在JAVA BEAN中输入实现类的名称,选择generate wsdl in project):
jaxws-webservice 例证
点击finish后包中多出一个该实现类的代理类addImplDelegate.java

4.导入包
工程-属性-build path-add library-myeclipse libraries导入以下两个包:
jaxws-webservice 例证
如果缺少这两个包,tomcat启动时会出现以下错误:?

?

严重:?Error?configuring?application?listener?of?class?com.sun.xml.ws.transport.http.servlet.WSServletContextListener
java.lang.ClassNotFoundException:?com.sun.xml.ws.transport.http.servlet.WSServletContextListener

?


5.启动tomcat,验证并获取WSDL文件

启动tomcat后在浏览器中输入http://localhost:8080/jaxws_src/addImplPort并点击页面中的链接查看WSDL文件,如果该文件能正确显示证明服务器端大功告成。
wsdl文件的uri是http://localhost:8080/jaxws_src/addImplPort?wsdl(你可能会问URI中的addImplPort从何而来,其实这个名字由图4中的Services port设定)

?

ps:在web.xml中有如下类容,可看出这个/addImplPort的作用

jaxws-webservice 例证jaxws-webservice 例证代码?<servlet>
??????<description>JAX-WS?endpoint?-?addImplService</description>
??????<display-name>addImplService</display-name>
??????<servlet-name>addImplService</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>addImplService</servlet-name>
??????<url-pattern>/addImplPort</url-pattern>
??</servlet-mapping>jaxws-webservice 例证

?

?




创建客户端调用

(不要关闭TOMCAT啊,不然jaxws-webservice 例证。。。。。)
1.新建java project,建立一包(包名安需求)net.
2.选择包点new web services client(参照本文的第二张图)
?? ps:有别与xfire,客户端不一定是服务端相同类型的web services client,可以是一个普通的工程也OK!!
3.指定wsdl的URI或wsdl的文件路径(见上)。
程序在net包中生成一些类如图:
jaxws-webservice 例证
ps:图中的add.java是一个javabean来,聪明的你应该知道它有啥用了吧!!jaxws-webservice 例证
4.新建一个测试类:

?

jaxws-webservice 例证package?com;

import?net.AddImplDelegate;
import?net.AddImplService;

public?class?test?{????
????public?static?void?main(String[]?args)?{
????????AddImplService?service=new?AddImplService();
????????AddImplDelegate?d=?service.getAddImplPort();
????????double?result=?d.add(15.6,?12.5);
????????System.out.println(result);
????}
}jaxws-webservice 例证

?

?

热点排行