加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 综合聚焦 > 服务器 > 安全 > 正文

WebService客户/服务器端实现

发布时间:2020-12-17 01:11:10 所属栏目:安全 来源:网络整理
导读:? 三步实现简单的Java WebService服务器! 1.首现编写实现服务的类(注意@WebService标记): ? 可以看到,我们的WebService将提供两个方法的服务; package org.netjava.web; import javax.jws.WebService; /** ?*简单web服务的实现 ?*@author:NetJava.cn ?*/ /
? 三步实现简单的Java WebService服务器!

1.首现编写实现服务的类(注意@WebService标记):
? 可以看到,我们的WebService将提供两个方法的服务;

package org.netjava.web;
import javax.jws.WebService;
/**
?*简单web服务的实现
?*@author:NetJava.cn
?*/
//注释说明这是个webService实现
@WebService
public class? ServiceImp {
?
//以下为这个Service的两个测试方法:
?? public String getName(String srcName) {
?? ?count++;
?????? return count+"you input Name:"+srcName;
??? }

?? public int getAge(int age) {
?? ?count++;
???????? return? count+10;
??? }

? private static int count=0;
}


2.编写一个工具发布这个接口,我们将它发布到http://localhost:9090/netjava/test 这个地址:

package org.netjava.web;
import javax.xml.ws.Endpoint;
/**
?*发布服务web服务
?*@author:NetJava.cn
?*/
?public class PublicService{
?
? public static void main(String[] args) {
???????? //将ServiceImp服务发布到指定地址:
????? Endpoint.publish("http://localhost:9090/netjava/test",new ServiceImp());
?????
?????? }
?

3.OK,启动服务!
??? 先编译:??? javac -d . *.java
??? 执行wsgen导出服务:wsgen?? com.netjava.webservice.EchoNameService
??? 启动! java? com.netjava.webservice.PublicService

?现在,在IE中打开http://localhost:9090/netjava/test?wsdl 看到了么:)

????????

二,客户端:

1.我们新建一个client目录存放执行wsimport 导出客户端代码,为了便于编程,我们导出源码
????? wsimport -d client -s client? http://localhost:9090/netjava/test?wsdl
?OK,成功执行后到client下的面,我们可以看到,生成了跟服务器端包结构相同的层次文件,在org/netjava/web下面在生成的客户端的类文件和源文件,我们关注的只有两个文件:ServiceImp.java和ServiceImpService.java,这两个文件是我们客户端编程实现要用到的,我们先"囫囵吞枣"的了解一下这两个类:ServiceImp可以认为就是我们服务器端的ServiceImp类,它有两个同样的方法---服务器导出的;ServiceImpService,注意,后面多个Service,这是工具自动加上的,意思我猜是说"这是客户端的服务工具",我们的客户端代码这样编写:
(当然,这个类一定要放到client目录下),
?????
import? org.netjava.web.*;
? /**
? *示例客户端,
? *@author:NetJava.cn
? */
? public class NJClient{
? public static void main(String args[]){
??ServiceImpService gp=new ServiceImpService();
??ServiceImp client=gp.getServiceImpPort();
??String resultName=client.getName("? 简单WebService");
?? ?int resultAge=client.getAge(100);
?? ?System.out.println("resultName: "+resultName+" resultAge:"+resultAge);
???? }
}

编译: javac -cp . NJClient.java 运行: java -cp . NJClient

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读