- 浏览: 108385 次
- 性别:
- 来自: 武汉
文章分类
最新评论
-
ldwtill:
overwrite呢?
overload,overwrite和override比较 -
dafeiwang:
...
过滤器和拦截器的区别
最近准备考试:将webservice 充充电,本想配置一遍,在网上资料,资源虽多,没有几个能成功的,还没有几个有原代码的,可能是自己理解能力有限,摸索了一段时间,终于调通了webservice !
在此为想学习webservice同仁们提供一个入门例子
1、新建一个web project,如下面的例子为Storm
2、在工程中目录如下图所示
Storm.
│ .classpath
│ .project
│ index.html
│ tree.txt
│
├─.settings
│ com.spket.js.prefs
│ org.eclipse.core.resources.prefs
│
├─src
│ └─com
│ │ TestDWR.java
│ │ TestWebService.java
│ │
│ └─service
│ HelloWorld.java
│
└─WEB-INF
│ server-config.wsdd
│ web.xml
│
├─attachments
├─classes
│ └─com
│ │ TestDWR.class
│ │ TestWebService.class
│ │
│ └─service
│ HelloWorld.class
│
└─lib
axis-ant.jar
axis.jar
commons-discovery-0.2.jar
commons-logging-1.0.4.jar
jaxrpc.jar
log4j-1.2.8.jar
saaj.jar
wsdl4j-1.5.1.jar
3、编写java类
- public class HelloWorld {
- private String name = "qingfeng";
- public String getName(){
- return name;
- }
- public String hiHello(String name)
- {
- return "Hi:" + name;
- }
- }
public class HelloWorld { private String name = "qingfeng"; public String getName(){ return name; } public String hiHello(String name) { return "Hi:" + name; } }
4、修改web.xml
- <?xml version="1.0" encoding="UTF-8"?>
- <web-app 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" version="2.4">
- <servlet>
- <servlet-name>AxisServlet</servlet-name>
- <servlet-class>org.apache.axis.transport.http.AxisServlet</servlet-class>
- </servlet>
- <servlet-mapping>
- <servlet-name>AxisServlet</servlet-name>
- <url-pattern>/services/*</url-pattern>
- </servlet-mapping>
- <welcome-file-list>
- <welcome-file>index.jsp</welcome-file>
- <welcome-file>index.html</welcome-file>
- </welcome-file-list>
- </web-app>
<?xml version="1.0" encoding="UTF-8"?> <web-app 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" version="2.4"> <servlet> <servlet-name>AxisServlet</servlet-name> <servlet-class>org.apache.axis.transport.http.AxisServlet</servlet-class> </servlet> <servlet-mapping> <servlet-name>AxisServlet</servlet-name> <url-pattern>/services/*</url-pattern> </servlet-mapping> <welcome-file-list> <welcome-file>index.jsp</welcome-file> <welcome-file>index.html</welcome-file> </welcome-file-list> </web-app>
5、修改 server-config.wsdd文件,与web.xml同一级目录,内容如下,在别面拷贝一个,修改自己类及方法
- <?xml version="1.0" encoding="UTF-8"?>
- <deployment xmlns="http://xml.apache.org/axis/wsdd/" xmlns:java="http://xml.apache.org/axis/wsdd/providers/java">
- <globalConfiguration>
- <parameter name="sendMultiRefs" value="true"/>
- <parameter name="disablePrettyXML" value="true"/>
- <parameter name="dotNetSoapEncFix" value="true"/>
- <parameter name="enableNamespacePrefixOptimization" value="false"/>
- <parameter name="sendXMLDeclaration" value="true"/>
- <parameter name="sendXsiTypes" value="true"/>
- <parameter name="attachments.implementation" value="org.apache.axis.attachments.AttachmentsImpl"/>
- </globalConfiguration>
- <handler type="java:org.apache.axis.handlers.http.URLMapper" name="URLMapper"/>
- <service name="hello" provider="java:RPC">
- <parameter name="className" value="com.service.HelloWorld" />
- <parameter name="allowedMethods" value="*" />
- </service>
- <service name="test" provider="java:RPC">
- <parameter name="className" value="com.TestDWR" />
- <parameter name="allowedMethods" value="*" />
- </service>
- <transport name="http">
- <requestFlow>
- <handler type="URLMapper"/>
- </requestFlow>
- </transport>
- </deployment>
<?xml version="1.0" encoding="UTF-8"?> <deployment xmlns="http://xml.apache.org/axis/wsdd/" xmlns:java="http://xml.apache.org/axis/wsdd/providers/java"> <globalConfiguration> <parameter name="sendMultiRefs" value="true"/> <parameter name="disablePrettyXML" value="true"/> <parameter name="dotNetSoapEncFix" value="true"/> <parameter name="enableNamespacePrefixOptimization" value="false"/> <parameter name="sendXMLDeclaration" value="true"/> <parameter name="sendXsiTypes" value="true"/> <parameter name="attachments.implementation" value="org.apache.axis.attachments.AttachmentsImpl"/> </globalConfiguration> <handler type="java:org.apache.axis.handlers.http.URLMapper" name="URLMapper"/> <service name="hello" provider="java:RPC"> <parameter name="className" value="com.service.HelloWorld" /> <parameter name="allowedMethods" value="*" /> </service> <service name="test" provider="java:RPC"> <parameter name="className" value="com.TestDWR" /> <parameter name="allowedMethods" value="*" /> </service> <transport name="http"> <requestFlow> <handler type="URLMapper"/> </requestFlow> </transport> </deployment>
6、将相关的jar加上,如上述目录所示,将工程布置到tomcat中,
7、访问发布的路径,如我本地为:http://localhost:8080/Storm/services
8、若在IE中,看到如下所示,就表明成功了
And now... Some Services
hello (wsdl)
- helloName
- getName
test (wsdl)
- getAge
9、下面我们再写一个测试类,提供外界访问,在工程目录中com.TestWebService类,代码如下所示
- package com;
- import javax.xml.rpc.ServiceException;
- import org.apache.axis.client.Call;
- import org.apache.axis.client.Service;
- public class TestWebService {
- public static void test2() {
- String url = "http://localhost:8080/Storm/services/hello";
- Service service = new Service();
- Call call;
- String name = "东东和范范";
- try {
- call = (Call) service.createCall();
- call.setTargetEndpointAddress(new java.net.URL(url));
- call.setOperationName("helloName");
- String res = (String) call.invoke(new Object[] { name });
- System.out.println(res);
- } catch (ServiceException e) {
- e.printStackTrace();
- } catch (Exception e) {
- e.printStackTrace();
- }
- }
- /**
- * @param args
- */
- public static void main(String[] args) {
- test2();
- }
- }
package com; import javax.xml.rpc.ServiceException; import org.apache.axis.client.Call; import org.apache.axis.client.Service; public class TestWebService { public static void test2() { String url = "http://localhost:8080/Storm/services/hello"; Service service = new Service(); Call call; String name = "东东和范范"; try { call = (Call) service.createCall(); call.setTargetEndpointAddress(new java.net.URL(url)); call.setOperationName("helloName"); String res = (String) call.invoke(new Object[] { name }); System.out.println(res); } catch (ServiceException e) { e.printStackTrace(); } catch (Exception e) { e.printStackTrace(); } } /** * @param args */ public static void main(String[] args) { test2(); } }
10、在控制台输出【hello:东东和范范】表明成功。
11、附上整个项目源代码
发表评论
-
如何让项目使用myEclipse部署在tomcat的ROOT目录下
2012-08-21 15:52 0工程右键--Properties--Myeclipse-- ... -
java正则表达式入门文档
2011-09-23 16:22 727引言 正则表达 ... -
B/S与C/S的区别
2011-05-07 21:55 610C/S是Client/Server的缩写 ... -
冒泡排序的简单例子
2011-05-07 21:48 753public class maopao { /** ... -
jsp页面提交时post和get的区别
2011-05-02 20:24 9601.Post传输数据时,不需要在URL中显示出来,而Get方法 ... -
JUnit 实例讲解
2011-05-02 20:19 1463JUnit 4是JUnit框架有史 ... -
主题:struts2 与 jfreechart的整合
2011-05-02 10:00 960显示效果: 先引入相关的jar包: jcommon- ... -
java经典面试题!
2011-05-02 09:21 764今天上午我 ... -
overload,overwrite和override比较
2011-05-02 09:12 1577老话重提,又是重载和重写的区别等的概念性问题,记录下,以后 ... -
接口与抽象类的区别
2011-05-02 09:10 814接口中基本数据类型的数据成员,都默认为static和fi ... -
java中abstract,interface,final,static总结
2011-05-02 09:09 695关键字: abstract, interfac ... -
关于EL表达式语言的简单总结
2011-05-02 08:32 711关于EL表达式语言的简 ... -
一个过滤敏感词的filter,看书学到的,小结之:
2011-05-02 08:24 1004一个过滤敏感词的filter,看书学到的,小结之: 原 ... -
一个小小的防盗链图片的filter
2011-05-02 08:23 747public class ImageRedirectFilte ... -
jstl学习小结
2011-05-02 08:21 9131 FOREACH学习: <c:forEach it ... -
【MyEclipse8.5】该版本的MyEclipse的优化
2011-05-02 08:09 739第一步: 取消自动validation vali ... -
异步 同步的通俗解释
2011-05-01 21:12 1098异步 同步的通俗解释 A代表小孩 B代表大人 ... -
static 和 final 的使用
2011-05-01 20:54 843一、 final 关键字final ... -
jfreechart火速应用
2011-05-01 20:40 691import org.jfree.chart.ChartFac ... -
JAVA操作excel的一些例子
2011-05-01 19:59 856JAVA操作EXCEL有两种办法, ...
相关推荐
Java WebService入门实例
学习CXF WebService入门实例一.pdf学习CXF WebService入门实例一.pdf
在.Net平台下,用C#语言建立WebService程序,包含详细的步骤,适合初学入门者
webservice 入门实例,包括文档,还有例子
webservice入门实例 原创代码 参考地址 http://blog.csdn.net/kingdtl/article/details/17299125
该工程代码包含基于使用CXF框架开发的入门案例 和进阶案例(与Spring进行整合)
NULL 博文链接:https://lizhihui19871127.iteye.com/blog/1511774
cfx webservice 入门 详细步骤
WebService入门介绍及实例 可以作为简单入门,如果要了解关于WebService更详细的内容,不建议您下载
NULL 博文链接:https://qiangjiyi.iteye.com/blog/2223655
利用CXF3.0.2+Spring3.2.14传输文件,里面有笔者在练习过程中遇到的错误,还有源代码可以下载!
XFire建立Webservice实例,入门级别,适XFire建立Webservice实例,入门级别,XFire建立Webservice实例,入门级别,适合初学者适合初学者合初学者
新手入门webservice实例,简单实用,内有说明一看便知,希望能解决你的问题。
Tomcat+Axis+WebService 入门实例,讲述如何实现WebService的传递信息,
WebService完整实例代码。本人亲自编写,100%正常运行含代码注释,适合入门人群,欢迎下载!
webservice入门级教程。 不懂的给我留言。 教你懂。 可以直接放入MyEclipse运行。
介绍WebService基础知识,并使用C#实现操作WebService的基本步骤。
cxf入门实例(webservice),帮你更好的入门
WebService是一个新概念,它的系统架构、实现技术是现有应用的面向Internet的一个延伸。Web是为了程序到用户的交互,而Web Service是为程序到程序的交互作准备,Web ...webservice快速入门 Web Service企业开发实例