zoukankan      html  css  js  c++  java
  • WebService 学习之路(一):了解并使用webService

    webService主要用于向其他系统提供接口以便调用,系统间可能开发语言等完全不同,根据约定的接口规范,调用者传递相关参数进行接口调用,服务方根据传入的条件进行业务处理并进行结果返回。

    webSercive现在有很多框架支持,并且可以和主流框架如Spring进行集成,更易于操作。推荐使用Apache CXF. 不过今天学习暂时不设计CXF,后期将会以具体实例展示SpringMVC和CXF、restful的集成及使用。 Springmvc集成CXF请看教程二 http://www.cnblogs.com/xiaochangwei/p/5399507.html

    现在采用最传统的方式来进行简单的webService创建及演示。

    ① 打开eclipse创建一个java工程并新建class,代码如下:

    复制代码
    package webService001;
    
    import javax.jws.WebService;
    import javax.xml.ws.Endpoint;
    
    @WebService
    public class WebService001 {
    
        public void testWebService(String name) {
            System.out.println("Test sucessfully, you input name is :" + name);
        }
    
        public static void main(String[] args) {
            Endpoint.publish("http://www.xiaochangwei.com:8888/webService/test", new WebService001());
            System.out.println("webService pulish completed!");
        }
    }
    复制代码

    需要注意的是class上有@Webservice注解.   右键 run as javaApplication,待控制台打出public complete,请保持此程序一直运行,不要关闭

    打开浏览器,输入publish中的地址,并在末尾加上?wsdl,如:http://www.xiaochangwei.com:8888/webService/test?wsdl   打开后如下即表示发布成功

    ② 写客户端代码,来进行调用

    打开eclise,新建项目,选择web service client,在新打开的窗口中service defination中输入 http://www.xiaochangwei.com:8888/webService/test?wsdl,finish后会看见项目中有5个java文件,

    XXXXX.java

    XXXXXPortBindingStub.java

    XXXXXProxy.java

    XXXXXService.java

    XXXXXServiceLocator.java

    这些都是根据wsdl定义文件给我们生成的本地java文件,这样我们可以像操作本地的java类一样进行远程服务的调用

    新建ServiceTest.java类进行测试,代码如下:

    复制代码
    package webService001;
    
    public class ServiceTest {
    
        public static void main(String[] args) throws Exception {
            WebService001 test = new WebService001ServiceLocator().getWebService001Port();
            test.testWebService("xiaochangwei");
        }
    
    }
    复制代码

    执行后,由于我们是直接从控制台打出消息,所以需要我们到发布service的eclipse控制台查看打印的信息,当然可以修改为返回String等任意对象,在客户端显示

    上述就是webservice的入门实例,有兴趣的朋友请持续关注,近期将发布SpringMVC中集成CXF发布webservice及相关配置、使用等

    即下面的配置方式,不需要再生成如此多的文件

    <jaxws:endpoint id="helloWorld" implementor="#hello" address="/HelloWorld" />

     Springmvc集成CXF请看教程二 http://www.cnblogs.com/xiaochangwei/p/5399507.html

    我喜欢程序员,他们单纯、固执、容易体会到成就感;面对压力,能够挑灯夜战不眠不休;面对困难,能够迎难而上挑战自我。他 们也会感到困惑与傍徨,但每个程序员的心中都有一个比尔盖茨或是乔布斯的梦想“用智慧开创属于自己的事业”。我想说的是,其 实我是一个程序员
  • 相关阅读:
    Android Touch事件相关源码【Android SourceCode 2.3.6】
    使用方式比较优雅的代码集合
    Android系统中是否开启定位及定位模式的判断
    Android中软键盘展示、EditText焦点获取及windowSoftInputMode属性探究
    删除rz上传失败乱码的文件
    linux mysql 操作命令
    linux下端口被占用
    linux环境搭建记录
    ibatis 批量插入数据
    jQuery id模糊 选择器 批量处理
  • 原文地址:https://www.cnblogs.com/kms1989/p/5489474.html
Copyright © 2011-2022 走看看