﻿<?xml version="1.0" encoding="utf-8" standalone="yes"?><rss version="2.0" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:trackback="http://madskills.com/public/xml/rss/module/trackback/" xmlns:wfw="http://wellformedweb.org/CommentAPI/" xmlns:slash="http://purl.org/rss/1.0/modules/slash/"><channel><title>BlogJava-路漫漫其修远兮,吾将上下而求索!-随笔分类-webservice</title><link>http://www.blogjava.net/tangzurui/category/48687.html</link><description /><language>zh-cn</language><lastBuildDate>Wed, 25 May 2011 03:58:27 GMT</lastBuildDate><pubDate>Wed, 25 May 2011 03:58:27 GMT</pubDate><ttl>60</ttl><item><title>axis1.4学习示例</title><link>http://www.blogjava.net/tangzurui/archive/2011/05/25/350988.html</link><dc:creator>梓枫</dc:creator><author>梓枫</author><pubDate>Wed, 25 May 2011 03:53:00 GMT</pubDate><guid>http://www.blogjava.net/tangzurui/archive/2011/05/25/350988.html</guid><wfw:comment>http://www.blogjava.net/tangzurui/comments/350988.html</wfw:comment><comments>http://www.blogjava.net/tangzurui/archive/2011/05/25/350988.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.blogjava.net/tangzurui/comments/commentRss/350988.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/tangzurui/services/trackbacks/350988.html</trackback:ping><description><![CDATA[1.先下载axis-bin-1_4拿到所需要的jar包<br />我用的jar如下：<br /><img border="0" alt="" src="http://www.blogjava.net/images/blogjava_net/tangzurui/未命名.jpg" width="192" height="339" /><br />1.在eclipse中创建web项目<br />2.再把jar包COPY到lib目录下<br />3.在web.xml中加入以下代码：<br />
<p>&lt;listener&gt;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &lt;listener-class&gt;org.apache.axis.transport.http.AxisHTTPSessionListener&lt;/listener-class&gt;<br />&nbsp;&nbsp;&nbsp; &lt;/listener&gt;<br />&nbsp;&nbsp;&nbsp; <br />&nbsp; &lt;servlet&gt;<br />&nbsp;&nbsp;&nbsp; &lt;servlet-name&gt;AxisServlet&lt;/servlet-name&gt;<br />&nbsp;&nbsp;&nbsp; &lt;display-name&gt;Apache-Axis Servlet&lt;/display-name&gt;<br />&nbsp;&nbsp;&nbsp; &lt;servlet-class&gt;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; org.apache.axis.transport.http.AxisServlet<br />&nbsp;&nbsp;&nbsp; &lt;/servlet-class&gt;<br />&nbsp; &lt;/servlet&gt;<br />&nbsp; <br />&nbsp; &lt;servlet&gt;<br />&nbsp;&nbsp;&nbsp; &lt;servlet-name&gt;AdminServlet&lt;/servlet-name&gt;<br />&nbsp;&nbsp;&nbsp; &lt;display-name&gt;Axis Admin Servlet&lt;/display-name&gt;<br />&nbsp;&nbsp;&nbsp; &lt;servlet-class&gt;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; org.apache.axis.transport.http.AdminServlet<br />&nbsp;&nbsp;&nbsp; &lt;/servlet-class&gt;<br />&nbsp;&nbsp;&nbsp; &lt;load-on-startup&gt;100&lt;/load-on-startup&gt;<br />&nbsp; &lt;/servlet&gt;</p>
<p>&nbsp; &lt;servlet&gt;<br />&nbsp;&nbsp;&nbsp; &lt;servlet-name&gt;SOAPMonitorService&lt;/servlet-name&gt;<br />&nbsp;&nbsp;&nbsp; &lt;display-name&gt;SOAPMonitorService&lt;/display-name&gt;<br />&nbsp;&nbsp;&nbsp; &lt;servlet-class&gt;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; org.apache.axis.monitor.SOAPMonitorService<br />&nbsp;&nbsp;&nbsp; &lt;/servlet-class&gt;<br />&nbsp;&nbsp;&nbsp; &lt;init-param&gt;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &lt;param-name&gt;SOAPMonitorPort&lt;/param-name&gt;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &lt;param-value&gt;5001&lt;/param-value&gt;<br />&nbsp;&nbsp;&nbsp; &lt;/init-param&gt;<br />&nbsp;&nbsp;&nbsp; &lt;load-on-startup&gt;100&lt;/load-on-startup&gt;<br />&nbsp; &lt;/servlet&gt;</p>
<p>&nbsp;</p>
<p>&nbsp; &lt;servlet-mapping&gt;<br />&nbsp;&nbsp;&nbsp; &lt;servlet-name&gt;AxisServlet&lt;/servlet-name&gt;<br />&nbsp;&nbsp;&nbsp; &lt;url-pattern&gt;/services/*&lt;/url-pattern&gt;<br />&nbsp; &lt;/servlet-mapping&gt;</p>
<p>&nbsp; &lt;servlet-mapping&gt;<br />&nbsp;&nbsp;&nbsp; &lt;servlet-name&gt;SOAPMonitorService&lt;/servlet-name&gt;<br />&nbsp;&nbsp;&nbsp; &lt;url-pattern&gt;/SOAPMonitor&lt;/url-pattern&gt;<br />&nbsp; &lt;/servlet-mapping&gt;<br /><br />4.创建服务端类<br /><br />package server;<br />public class SayHello {<br />&nbsp;public String getName(String name)<br />&nbsp;&nbsp;&nbsp; {<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; return "hello "+name;<br />&nbsp;&nbsp;&nbsp; }<br />}<br /><br />5.编写WebRoot\WEB-INF\deploy.wsdd文件<br /><br />&lt;deployment xmlns="<a href="http://xml.apache.org/axis/wsdd/">http://xml.apache.org/axis/wsdd/</a>" xmlns:java="<a href="http://xml.apache.org/axis/wsdd/providers/java">http://xml.apache.org/axis/wsdd/providers/java</a>"&gt;<br />&lt;service name="SayHello" provider="java:RPC"&gt;<br />&lt;parameter name="className" value="server.SayHello"/&gt;<br />&lt;parameter name="allowedMethods" value="*"/&gt;<br />&lt;parameter name="scope" value="request"/&gt;<br />&lt;/service&gt;<br />&lt;/deployment&gt;<br /><br />6.在tomcat中启动项目<br /><br />7.</p>
<p>&nbsp; 打开cmd 进入 目录 :WEB-INF\</p>
<p>&nbsp; 输入部署命令(注意更改命令中服务的地址和端口)</p>
<p>&nbsp; java -Djava.ext.dirs=lib org.apache.axis.client.AdminClient -lhttp://localhost:8080/axis/services&nbsp;&nbsp; deploy.wsdd</p>
<p>&nbsp; 若显示<br />&nbsp; Processing file deploy.wsdd<br />&nbsp; &lt;Admin&gt;Done processing&lt;/Admin&gt;</p>
<p>&nbsp; 则表示发布服务成功</p>
<p>8.在浏览器中输入地址<br />&nbsp;&nbsp; <a href="http://localhost:8080/axitDemo/services">http://localhost:8080/axitDemo/services</a><br />&nbsp;&nbsp; 会显示你所发布的服务<br /></p>
<h2>And now... Some Services</h2>
<ul><li>AdminService <a href="http://localhost:8080/axitDemo/services/AdminService?wsdl"><em>(wsdl)</em></a> 
<ul><li>AdminService </li></ul></li><li>Version <a href="http://localhost:8080/axitDemo/services/Version?wsdl"><em>(wsdl)</em></a> 
<ul><li>getVersion </li></ul></li><li>SayHello <a href="http://localhost:8080/axitDemo/services/SayHello?wsdl"><em>(wsdl)</em></a> 
<ul><li>getName </li></ul></li></ul>
<p>点击&nbsp; SayHello <a href="http://localhost:8080/axitDemo/services/SayHello?wsdl"><em>(wsdl)</em></a>&nbsp;&nbsp; 便会显示其XML ,点右健,查看源文件,保存XML为WebRoot\WEB-INF\SayHello.xml<br /><br /></p>
<p><br />&nbsp;9.创建客户端<br />&nbsp; 编写axitDemo\WebRoot\WEB-INF\make.bat文件&nbsp; 内容如下<br /><br />&nbsp; java -cp ".;lib\axis-ant.jar;lib\axis.jar;lib\commons-discovery-0.2.jar;lib\commons-logging-1.0.4.jar;lib\jaxrpc.jar;lib\log4j-1.2.8.jar;lib\log4j.properties;lib\saaj.jar;lib\wsdl4j-1.5.1.jar" org.apache.axis.wsdl.WSDL2Java -p %1 %2<br /><br /><br />10. 打开cmd进入WEB-INF目录<br />&nbsp;&nbsp;&nbsp; 执行命令: make&nbsp; com.webserivce&nbsp;&nbsp;SayHello.xml<br />&nbsp;&nbsp; 成功后会在WEB-INF目录下生成<br />com.webserivce&nbsp;&nbsp;包下面会有java类 如下图:<br /><br /><img border="0" alt="" src="http://www.blogjava.net/images/blogjava_net/tangzurui/未命名2.jpg" /><br />COPY&nbsp;&nbsp;&nbsp; com.webserivce包到SRC目录下<br /><br />12.编写客户端测试Client 类<br /></p>
<p><br />package client;</p>
<p>import java.rmi.RemoteException;</p>
<p>import com.webserivce.SayHelloServiceLocator;<br />import com.webserivce.SayHello_PortType;</p>
<p><br />public class Client {<br />&nbsp;private SayHello_PortType dataService;<br />&nbsp;public Client()throws Exception{<br />&nbsp;&nbsp;SayHelloServiceLocator service= new SayHelloServiceLocator();<br />&nbsp;<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; this.setDataService(service.getSayHello());<br />&nbsp;}</p>
<p>&nbsp;private String getName(String name) throws RemoteException{<br />&nbsp;&nbsp;return dataService.getName(name);<br />&nbsp;&nbsp;<br />&nbsp;}<br />&nbsp;public static void main(String[] args)throws Exception {<br />&nbsp;&nbsp;Client c = new Client();<br />&nbsp;&nbsp;String a = c.getName("Test axis!");<br />&nbsp;&nbsp;System.out.println(a);<br />&nbsp;}</p>
<p>&nbsp;public SayHello_PortType getDataService() {<br />&nbsp;&nbsp;return dataService;<br />&nbsp;}</p>
<p>&nbsp;public void setDataService(SayHello_PortType dataService) {<br />&nbsp;&nbsp;this.dataService = dataService;<br />&nbsp;}<br />&nbsp;<br />}</p>
<p><br />运行Client 类<br /><br />hello&nbsp; Test axis!&nbsp; <br /><br />整个过程就完成啦。。。。。</p><img src ="http://www.blogjava.net/tangzurui/aggbug/350988.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/tangzurui/" target="_blank">梓枫</a> 2011-05-25 11:53 <a href="http://www.blogjava.net/tangzurui/archive/2011/05/25/350988.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item></channel></rss>