WebService学习笔记系列(四)

今天主要来看看服务端的编写及发布。

服务端的编写主要包括三个步骤:

1.编写一个接口,即SEI(server endpoint interface)

2.编写接口的实现类,即SIB (server implements bean)

3.发布服务

在接口和实现类上都要用注解说明情况。

接口

@WebService
public interface IMyServer {

    public int add(int a,int b);
    public int minus(int a,int b);
}

实现类:

@WebService(endpointInterface="server.lenve.IMyServer")
public class MyServerImpl implements IMyServer {

    @Override
    public int add(int a, int b) {
        System.out.println(a+"+"+b+"="+(a+b));
        return a+b;
    }

    @Override
    public int minus(int a, int b) {
        System.out.println(a+"-"+b+"="+(a-b));
        return a-b;
    }

}

发布:

public class PublishMyServer {

    public static void main(String[] args) {
        String address = "http://localhost:9999/ns";
        Endpoint.publish(address, new MyServerImpl());
    }
}

通过wsimport拿到相关类,

将这些类拷贝到客户端,然后在客户端调用:

客户端调用:

public class MyFirstClient {

    public static void main(String[] args) {
            IMyServer myServerImpl = new MyServerImplService()
                    .getMyServerImplPort();
            System.out.println(myServerImpl.add(3, 4)+"------");
    }

}
时间: 2024-10-17 02:24:29

WebService学习笔记系列(四)的相关文章

WebService学习笔记系列(二)

soap(简单对象访问协议),它是在http基础之上传递xml格式数据的协议.soap协议分为两个版本,soap1.1和soap1.2. 在学习webservice时我们有一个必备工具叫做tcpmon,该工具可以直接下载得到.使用tcpmon可以嗅探网络中传输的数据,便于我们更好的理解soap协议. 下载好tcpmon之后,打开该软件,如图简单设置 tcpmon相当于一个代理服务器,打开tcpmon后,如果把监听端口设置为9999,目标端口设置为8888,当用户访问9999端口时,消息会被tcp

WebService学习笔记系列(三)

网上有一些提供webservice服务的网站,我们要怎么调用呢? 今天来看个如何调用手机归属地查询服务.这个网站上提供了许多webservice服务,其中包括手机归属地查询服务,我们今天就用wsimport的方式来调用这个服务: 打开这个页面,复制手机归属地查询的那个wsdl,然后打开命令行窗口,使用wsimport将需要的Java文件导出来: 拿到生成的Java文件后,拷贝到项目中, 好了,直接操作这些类,就可查询手机归属地了: public class MyTest4 { public st

WebService学习笔记系列(一)

webservice主要是解决两个系统或者两个应用程序之间的远程调用,它提供了一种通过web方式访问的api,调用是跨语言.跨平台的. webservice的客户端与服务端进行交互的时候使用xml来传递数据. soap协议,即简单对象访问协议,它是webservice的客户端与服务端进行交互的时候遵守的一个协议. 在服务端调用webservice服务时,我们可以通过Java jdk自带的一个命令wsimport,根据服务说明书生成本地Java代码,我们直接操作这些Java代码就可以调用webse

Windows-universal-samples学习笔记系列四:Data

Data Blobs Compression Content indexer Form validation (HTML) IndexedDB Logging Serializing and deserializing data x:Bind x:DeferLoadStrategy XML DOM XmlLite Blobs sample (仅用于JS) Compression sample (压缩,与之前的有何区别?) This sample demonstrates how to read

WebServices学习笔记(四)使用services.xml文件发布WebService

四.使用services.xml文件发布WebService 前面发布webservices所建立的java类都不能有包名,这里用配置文件services.xml搭建能有包名的webservice 首先创建MyService类,在service包下 package service; import javax.jws.WebParam; public class MyService { public String getGreeting(@WebParam(name="name")Str

mongodb学习笔记系列一

一.简介和安装 ./bin/mongod --dbpath /path/to/database --logpath /path/to/log --fork --port 27017 mongodb非常的占磁盘空间, 刚启动后要占3-4G左右,--smallfiles 二.基本命令 1.登录mongodb client /use/local/mongo 2.查看当前数据库 show databases; show dbs; 两个可能 3.admin是和管理有关的库,local 是放schema有关

Dynamic CRM 2013学习笔记 系列汇总

这里列出所有 Dynamic CRM 2013学习笔记 系列文章 Dynamic CRM 2013学习笔记(一)插件输入实体参数解析 Dynamic CRM 2013学习笔记(二)插件基本用法及调试 Dynamic CRM 2013学习笔记(三)快速创建实体 EntityCreater Dynamic CRM 2013学习笔记(四)单据编号及插件批量注册工具 Dynamic CRM 2013学习笔记(五)禁止修改审批通过后的单据 Dynamic CRM 2013学习笔记(六)备份和恢复 Dyna

学习OpenCV的学习笔记系列之-- 环境配置

要想学好OpenCV,首先当然要知道怎么配置环境了.以本人的配置环境为例,步骤如下. 第一步 下载及解压OpenCV源码 虽然很多第三方网站及一些学习论坛会提供OpenCV的源码下载,但是还是推荐到官网进行下载,这样可以避免很多麻烦!(病毒?木马?你懂得!) 官网的下载地址如下: http://opencv.org/downloads.html 在此地址的界面上可以找到最新版本的OpenCV源码.我使用的是2014-04-25更新的2.4.9版本(目前最新),根据自己的系统选择对应的源码版本.

Dynamic CRM 2013学习笔记(四十六)简单审批流的实现

前面介绍过自定义审批流: Dynamic CRM 2013学习笔记(十九)自定义审批流1 - 效果演示 Dynamic CRM 2013学习笔记(二十一)自定义审批流2 - 配置按钮 Dynamic CRM 2013学习笔记(三十二)自定义审批流3 - 节点及实体配置 Dynamic CRM 2013学习笔记(三十三)自定义审批流4 - 规则节点 -有分支的流程处理 Dynamic CRM 2013学习笔记(三十四)自定义审批流5 - 自动邮件通知 Dynamic CRM 2013学习笔记(三十