今天研究了下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了的更多相关文章

  1. SQLSERVER聚集索引与非聚集索引的再次研究(下)

    SQLSERVER聚集索引与非聚集索引的再次研究(下) 上篇主要说了聚集索引和简单介绍了一下非聚集索引,相信大家一定对聚集索引和非聚集索引开始有一点了解了. 这篇文章只是作为参考,里面的观点不一定正确 ...

  2. 刚刚研究了下ipv6,尝试配置内网VPS的IPv6地址

    刚刚研究了下ipv6,尝试配置内网VPS的IPv6地址是3台设备,分别是客户机Windows系统.核心交换机.PPPoE拨号的路由器 第一步:在PPPoE拨号的路由器上面查看ppp0拨号的地址 ifc ...

  3. 在这个插件帮助下,终于用上免费的Https协议外链的图床了

    前天,强哥发了一篇推文,讲述了应该如何免费且快速的生成自己的博客网站: 期间也有提到一点就是我们在写博客的时候,因为使用的是Markdown格式的文件,而如果想要​Markdown格式的文件在图片上传 ...

  4. 传统模式下WebService与WebAPI的相同与不同

    1.WebService是利用HTTP管道实现了RPC的一种规范形式,放弃了对HTTP原生特征与语义的完备支持:而WebAPI是要保留HTTP原生特征与语义的同时实现RPC,但WebAPI的实现风格可 ...

  5. C语言下WebService的使用方式

    用gSoap工具:      1.在dos环境中到gSoap工具对应的目录gsoap_2.8.18\gsoap-2.8\gsoap\bin\win32路径下,执行wsdl2h -c -o *.h ht ...

  6. .net 下webservice 的WebMethod的属性

    WebMethod有6个属性: .Description .EnableSession .MessageName .TransactionOption .CacheDuration .BufferRe ...

  7. MS06-040漏洞研究(下)【转载】

    课程简介 经过前两次的分析,我们已经对Netapi32.dll文件中所包含的漏洞成功地实现了利用.在系统未打补丁之前,这确实是一个非常严重的漏洞,那么打了补丁之后,这个动态链接库是不是就安全了呢?答案 ...

  8. 研究windows下SVN备份及还原恢复方案

    windows下SVN备份方案 备份策略 svn备份一般采用三种方式: 1)svnadmin dump  2)svnadmin hotcopy  3)svnsync.  注意,svn备份不宜采用普通的 ...

  9. php下webservice使用总结

    基于thinkphp3.2的 1.修改php配置 php.ini extension=php_soap.dll soap.wsdl_cache_enabled=0 2.soap有两种模式 wsdl和 ...

随机推荐

  1. mysql 与 mysqli的区别

    mysqli.dll是PHP对mysql新特性的一个扩展支持.在PHP5中可以在php.ini中加载mysql后面的i,指improved, interface, ingenious, incompa ...

  2. cookie简介

    上例子 1.首先要用php创建cookie发送给客户端,利用setcookie()方法即可 <?php /* * * @Authors peng--jun * @Email 1098325951 ...

  3. ReentrantLock(重入锁)以及公平性

    ReentrantLock(重入锁)以及公平性 标签(空格分隔): java NIO 如果在绝对时间上,先对锁进行获取的请求一定被先满足,那么这个锁是公平的,反之,是不公平的,也就是说等待时间最长的线 ...

  4. Unix/Linux环境C编程入门教程(5) Red Hat Enterprise Linux(RHEL)环境搭建

    Unix/Linux版本众多,我们推荐Unix/Linux初学者选用几款典型的Unix/Linux操作系统进行学习. 通过./a.out ./Y.out执行出结果,证明C++程序编译成功,也就说明li ...

  5. 面向对象程序设计-C++_课时13初始化列表

    构造函数设置成员初值方法有两种:一种是在函数体内赋值,另一种是采用初始化列表的形式. 初始化列表BETTER 函数体内赋值 类名::类名(形参1,形参2,...形参n) { 数据成员1=形参1; 数据 ...

  6. Problem 2128 最长子串(kmp+strstr好题经典)

     Problem 2128 最长子串 Accept: 134    Submit: 523Time Limit: 3000 mSec    Memory Limit : 65536 KB  Probl ...

  7. .net网站开发(前端):4.MVC HtmlHelper

    通过前面三节,已经大概理解MVC是怎样运作的了.MVC的一个特点就是可以很方便地控制视图效果,数据交互也很灵活.先讲一下视图控制的,HtmlHelper,看到Help就知道它是不知疲惫的好人啦(有点像 ...

  8. C++面试题一大波

    //打印1到最大的n位数. //题目:输入数字n.按顺序打印出从1到最大的n位十进制数.比方: //输入3.则打印出1.2.3一直到最大的3位数999. //[陷阱]:这个题目非常easy想到的办法就 ...

  9. Flash,EEPROM差别

    flash是用来存储代码的,在执行过程中不能改:EEPROM是用来保存用户数据,执行过程中能够改变,比方一个时钟的闹铃时间初始化设定为12:00,后来在执行中改为6:00,这是保存在EEPROM里,不 ...

  10. javaScript 工作必知(七) 对象继承

    对象继承inherit var o = { r: 1 }; var c = function f() { }; c.prototype = o; c.r = 3; alert(o.r);//被继承的属 ...