BaoYaEr
使用Axis開發Web Service程序
1、新建一個Web工程,工程名為“AxisTest”:
2、新建“lib”文件夾,然后把主要JAR包:axis.jar,commons-discovery-0.2.jar,commons-logging-1.0.4.jar,jaxrpc.jar,wsdl4j-1.5.1.jar,saaj.jar;可選包(發布服務及生成客戶端程序是要用到的):activation.jar;mail.jar都拷貝到此“lib”文件夾下,并把主要的JAR包添加到工程的classpath中;
3、配置“web.xml”:
<?
xml version="1.0" encoding="UTF-8"
?>
<
web-app
version
="2.4"
xmlns
="http://java.sun.com/xml/ns/j2ee"
xmlns:xsi
="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation
="http://java.sun.com/xml/ns/j2ee
http://java.sun.com/xml/ns/j2ee/web-app_2_4.xsd"
>
<
display-name
>
Apache-Axis
</
display-name
>
<
listener
>
<
listener-class
>
org.apache.axis.transport.http.AxisHTTPSessionListener
</
listener-class
>
</
listener
>
<
servlet
>
<
servlet-name
>
AxisServlet
</
servlet-name
>
<
servlet-class
>
org.apache.axis.transport.http.AxisServlet
</
servlet-class
>
</
servlet
>
<
servlet
>
<
servlet-name
>
AdminServlet
</
servlet-name
>
<
servlet-class
>
org.apache.axis.transport.http.AdminServlet
</
servlet-class
>
<
load-on-startup
>
100
</
load-on-startup
>
</
servlet
>
<
servlet
>
<
servlet-name
>
SOAPMonitorService
</
servlet-name
>
<
servlet-class
>
org.apache.axis.monitor.SOAPMonitorService
</
servlet-class
>
<
init-param
>
<
param-name
>
SOAPMonitorPort
</
param-name
>
<
param-value
>
5001
</
param-value
>
</
init-param
>
<
load-on-startup
>
100
</
load-on-startup
>
</
servlet
>
<
servlet-mapping
>
<
servlet-name
>
AxisServlet
</
servlet-name
>
<
url-pattern
>
/servlet/AxisServlet
</
url-pattern
>
</
servlet-mapping
>
<
servlet-mapping
>
<
servlet-name
>
AxisServlet
</
servlet-name
>
<
url-pattern
>
*.jws
</
url-pattern
>
</
servlet-mapping
>
<
servlet-mapping
>
<
servlet-name
>
AxisServlet
</
servlet-name
>
<
url-pattern
>
/services/*
</
url-pattern
>
</
servlet-mapping
>
<
servlet-mapping
>
<
servlet-name
>
SOAPMonitorService
</
servlet-name
>
<
url-pattern
>
/SOAPMonitor
</
url-pattern
>
</
servlet-mapping
>
<!--
uncomment this if you want the admin servlet
-->
<!--
<servlet-mapping>
<servlet-name>AdminServlet</servlet-name>
<url-pattern>/servlet/AdminServlet</url-pattern>
</servlet-mapping>
-->
<
session-config
>
<
session-timeout
>
20
</
session-timeout
>
</
session-config
>
<!--
currently the W3C havent settled on a media type for WSDL;
http://www.w3.org/TR/2003/WD-wsdl12-20030303/#ietf-draft
for now we go with the basic 'it's XML' response
-->
<
mime-mapping
>
<
extension
>
wsdl
</
extension
>
<
mime-type
>
text/xml
</
mime-type
>
</
mime-mapping
>
<
mime-mapping
>
<
extension
>
xsd
</
extension
>
<
mime-type
>
text/xml
</
mime-type
>
</
mime-mapping
>
<
welcome-file-list
id
="WelcomeFileList"
>
<
welcome-file
>
index.jsp
</
welcome-file
>
<
welcome-file
>
index.html
</
welcome-file
>
<
welcome-file
>
index.jws
</
welcome-file
>
</
welcome-file-list
>
</
web-app
>
可參照“axis-1_4\webapps\axis\WEB-INF\web.xml”進行配置;
4、編寫服務端程序server,SayHello.java,編譯server.SayHello.java
package
server;
public
class
SayHello
{
public
String getName(String name)
{
return
"
hello
"
+
name;
}
}
5、編寫wsdd文件
deploy.wsdd文件內容如下:
<
deployment
xmlns
="http://xml.apache.org/axis/wsdd/"
xmlns:java
="http://xml.apache.org/axis/wsdd/providers/java"
>
<
service
name
="SayHello"
provider
="java:RPC"
>
<
parameter
name
="className"
value
="server.SayHello.getName"
/>
<
parameter
name
="allowedMethods"
value
="*"
/>
<
parameter
name
="scope"
value
="session"
/>
<!--
request, session, or application
-->
</
service
>
</
deployment
>
6、把工程發布到Tomcat并啟動Tomcat;
7、發布服務
編輯一個deploy.bat,Axis_Lib為axis.jar路徑。內容如下:
set Axis_Lib=.\lib
set Java_Cmd=java -Djava.ext.dirs=%Axis_Lib%
set Axis_Servlet=http://localhost:8080/AxisTest/servlet/AxisServlet
%Java_Cmd% org.apache.axis.client.AdminClient -l%Axis_Servlet% deploy.wsdd
執行這個批處理文件,這時候,如果提示成功的話,訪問http://localhost:8080/AxisTest/servlet/AxisServlet或http://localhost:8080/AxisTest/services就會顯示服務列表。
8、生成客戶端client stub文件
在瀏覽器上訪問服務器端的服務,可以下載到WSDL文件,通過Axis的相關工具,可以自動從WSDL文件中生成Web Service的客戶端代碼。
編寫一個WSDL2Java.bat文件,其內容如下:
set Axis_Lib=.\lib
set Java_Cmd=java -Djava.ext.dirs=%Axis_Lib%
set Output_Path=.\src
set Package=server.com
set wsdl_path=http://localhost:8080/AxisTest/services/ SayHello?wsdl
%Java_Cmd% org.apache.axis.wsdl.WSDL2Java -o%Output_Path% -p%Package% %wsdl_path%
執行這個批處理文件就可以生成client stub.
生成的stub client文件列表為:SayHello.java,SayHelloService.java,SayHelloServiceLocator.java,SayHelloSoapBindingStub.java .
9、編寫客戶端程序,編譯并執行
1)、Stubs方式
下面是一段junit測試客戶端代碼。
import
java.net.URL;
import
junit.framework.Test;
import
junit.framework.TestCase;
import
junit.framework.TestSuite;
public
class
TestWSClient
extends
TestCase
{
public
TestWSClient(String string)
{
super
(string);
}
public
void
SayHelloClient()
throws
Exception
{
SayHelloService service
=
new
SayHelloServiceLocator();
SayHello_PortType client
=
service.getSayHello() ;
String retValue
=
client.getName(
"
clientname
"
);
System.out.println(retValue);
}
public
static
Test suite()
{
TestSuite suite
=
new
TestSuite();
suite.addTest(
new
TestWSClient(
"
SayHelloClient
"
));
return
suite;
}
}
2)、動態調用方式:
try
{
//
Options options = new Options(args);
String endpointURL
=
"
http://localhost:8080/AxisTest/services/SayHello
"
;
Service service
=
new
Service();
Call call
=
(Call) service.createCall();
call.setTargetEndpointAddress(
new
java.net.URL(endpointURL) );
call.setOperationName(
new
QName(
"
SayHello
"
,
"
getName
"
) );
String res
=
(String) call.invoke(
new
Object[]
{
"
Jack
"
}
);
System.out.println( res );
}
catch
(Exception e)
{
System.err.println(e.toString());
}
發表于 2007-10-15 09:31
大田斗
閱讀(548)
評論(0)
編輯
收藏
所屬分類:
開源opensource
新用戶注冊
刷新評論列表
只有注冊用戶
登錄
后才能發表評論。
網站導航:
博客園
IT新聞
Chat2DB
C++博客
博問
管理
相關文章:
mule事件驅動服務
XPath語法
mule示例分析
在xml的汪洋中遨游之mule篇
EqualsBuilder和HashCodeBuilder
webservice cfx學習
JTA事務初級研究
JAVA 對象池
mina中文教程
spring+atomikos+JTA完整例子
<
2025年7月
>
日
一
二
三
四
五
六
29
30
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
1
2
3
4
5
6
7
8
9
導航
BlogJava
首頁
發新隨筆
發新文章
聯系
聚合
管理
統計
隨筆: 32
文章: 427
評論: 144
引用: 0
常用鏈接
我的隨筆
我的評論
我的參與
最新評論
留言簿
(5)
給我留言
查看公開留言
查看私人留言
隨筆檔案
2008年12月 (1)
2008年4月 (2)
2008年2月 (1)
2008年1月 (1)
2007年12月 (3)
2007年11月 (1)
2007年10月 (3)
2007年7月 (2)
2007年6月 (1)
2007年4月 (2)
2007年3月 (3)
2007年2月 (5)
2007年1月 (3)
2006年12月 (4)
文章分類
axis(6)
(rss)
eclipse(7)
(rss)
Hibernate(30)
(rss)
html/js/css(107)
(rss)
java(106)
(rss)
linux(7)
(rss)
Lucene(7)
(rss)
spring(36)
(rss)
Spring CLOUd(1)
(rss)
Strtus(30)
(rss)
其它(48)
(rss)
開源opensource(48)
(rss)
數據庫DateBase(30)
(rss)
設計模式(12)
(rss)
文章檔案
2018年8月 (1)
2012年5月 (1)
2012年4月 (2)
2011年7月 (6)
2010年3月 (1)
2010年2月 (1)
2010年1月 (3)
2009年12月 (1)
2009年10月 (1)
2009年8月 (3)
2009年3月 (1)
2009年2月 (1)
2008年12月 (3)
2008年11月 (10)
2008年10月 (3)
2008年9月 (2)
2008年8月 (2)
2008年7月 (4)
2008年6月 (13)
2008年5月 (15)
2008年4月 (9)
2008年3月 (10)
2008年1月 (18)
2007年12月 (33)
2007年11月 (6)
2007年10月 (18)
2007年9月 (10)
2007年8月 (18)
2007年7月 (15)
2007年6月 (25)
2007年5月 (19)
2007年4月 (26)
2007年3月 (38)
2007年2月 (33)
2007年1月 (27)
2006年12月 (27)
2006年11月 (12)
java
Ajax特效網站
cndiy nio
GRO
Hani Suleiman's blog
Java之路
java論壇
J道
mule
mule 入門
oksonic(動畫教程)
一路由你
中國eclipse
八進制
在線源碼
多線程實戰
天火
小米的blogjava
幻境伯克----jface/swt
很全的博克-強
每日一得
滿江紅
邢紅瑞
飛翔
鳥詩選(js)
鳥食軒 (dhtml)
工具
apache中文手冊
extjs學習
iconFindre
java 安全
javaresearch
java技巧網
js之王
matrix(study)
prototype api
spring中文
北京IT企業速查
在線流程圖工具
雅虎翻譯
朋友
Happyshow
hibernate異常
skywalker
sunshow
xf
亞光
同云博客
小弟鵬
張玉磊
昕
李陽
黃鳴
搜索
積分與排名
積分 - 1103878
排名 - 28
最新評論
1.?re: hibernate.cfg.xml配置
好全啊 .. 棒棒噠 ~ !
--junqinag.yang
2.?re: Quartz任務調度快速入門
我現在來看還是覺得不錯
--小任
3.?re: js中this的總結
評論內容較長,點擊標題查看
--pam
4.?re: Quartz任務調度快速入門
樓主辛苦
--yd
5.?re: Quartz任務調度快速入門
頂了,內容寫的很好
--sen
閱讀排行榜
1.?網頁不緩存(3561)
2.?Form嵌套引起的問題 (2864)
3.?解決IE下CSS背景圖片閃爍的Bug(2455)
4.?Spring AOP的動態載入原理(2412)
5.?如何制作漂亮的Excel表格(2053)
評論排行榜
1.?北京戶口--吃官司(5)
2.?開始→運行→輸入的命令集錦(3)
3.?讓網頁上的所有圖片動起來(2)
4.?Dom4j 編碼問題徹底解決 (1)
5.?心情不爽(1)
Powered by:
博客園
模板提供:
滬江博客
Copyright ©2025 大田斗
主站蜘蛛池模板:
麻豆亚洲av熟女国产一区二
|
久久久久免费看黄A片APP
|
免费看无码自慰一区二区
|
亚洲AV本道一区二区三区四区
|
欧洲美女大片免费播放器视频
|
四虎成人精品一区二区免费网站
|
亚洲一区二区三区亚瑟
|
国产精品久久久久久久久免费
|
婷婷亚洲久悠悠色悠在线播放
|
在线视频免费观看爽爽爽
|
jizzjizz亚洲日本少妇
|
国产一区二区三区免费视频
|
久久久亚洲精华液精华液精华液
|
一本久久综合亚洲鲁鲁五月天
|
羞羞视频在线免费观看
|
亚洲成a人片在线观看老师
|
一级做a爰片性色毛片免费网站
|
亚洲国产精品综合久久网络
|
久久狠狠躁免费观看2020
|
亚洲精品一区二区三区四区乱码
|
18禁美女裸体免费网站
|
亚洲日本人成中文字幕
|
国产精品麻豆免费版
|
黄色网址免费在线
|
亚洲精品第五页中文字幕
|
亚洲欧洲精品成人久久奇米网
|
中国一级特黄的片子免费
|
2020年亚洲天天爽天天噜
|
亚洲日韩欧洲乱码AV夜夜摸
|
四虎在线播放免费永久视频
|
1000部拍拍拍18勿入免费视频下载
|
日韩电影免费在线观看网址
|
亚洲人成网站18禁止久久影院
|
亚洲第一区精品日韩在线播放
|
真人做人试看60分钟免费视频
|
最新久久免费视频
|
亚洲国产成a人v在线
|
亚洲αv久久久噜噜噜噜噜
|
很黄很黄的网站免费的
|
麻豆精品成人免费国产片
|
456亚洲人成影院在线观
|