WebService学习笔记系列(四)
发布时间:2020-12-16 22:52:18 所属栏目:安全 来源:网络整理
导读:今天主要来看看服务端的编写及发布。 服务端的编写主要包括三个步骤: 1.编写一个接口,即SEI(server endpoint interface) 2.编写接口的实现类,即SIB (server implements bean) 3.发布服务 在接口和实现类上都要用注解说明情况。 接口 @WebService public
今天主要来看看服务端的编写及发布。 在接口和实现类上都要用注解说明情况。 接口 @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)+"------");
}
}
当我们把网上的东西导成Java文件后,有些参数变得不是那么讨人喜欢,比如,所有函数的参数命名均为arg0,arg1….,这样让我们很难识别,该怎么办呢? @WebService
public interface IMyServer {
@WebResult(name="addResult")
public int add(@WebParam(name="a")int a,@WebParam(name="b")int b);
public int minus(int a,int b);
}
add方法添加了注解,minus方法没有添加注解,我们看看生成的代码有什么不同? 参数名变了吧?再看看返回有什么不同: (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |
相关内容
- vim – 显示增量搜索期间的匹配数
- org/sonatype/nexus/bootstrap/jsw/JswLauncher (Unsupport
- scala – 为什么要从此代码中获得MalformedInputException?
- Angularjs:ReferenceError:未定义范围
- Laravel源码入门-启动引导过程(二)bootstrap/autoload.p
- 如何使用CMake execute_process()正确调用MSYS2 Bash命令?
- AngularJS JSON解析(ajax)
- 在文字Haskell中激怒Vim中的Tab问题
- 几种流行Webservice框架性能对比
- 如何在bash脚本中获取Unix上的完全限定名称(FQN)?