﻿<?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-fykyx521</title><link>http://www.blogjava.net/fykyx521/</link><description /><language>zh-cn</language><lastBuildDate>Sun, 12 Apr 2026 06:03:22 GMT</lastBuildDate><pubDate>Sun, 12 Apr 2026 06:03:22 GMT</pubDate><ttl>60</ttl><item><title>webService转</title><link>http://www.blogjava.net/fykyx521/archive/2009/03/17/260314.html</link><dc:creator>康</dc:creator><author>康</author><pubDate>Tue, 17 Mar 2009 11:56:00 GMT</pubDate><guid>http://www.blogjava.net/fykyx521/archive/2009/03/17/260314.html</guid><wfw:comment>http://www.blogjava.net/fykyx521/comments/260314.html</wfw:comment><comments>http://www.blogjava.net/fykyx521/archive/2009/03/17/260314.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.blogjava.net/fykyx521/comments/commentRss/260314.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/fykyx521/services/trackbacks/260314.html</trackback:ping><description><![CDATA[<p>&nbsp;/*title: web service入门学习笔记（七）<br />
**date: 2007/01/19<br />
**author:laomai<br />
**url: <a href="http://blog.csdn.net/laomai/">http://blog.csdn.net/laomai/</a><br />
*/</p>
<p>七、命令行开发过程<br />
&nbsp;&nbsp; 通过以上的学习，我们知道如何在ant脚本和ide环境中开发一个简单的webservice.<br />
但是作为搞技术的人特别是搞c的人来看，上面的过程隐藏了太多的东西，<br />
对我们有钻研精神的人，自然就想搞清楚脚本背后的过程。<br />
假设我们的机器上没有ide环境和ant工具，<br />
我们如何&#8220;手工&#8221;编译出自己的webservice呢？<br />
这就是本节要讲述的内容--只用命令行工具开发webservice.</p>
<p>再次声明:</p>
<p>本部分主要参考了</p>
<p><a href="http://blog.csdn.net/lin_bei/archive/2006/11/07/1371131.aspx">http://blog.csdn.net/lin_bei/archive/2006/11/07/1371131.aspx</a></p>
<p>的内容，由于这位兄弟翻译的不是很通顺，我就按照自己的理解来改编成了<br />
hellowrold的例子:-)。<br />
其他部分为我原创，转载时请注明出处。</p>
<p>0、设置环境变量<br />
&nbsp;把jdk和javaee的路径如<br />
&nbsp;D:\Java\jdk1.6.0<br />
&nbsp;D:\Sun\SDK\bin加到系统的path变量中去</p>
<p>1、建立项目目录<br />
&nbsp;首先建立一个项目的目录，名为WebTest，项目目录下又包含三个子目录<br />
&nbsp; src\&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 本目录用于存放源代码，<br />
&nbsp; build\&nbsp;&nbsp;&nbsp; 本目录用于存放输出的文件<br />
&nbsp; deploy\&nbsp;&nbsp; 本目录用于对服务器打包<br />
&nbsp;&nbsp; <br />
2、编写服务器类实现文件<br />
&nbsp;&nbsp;在项目的src目录下建立一个个子目录endpoint，<br />
&nbsp;&nbsp;在这个endpoint子目录下新建一个Hello.java文件，内容如下<br />
&nbsp;<br />
&nbsp;/*src\endpoint\Hello.java文件&nbsp;&nbsp; <br />
&nbsp;&nbsp;提供webservice的服务器端实现类<br />
&nbsp;*/<br />
&nbsp;package endpoint;<br />
&nbsp; <br />
&nbsp;import javax.jws.WebService;<br />
&nbsp;import javax.jws.WebMethod;<br />
&nbsp; <br />
&nbsp;@WebService<br />
&nbsp;public class Hello<br />
&nbsp;{<br />
&nbsp;&nbsp;@WebMethod<br />
&nbsp;&nbsp;&nbsp; &nbsp;public String getHello(String name)<br />
&nbsp;&nbsp; &nbsp;&nbsp;{<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; return "Hello " + name + "!";<br />
&nbsp;&nbsp;&nbsp; &nbsp;}<br />
&nbsp; }<br />
3、编译服务器类<br />
&nbsp;①在build目录下建立一个子目录classes<br />
&nbsp; &nbsp;②在命令行执行如下命令<br />
&nbsp; &nbsp;&nbsp;cd WebTest&nbsp; ;进入项目目录<br />
&nbsp; &nbsp;&nbsp;javac -classpath d:/Sun/SDK/lib/javaee.jar -d ./build/classes src/endpoint/Hello.java&nbsp; ;编译服务器类<br />
&nbsp; &nbsp;执行完后会产生一个build\classes\endpoint\Hello.class文件<br />
&nbsp; <br />
4、生成wsdl文件<br />
&nbsp;①在build目录下建立一个子目录generated<br />
&nbsp;②生成wsdl文件,执行<br />
&nbsp;&nbsp;wsgen -cp ./build/classes -keep -d ./build/classes -r ./build/generated -wsdl&nbsp; endpoint.Hello<br />
&nbsp;<br />
&nbsp;执行完成会在./build/generated产生两个文件<br />
&nbsp;HelloService.wsdl<br />
&nbsp;HelloService_schema1.xsd<br />
&nbsp;并且在\build\class\endpoint下建立一个jaxws目录，下面有4个文件<br />
&nbsp;GetHello.java&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; <br />
&nbsp;GetHello.class<br />
&nbsp;GetHelloResponse.java<br />
&nbsp;GetHelloResponse.class<br />
&nbsp;<br />
&nbsp;这些文件与与前面所说的ant脚本中生成的<br />
&nbsp;D:\Sun\SDK\domains\domain1\generated\ejb\j2ee-modules\endpoint_Hello\endpoint\jaxws<br />
&nbsp;下的文件相同<br />
&nbsp;<br />
5、将服务器打包，做成war文件<br />
&nbsp;①建立打包所需要的目录<br />
&nbsp;&nbsp;&nbsp; 在项目的deploy目录下建立一个子目录/WEB-INF，<br />
&nbsp;&nbsp; WEB-INF子目录下再建立两个子目录<br />
&nbsp;&nbsp; &nbsp;classes/&nbsp; 用于存放服务器端类<br />
&nbsp;&nbsp; &nbsp;wsdl/&nbsp;&nbsp;&nbsp;&nbsp; 用于存放wsdl文件</p>
<p>&nbsp;②将各输出文件或目录拷贝到相应的目录下<br />
&nbsp;&nbsp;(1)把build\classes\endpoint整个目录拷贝到deploy/WEB-INF/class目录下<br />
&nbsp;&nbsp;(2)把build\generated目录下的两个文件<br />
&nbsp;&nbsp;&nbsp;HelloService.wsdl、HelloService_schema1.xsd拷贝到<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;deploy/WEB-INF/wsdl目录下<br />
&nbsp;③在deploy/WEB-INF/ 目录下新建一个web.xml文件，内容为<br />
&nbsp;&nbsp;&lt;?xml version="1.0" encoding="UTF-8"?&gt;<br />
&nbsp;&nbsp;&lt;web-app xmlns="<a href="http://java.sun.com/xml/ns/javaee">http://java.sun.com/xml/ns/javaee</a>"<br />
&nbsp;&nbsp;&nbsp;xmlns:j2ee="<a href="http://java.sun.com/xml/ns/javaee">http://java.sun.com/xml/ns/javaee</a>"<br />
&nbsp;&nbsp;&nbsp;xmlns:xsi="<a href="http://www.w3.org/2001/XMLSchema-instance">http://www.w3.org/2001/XMLSchema-instance</a>" version="2.5"<br />
&nbsp;&nbsp;&nbsp;xsi:schemaLocation="<a href="http://java.sun.com/xml/ns/javaee">http://java.sun.com/xml/ns/javaee</a><br />
&nbsp;&nbsp;&nbsp;<a href="http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd">http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd</a>"&gt;<br />
&nbsp;&nbsp;&lt;description&gt;WebTier for the Hello Service&lt;/description&gt;<br />
&nbsp;&nbsp;&lt;display-name&gt;HelloWAR&lt;/display-name&gt;<br />
&nbsp;&nbsp;&lt;servlet&gt;<br />
&nbsp;&nbsp;&nbsp;&lt;description&gt;Endpoint for Hello Web Service&lt;/description&gt;<br />
&nbsp;&nbsp;&nbsp;&lt;display-name&gt;HelloWebService&lt;/display-name&gt;<br />
&nbsp;&nbsp;&nbsp;&lt;servlet-name&gt;Hello&lt;/servlet-name&gt;<br />
&nbsp;&nbsp;&nbsp;&lt;servlet-class&gt;endpoint.Hello&lt;/servlet-class&gt;<br />
&nbsp;&nbsp;&nbsp;&lt;load-on-startup&gt;0&lt;/load-on-startup&gt;<br />
&nbsp;&nbsp;&lt;/servlet&gt;<br />
&nbsp;&nbsp;&lt;servlet-mapping&gt;<br />
&nbsp;&nbsp;&nbsp;&lt;servlet-name&gt;Hello&lt;/servlet-name&gt;<br />
&nbsp;&nbsp;&nbsp;&lt;url-pattern&gt;/HelloService&lt;/url-pattern&gt;<br />
&nbsp;&nbsp;&lt;/servlet-mapping&gt;<br />
&nbsp;&nbsp;&lt;session-config&gt;<br />
&nbsp;&nbsp;&nbsp;&lt;session-timeout&gt;54&lt;/session-timeout&gt;<br />
&nbsp;&nbsp;&lt;/session-config&gt;<br />
&nbsp;&nbsp;&lt;/web-app&gt;<br />
&nbsp;④将service打包,执行<br />
&nbsp;&nbsp;(1)cd WebTest\deploy&nbsp; &nbsp;;进入打包目录<br />
&nbsp;&nbsp;(2)jar cvf hello.war *&nbsp; ;将当前目录下的所有内容打包到hello.war文件中<br />
&nbsp;&nbsp;<br />
&nbsp;&nbsp;<br />
6、将service&nbsp;类发布到网络服务器上<br />
&nbsp;①启动sun 服务器<br />
&nbsp;&nbsp;&nbsp;方法为<br />
&nbsp;&nbsp;开始-&gt;程序-&gt;Sun Microsystems-&gt;Application Server PE 9-&gt;Start&nbsp; Default Server<br />
&nbsp;②在项目目录下建立一个passwd文件，内容是sun服务器admin用户的密码，例如<br />
&nbsp;&nbsp;AS_ADMIN_PASSWORD=testtesttest<br />
&nbsp;③将hello.war发布到服务器上，执行<br />
&nbsp;&nbsp;(1)cd WebTest&nbsp; ;进入项目目录<br />
&nbsp;&nbsp;(2)发布服务器包，注意这个命令是在一行执行的，<br />
&nbsp;&nbsp;我为了书写方便而断行。分号后面是注释<br />
&nbsp;&nbsp;asadmin deploy <br />
&nbsp;&nbsp;&nbsp;&nbsp;--user admin&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; ;管理员用户名<br />
&nbsp;&nbsp;&nbsp;&nbsp;--passwordfile passwd&nbsp;&nbsp;&nbsp; ;密码文件名，就是我们刚才写的passwd文件<br />
&nbsp;&nbsp;&nbsp;&nbsp;--host localhost&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; <br />
&nbsp;&nbsp;&nbsp;&nbsp;--port 4848 &nbsp;&nbsp;&nbsp; ;管理端口号<br />
&nbsp;&nbsp;&nbsp;&nbsp;--contextroot myhello &nbsp; ;上下文根名称<br />
&nbsp;&nbsp;&nbsp;&nbsp;--upload=true &nbsp;&nbsp;&nbsp; <br />
&nbsp;&nbsp;&nbsp;&nbsp;--target server&nbsp;&nbsp;&nbsp;&nbsp;<br />
&nbsp;&nbsp;&nbsp;&nbsp;deploy/hello.war<br />
&nbsp;<br />
&nbsp;④在浏览器中输入地址<br />
&nbsp;&nbsp;<a href="http://localhost:8080/myhello/HelloService?WSDL">http://localhost:8080/myhello/HelloService?WSDL</a>，<br />
&nbsp;&nbsp;如果浏览器能显示出正确的内容，就说明成功。</p>
<p>7、生成客户端的stub类<br />
&nbsp;①在项目的build\classes目录下建立一个stub子目录<br />
&nbsp;②执行<br />
&nbsp;&nbsp;(1)cd WebTest&nbsp;&nbsp; ;进入项目子目录<br />
&nbsp;&nbsp;(2)wsimport -keep -d ./build/classes/stub <a href="http://localhost:8080/myhello/HelloService?WSDL">http://localhost:8080/myhello/HelloService?WSDL</a><br />
&nbsp;<br />
&nbsp;执行完成后会在build/classes/stub下建立一个endpoint目录，下面有这些文件<br />
&nbsp;&nbsp;GetHello.java<br />
&nbsp;&nbsp;GetHelloResponse.java<br />
&nbsp;&nbsp;Hello.java<br />
&nbsp;&nbsp;HelloService.java<br />
&nbsp;&nbsp;GetHello.class<br />
&nbsp;&nbsp;GetHelloResponse.class<br />
&nbsp;&nbsp;Hello.class<br />
&nbsp;&nbsp;HelloService.class<br />
&nbsp;&nbsp;ObjectFactory.class<br />
&nbsp;&nbsp;ObjectFactory.java<br />
&nbsp;&nbsp;package-info.java<br />
&nbsp;&nbsp;package-info.class<br />
&nbsp;这些文件和ant脚本中import执行的结果一样<br />
&nbsp;<br />
8、编写客户端测试程序<br />
&nbsp;在项目的src目录下建立一个子目录client，在这个目录下面建立一个<br />
&nbsp;Client.java文件，内容为<br />
&nbsp;<br />
&nbsp;// src\client\Client.java文件 调用服务器提供的webservice的测试类 <br />
&nbsp;package client;</p>
<p>&nbsp;import javax.xml.ws.WebServiceRef;<br />
&nbsp;import endpoint.HelloService;<br />
&nbsp;import endpoint.Hello;</p>
<p>&nbsp;public class Client<br />
&nbsp;{<br />
&nbsp;&nbsp;&nbsp; &nbsp;@WebServiceRef(wsdlLocation="<a href="http://localhost:8080/myhello/HelloService?WSDL">http://localhost:8080/myhello/HelloService?WSDL</a>")<br />
&nbsp;&nbsp;&nbsp; &nbsp;static HelloService service;<br />
&nbsp;&nbsp;public static void main(String[] args)<br />
&nbsp;&nbsp;&nbsp; &nbsp;{&nbsp;<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &nbsp;Client client = new Client();<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &nbsp;client.doHello();<br />
&nbsp;&nbsp;&nbsp; &nbsp;}<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; public void doHello()<br />
&nbsp;&nbsp;&nbsp; &nbsp;{<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &nbsp;try<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &nbsp;{<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &nbsp;Hello port = service.getHelloPort();<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &nbsp;String ret = port.getHello(System.getProperty("user.name"));<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &nbsp;System.out.println("Hello result = " + ret);<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &nbsp;}<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &nbsp;catch(Exception e)<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &nbsp;{<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &nbsp;e.printStackTrace();<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &nbsp;}<br />
&nbsp;&nbsp;&nbsp; &nbsp;}<br />
&nbsp;}<br />
&nbsp;<br />
9、编译客户端程序<br />
&nbsp;执行<br />
&nbsp;(1)cd WebTest&nbsp; ;进入项目目录<br />
&nbsp;(2)javac -classpath ./build/classes/stub;d:/Sun/SDK/lib/javaee.jar;d:/Sun/SDK/lib/appserv-ws.jar -d ./build/classes/stub src/client/Client.java&nbsp; <br />
&nbsp;执行成功后会在F:\exercise\java\WebTest\build\classes目录下建立一个<br />
&nbsp;client目录，下面有一个Client.class文件<br />
&nbsp;<br />
10、运行客户端程序<br />
&nbsp;(1)cd WebTest\build\classes\stub&nbsp; ;进入client的上级目录<br />
&nbsp;(2)set&nbsp; APPCPATH=.&nbsp;&nbsp;&nbsp;&nbsp; ;设置环境变量APPCPATH，不然运行appclient程序时会出一堆莫名奇妙的错误<br />
&nbsp;(3)&gt;appclient client.Client运行测试程序，结果为<br />
&nbsp;&nbsp;Hello result = Hello Administrator!<br />
&nbsp;执行成功</p>
<p><br />
/*title: web service入门学习笔记（八）<br />
**date: 2007/01/19<br />
**author:laomai<br />
**url: <a href="http://blog.csdn.net/laomai/">http://blog.csdn.net/laomai/</a><br />
*/</p>
<p>八、小结<br />
开发webservice的基本步骤为<br />
1、编写服务器端，要点有<br />
&nbsp;①导入WebService包和WebMethod包<br />
&nbsp;&nbsp;&nbsp;import javax.jws.WebService;<br />
&nbsp;&nbsp;&nbsp;import javax.jws.WebMethod;<br />
&nbsp;②实现的服务类前加@WebService符号&nbsp;<br />
&nbsp;③为了代码清晰,类提供的公开方法前加@WebMethod符号,这个不写对编译也没影响，<br />
&nbsp;&nbsp;<br />
2、编译服务器端，要点为<br />
&nbsp;①javac命令的classpath选项中要有javaee.jar的路径，如<br />
&nbsp;&nbsp;javac -classpath d:/Sun/SDK/lib/javaee.jar -d ./build src/endpoint/Hello.java<br />
&nbsp;②用wsgen命令生成wsdl文件.<br />
&nbsp;③将服务器端打包<br />
&nbsp;注意如果是sun的服务器，那么把service类直接编译到<br />
&nbsp;javaee5安装目录\domains\domain1\autodeploy下，可以自动完成②和③的工作。<br />
&nbsp;我们介绍的sun自带的入门脚本就是这么做的。<br />
3、在客户端机器上自动生成stub类,要点为<br />
&nbsp;①客户机上必须也装有jdk和javaee5<br />
&nbsp;②用wsimport工具将服务器传过来的wsdl文件转换成本地的stub类<br />
4、编写客户端调用代码，要点:<br />
&nbsp;①导入WebServiceRef包<br />
&nbsp;&nbsp;import javax.xml.ws.WebServiceRef;<br />
&nbsp;②导入本地生成的stub类，如<br />
&nbsp;&nbsp;import endpoint.HelloService;<br />
&nbsp;&nbsp;import endpoint.Hello;<br />
&nbsp;③指明服务器的wsdl路径<br />
&nbsp;&nbsp;@WebServiceRef(wsdlLocation="<a href="http://localhost:8080/myhello/HelloService?WSDL">http://localhost:8080/myhello/HelloService?WSDL</a>")<br />
&nbsp;④声明一个静态的service对象<br />
&nbsp;&nbsp;static HelloService service;<br />
&nbsp;⑤对要调用的远程方法声明一个代理对象，通过代理来调用真正的远程方法<br />
&nbsp;&nbsp;Hello port = service.getHelloPort();<br />
&nbsp;&nbsp;&nbsp; &nbsp;String ret = port.getHello(System.getProperty("user.name"));<br />
5、编译客户端调用程序，注意classpath参数中要有<br />
&nbsp;①stub类的路径<br />
&nbsp;②javaee.jar的路径<br />
&nbsp;③appserv-ws.jar的路径<br />
&nbsp;<br />
6、用appclient执行客户端程序，要点为<br />
&nbsp;①进入到客户端程序的上级目录<br />
&nbsp;②把APPCPATH的值设置为当前目录" . "<br />
&nbsp;③appclient的第一个参数为客户端程序名，<br />
&nbsp;&nbsp; 后面的参数是传给客户端程序本身的命令行参数。</p>
<p>/*title: web service入门学习笔记（九）<br />
**date: 2007/01/19<br />
**author:laomai<br />
**url: <a href="http://blog.csdn.net/laomai/">http://blog.csdn.net/laomai/</a><br />
*/&nbsp;<br />
&nbsp;<br />
九、本文中用到的文件<br />
1、WebTest项目文件列表&nbsp;<br />
WebTest\passwd&nbsp;保存密码的文件，手工建立<br />
WebTest\src 子目录 手工建立，内容为<br />
&nbsp;endpoint\Hello.java&nbsp; 服务器类的实现文件<br />
&nbsp;client\Client.java&nbsp;&nbsp; 客户类的实现文件<br />
WebTest\build<br />
&nbsp;generated 子目录,手工建立，内容为<br />
&nbsp;&nbsp;HelloService.wsdl&nbsp;&nbsp;&nbsp;由wsgen命令生成<br />
&nbsp;&nbsp;HelloService_schema1.xsd &nbsp;由wsgen命令生成<br />
&nbsp;classes 子目录,手工建立，内容为<br />
&nbsp;&nbsp;endpoint\Hello.class&nbsp; 由javac命令生成<br />
&nbsp;&nbsp;endpoint\jaxws子目录，由wsgen命令自动生成，内容为<br />
&nbsp;&nbsp;&nbsp;&nbsp;GetHello.java<br />
&nbsp;&nbsp;&nbsp;&nbsp;GetHelloResponse.java<br />
&nbsp;&nbsp;&nbsp;&nbsp;GetHello.class<br />
&nbsp;&nbsp;&nbsp;&nbsp;GetHelloResponse.class<br />
&nbsp;&nbsp;stub 子目录，手工建立，内容为:<br />
&nbsp;&nbsp;&nbsp;client\Client.class 由javac命令生成<br />
&nbsp;&nbsp;&nbsp;endpoint 子目录 由wsimport命令自动生成，内容为:<br />
&nbsp;&nbsp;&nbsp;&nbsp;GetHello.java<br />
&nbsp;&nbsp;&nbsp;&nbsp;GetHelloResponse.java<br />
&nbsp;&nbsp;&nbsp;&nbsp;Hello.java<br />
&nbsp;&nbsp;&nbsp;&nbsp;HelloService.java<br />
&nbsp;&nbsp;&nbsp;&nbsp;ObjectFactory.java<br />
&nbsp;&nbsp;&nbsp;&nbsp;package-info.java<br />
&nbsp;&nbsp;&nbsp;&nbsp;package-info.class<br />
&nbsp;&nbsp;&nbsp;&nbsp;GetHello.class<br />
&nbsp;&nbsp;&nbsp;&nbsp;GetHelloResponse.class<br />
&nbsp;&nbsp;&nbsp;&nbsp;Hello.class<br />
&nbsp;&nbsp;&nbsp;&nbsp;HelloService.class<br />
&nbsp;&nbsp;&nbsp;&nbsp;ObjectFactory.class<br />
WebTest\deploy子目录 手工建立，内容为<br />
&nbsp;hello.war 将WEB-INF子目录打包后生成的文件，由jar命令生成<br />
&nbsp;WEB-INF&nbsp;&nbsp; 打包的输入目录，手工建立。内容包括：<br />
&nbsp;&nbsp;web.xml&nbsp;&nbsp; 手工建立<br />
&nbsp;&nbsp;classes\endpoint子目录 为build\classes\endpoint的拷贝<br />
&nbsp;&nbsp;wsdl子目录，由build\generated拷贝而来</p>
<p>2、生成的HelloService.wsdl文件的内容<br />
&lt;?xml version="1.0" encoding="UTF-8" standalone="yes"?&gt;<br />
&lt;definitions targetNamespace="<a href="http://endpoint/">http://endpoint/</a>" name="HelloService" xmlns="<a href="http://schemas.xmlsoap.org/wsdl/">http://schemas.xmlsoap.org/wsdl/</a>" xmlns:tns="<a href="http://endpoint/">http://endpoint/</a>" xmlns:xsd="<a href="http://www.w3.org/2001/XMLSchema">http://www.w3.org/2001/XMLSchema</a>" xmlns:soap="<a href="http://schemas.xmlsoap.org/wsdl/soap/">http://schemas.xmlsoap.org/wsdl/soap/</a>"&gt;<br />
&nbsp; &lt;types&gt;<br />
&nbsp;&nbsp;&nbsp; &lt;xsd:schema&gt;<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &lt;xsd:import namespace="<a href="http://endpoint/">http://endpoint/</a>" schemaLocation="HelloService_schema1.xsd"/&gt;<br />
&nbsp;&nbsp;&nbsp; &lt;/xsd:schema&gt;<br />
&nbsp; &lt;/types&gt;<br />
&nbsp; &lt;message name="getHello"&gt;<br />
&nbsp;&nbsp;&nbsp; &lt;part name="parameters" element="tns:getHello"/&gt;<br />
&nbsp; &lt;/message&gt;<br />
&nbsp; &lt;message name="getHelloResponse"&gt;<br />
&nbsp;&nbsp;&nbsp; &lt;part name="parameters" element="tns:getHelloResponse"/&gt;<br />
&nbsp; &lt;/message&gt;<br />
&nbsp; &lt;portType name="Hello"&gt;<br />
&nbsp;&nbsp;&nbsp; &lt;operation name="getHello"&gt;<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &lt;input message="tns:getHello"/&gt;<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &lt;output message="tns:getHelloResponse"/&gt;<br />
&nbsp;&nbsp;&nbsp; &lt;/operation&gt;<br />
&nbsp; &lt;/portType&gt;<br />
&nbsp; &lt;binding name="HelloPortBinding" type="tns:Hello"&gt;<br />
&nbsp;&nbsp;&nbsp; &lt;soap:binding transport="<a href="http://schemas.xmlsoap.org/soap/http">http://schemas.xmlsoap.org/soap/http</a>" style="document"/&gt;<br />
&nbsp;&nbsp;&nbsp; &lt;operation name="getHello"&gt;<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &lt;soap:operation soapAction=""/&gt;<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &lt;input&gt;<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &lt;soap:body use="literal"/&gt;<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &lt;/input&gt;<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &lt;output&gt;<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &lt;soap:body use="literal"/&gt;<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &lt;/output&gt;<br />
&nbsp;&nbsp;&nbsp; &lt;/operation&gt;<br />
&nbsp; &lt;/binding&gt;<br />
&nbsp; &lt;service name="HelloService"&gt;<br />
&nbsp;&nbsp;&nbsp; &lt;port name="HelloPort" binding="tns:HelloPortBinding"&gt;<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &lt;soap:address location="REPLACE_WITH_ACTUAL_URL"/&gt;<br />
&nbsp;&nbsp;&nbsp; &lt;/port&gt;<br />
&nbsp; &lt;/service&gt;<br />
&lt;/definitions&gt;</p>
<p>十、致谢<br />
&nbsp;在学习WebService的过程中，我得到了csdn java版的叶锋城朋友的许多指点，<br />
饼子堂的兄弟们也给了很多有用的资料，这里一并表示谢意。本文也算是我给这些<br />
朋友们的一个汇报和总结，呵呵。</p>
<p>（--end <br />
/*title: web service入门学习笔记<br />
**date: 2007/01/23<br />
**author:laomai<br />
**url: <a href="http://blog.csdn.net/laomai/*/">http://blog.csdn.net/laomai/*/</a>）</p>
<p><br />
</p>
<p>转自http://blog.csdn.net/laomai/archive/2007/01/23/1490829.aspx<br />
</p>
<img src ="http://www.blogjava.net/fykyx521/aggbug/260314.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/fykyx521/" target="_blank">康</a> 2009-03-17 19:56 <a href="http://www.blogjava.net/fykyx521/archive/2009/03/17/260314.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>j2se&amp;webService 转</title><link>http://www.blogjava.net/fykyx521/archive/2009/03/17/260312.html</link><dc:creator>康</dc:creator><author>康</author><pubDate>Tue, 17 Mar 2009 11:54:00 GMT</pubDate><guid>http://www.blogjava.net/fykyx521/archive/2009/03/17/260312.html</guid><wfw:comment>http://www.blogjava.net/fykyx521/comments/260312.html</wfw:comment><comments>http://www.blogjava.net/fykyx521/archive/2009/03/17/260312.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.blogjava.net/fykyx521/comments/commentRss/260312.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/fykyx521/services/trackbacks/260312.html</trackback:ping><description><![CDATA[&nbsp;&nbsp;&nbsp;&nbsp; 摘要: JavaSE6.0 Web Service学习笔记(引用)Web Service概述 Web Service的定义 W3C组织对其的定义如下，它是一个软件系统，为了支持跨网络的机器间相互操作交互而设计。Web Service服务通常被定义为一组模块化的API，它们可以通过网络进行调用，来执行远程系统的请求服务。 这里我们从一个程序员的视角来观察web service。在传统的程序编...&nbsp;&nbsp;<a href='http://www.blogjava.net/fykyx521/archive/2009/03/17/260312.html'>阅读全文</a><img src ="http://www.blogjava.net/fykyx521/aggbug/260312.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/fykyx521/" target="_blank">康</a> 2009-03-17 19:54 <a href="http://www.blogjava.net/fykyx521/archive/2009/03/17/260312.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item></channel></rss>