今天研究了下webservice 终于OK了
而在这里,我会很简单的说明,一看就懂
首先在进行webservice 一定要下载包
到
http://ws.Apache.org/axis/网站下载Axis安装包.
在本文章中,我已经把要用的包上传了,大家可以直接在这下就行了
然后就写wsdd 文件,也是最重要的.
首先我在网上看到的例子是这样的,大家可以参考下
先写deploy.wsdd
<deployment xmlns="
http://xml.apache.org/axis/wsdd/" xmlns:java="" target="_blank">
http://xml.apache.org/axis/wsdd/providers/java">
<service name="HelloWorld" provider="java:RPC">
<parameter name="className" value="HelloWorld"/>
<parameter name="allowedMethods" value="sayHello"/>
</service>
</deployment>
在DOS下转换目录到%TOMCAT_HOME%\webapps\axis\WEB-INF,命令:
java -cp %AXISCLASSPATH% org.apache.axis.client.AdminClient deploy.wsdd
你会发现目录下多了一个server-config.wsdd文件,这就是AXIS的配置文件,以后所有的服务发布描述都会在里面找到
其实说了这多,就是为了得到一个server-config.wsdd 而我就把一个成功的server-config.wsdd 拿来改
.最后发现可以功能.如果大家为了快,也可以这样做
以下是server-config.wsdd 的代码 这个文件,是放到 WEB-INF 目录下 和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="Login.jws" provider="java:RPC">
<parameter name="className" value="com.liuzm.Login"/>// 你要改的就是这.这写上要调用的类.就可以
<parameter name="scope" value="request"/>
<parameter name="allowedMethods" value="*"/> // 这*代表所有的方法
<messageReceiver class="org.apache.axis2.receivers.RawXMLINOutMessageReceiver"/>
</service>
<transport name="http">
<requestFlow>
<handler type="URLMapper"/>
</requestFlow>
</transport>
</deployment>
类的代码com.liuzm.Login:
public class Login {
public String Add(){
return "liuzm";
}
}
在这我只写了一个方法
就这样 完成了
然后在web.xml 加上
<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>
这样差不多一个webservice 完成了
然后在IE上测试下
http://localhost:8080/mywebservices/services
如果在IE 上看到 login Add 方法 就说明成功了
也可以写个测试类调用服务器
String url = "
http://localhost:8080/mywebservices/services/Login.jws";// Service service = new Service();
Call call;
try {
call = (Call) service.createCall();
call.setTargetEndpointAddress(new java.net.URL(url) );
call.setOperationName("Add" );// 这是要调用的方法
String res = (String) call.invoke( new Object[] {} );
System.out.println(res);
} catch (ServiceException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
输出结果 liuzm 也就是Add 的方法.大家可以参考下
备注一下:
如果net与你交互,把http://localhost:8080/mywebservices/services/Login.jws?wsdl 这个地址给它
他那边会自动解析的,你也可以直接输入:
http://localhost:8080/mywebservices/services/Login.jws?wsdl
测试下,如果成功就会显示xml格式的文件
如果完成了这一步,那么祝贺你成功了
Axis安装包
今天研究了下webservice 终于OK了的更多相关文章
- SQLSERVER聚集索引与非聚集索引的再次研究(下)
SQLSERVER聚集索引与非聚集索引的再次研究(下) 上篇主要说了聚集索引和简单介绍了一下非聚集索引,相信大家一定对聚集索引和非聚集索引开始有一点了解了. 这篇文章只是作为参考,里面的观点不一定正确 ...
- 刚刚研究了下ipv6,尝试配置内网VPS的IPv6地址
刚刚研究了下ipv6,尝试配置内网VPS的IPv6地址是3台设备,分别是客户机Windows系统.核心交换机.PPPoE拨号的路由器 第一步:在PPPoE拨号的路由器上面查看ppp0拨号的地址 ifc ...
- 在这个插件帮助下,终于用上免费的Https协议外链的图床了
前天,强哥发了一篇推文,讲述了应该如何免费且快速的生成自己的博客网站: 期间也有提到一点就是我们在写博客的时候,因为使用的是Markdown格式的文件,而如果想要Markdown格式的文件在图片上传 ...
- 传统模式下WebService与WebAPI的相同与不同
1.WebService是利用HTTP管道实现了RPC的一种规范形式,放弃了对HTTP原生特征与语义的完备支持:而WebAPI是要保留HTTP原生特征与语义的同时实现RPC,但WebAPI的实现风格可 ...
- C语言下WebService的使用方式
用gSoap工具: 1.在dos环境中到gSoap工具对应的目录gsoap_2.8.18\gsoap-2.8\gsoap\bin\win32路径下,执行wsdl2h -c -o *.h ht ...
- .net 下webservice 的WebMethod的属性
WebMethod有6个属性: .Description .EnableSession .MessageName .TransactionOption .CacheDuration .BufferRe ...
- MS06-040漏洞研究(下)【转载】
课程简介 经过前两次的分析,我们已经对Netapi32.dll文件中所包含的漏洞成功地实现了利用.在系统未打补丁之前,这确实是一个非常严重的漏洞,那么打了补丁之后,这个动态链接库是不是就安全了呢?答案 ...
- 研究windows下SVN备份及还原恢复方案
windows下SVN备份方案 备份策略 svn备份一般采用三种方式: 1)svnadmin dump 2)svnadmin hotcopy 3)svnsync. 注意,svn备份不宜采用普通的 ...
- php下webservice使用总结
基于thinkphp3.2的 1.修改php配置 php.ini extension=php_soap.dll soap.wsdl_cache_enabled=0 2.soap有两种模式 wsdl和 ...
随机推荐
- J2SE知识点摘记(十)
1. 多线程的同步 2. 同步代码块 即程序中不能有多个线程同时在这两句代码之间执行.(必须两句代码执行完,其他线程才可以公用执行) 同步代码块定义语法如下 ... syn ...
- 製程能力介紹(SPC introduction) ─ Cp之製程能力解釋
Cp之製程能力解釋 從常態分配的特性來看,在群體中 ±3σ(標準差) 之範圍內的值,應包含群體全部的 99.73%.也就是說,若以 6σ為單位,就可以代表整個分布的範圍,但是有 0.27% (2700 ...
- Nand ECC校验和纠错原理及2.6.27内核ECC代码分析
ECC的全称是Error Checking and Correction,是一种用于Nand的差错检测和修正算法.如果操作时序和电路稳定性不存在问题的话,NAND Flash出错的时候一般不会造成整个 ...
- JAVA I/O使用方法(转)
下面四张图表明了类之间的继承关系,其中红色.加粗的类名是常用的类. 常用转换 FileReader——>BufferedReader BufferedReader in= new Buffere ...
- CSharp tar类型文件压缩与解压
最近闲暇时间开始写点通用基础类在写到tar类型文件压缩与解压时遇到点问题 压缩用的类库我是下载的 SharpZipLib_0860版本 先上代码 加压核心 /// <summary> // ...
- 提示text还能输入多少字节
1.添加jQuery自定义扩展 $(function($){ // tipWrap: 提示消息的容器 // maxNumber: 最大输入字符 $.fn.artTxtCount = function( ...
- EOF 空格问题
mysql -u $USER -p${PASSWORD} $DATABASE << EOF >/tmp/dd-$$ 2>/tmp/ddd-$$select *from $TAB ...
- Linux中搭建SVN服务器
一 下载工具 1. subversion-1.6.17.tar.gz 2. subversion-deps-1.6.17.tar.gz 二 解压两个包: 1.在此之前,我已经创建了一个用户svnroo ...
- loading android
drawal/loading.xml <?xml version="1.0" encoding="utf-8"?><animated-rota ...
- 自己定义flash的宽和高
前段时间做个项目,是个网页的聊天界面,聊天的内容使用flash制作,我需要将flash的swf插件放到页面上,然后获取聊天内容, 1.将文件在页面上显现出来: 如图,正中间使用后台制作出来的swf文件 ...