jax-ws服务端生成和客户端调用实例

最近公司让基于别的公司的接口写一个自己的接口,接口对于别的公司来说相当于客户端,但对于自己本公司要调用的程序来说,又相当于服务端。

闲来无事,总结下。

先从java自带的service开始

JAX-WS(java api xml webservice)  基于javaAPI的webService实现

用的工具是myeclipse

首先是服务端

1.新建webProject  jax-wsServer  如图:

2.新建包和类如下图

既然是入门例子,咱就越简单越好,关键看好流程

IMService.java 内容如下

package com.jax.server;

public interface IMyService {

public int add(int a,int b);

public int minus(int a,int b);

}

MyServiceImpl.java内容如下

package com.jax.server;

public class MyServiceImpl implements IMyService {

public int add(int a, int b) {

// TODO Auto-generated method stub

return a+b;

}

public int minus(int a, int b) {

// TODO Auto-generated method stub

return a-b;

}

}

以上基本准备工作就算完成了,下边是应用MyEclipse具体生成的步骤。

1 右键 src-new others,选择web service  如图:

2.单击下一步,选择用JAX-WS方式,从java类创建,如图:

3.点击Next,选择要用到的类,就是我们刚才创建的MyServiceImpl,要是实体类。

选择在工程中生成wsdl,如图:

点击Finish。

4.右键工程,选择Properties,选择"Java Build Path",然后选择"Libraries",如图:

5.点击 Add Libraries,选择 MyEclipse Libraries,如下图:

6.点击Next,选择 JAX-WS,如图:

7.点击Finish,如下图:

8.点击OK,工程结构如下图:

9.至此,服务端程序生成完毕,部署到Tomcat下,启动Tomcat,访问地址http://localhost:8080/ProjectWS/WSServerPort?wsdl,如下图

出现如上图所示的wsdl页面了,说明本地服务已经启动,可以访问了。

对外地址是http://localhost:8080/jax-wsServer/MyServiceImplPort?wsdl

命名空间targetNamespace="http://server.jax.com/"

服务名 portType name="MyServiceImplDelegate"

提供两个方法  add和minus

这样完整的WebService服务端,就配置并发布完成了。

下边是jax-ws服务端的生成和调用方式。

1.可以新建工程(由于是测试,为了省事,这里和server用一个工程),右键src,选择web Service Client,如图:

2.选择web Service Client,点击Next,如下图:

3.点击Next,指定访问的webService的路径,就是我们刚才访问的地址,指定客户端文件的包

4.点击Next,如下图:

5.Finish完成,客户端文件生成完毕,结构如下:

6.编写测试类TestClient,代码如下

package com.jax.client;

public class TestClient {

public static void main(String []arg){

//服务的具体类,继承了service类

MyServiceImplService
service=new MyServiceImplService();

//服务的接口,通过getPort()方法得到

MyServiceImplDelegate se=service.getPort(MyServiceImplDelegate.class);

//通过服务的接口调用方法

int add=se.add(34, 23);

int minus=se.minus(34, 23);

System.out.println("34+23="+add);

System.out.println("34-23="+minus);

}

}

7.运行结果如下:

到此完整的关于 JAX-WS的服务端、客户端的生成调用的整个过程就完成了,与大家一起学习、共勉。

后续会还有CXF的详细过程。

时间: 2024-12-24 21:50:10

jax-ws服务端生成和客户端调用实例的相关文章

jax-ws服务端生成和客户端调用实例详解

长时间不写博客,照片都忘记怎么上传了,由于上一篇图片没有上传,所以删掉,重做了一个. 最近公司让基于别的公司的接口写一个自己的接口,接口对于别的公司来说相当于客户端,但对于自己本公司要调用的程序来说,又相当于服务端. 闲来无事,总结下. 先从java自带的service开始 JAX-WS(java api xml webservice)  基于javaAPI的webService实现 用的工具是myeclipse 首先是服务端 新建webProject  jax-wsServer  如图: 新建

Web Service学习之服务端搭建与客户端调用

?工作中用到了Web Service,但是对这块不是很熟悉,决定花时间学习一下,现在记录一下最基本的入门知识点. 使用Java搭建Web Service服务端,使用Python脚本调用接口. 一.Web Service服务端 1.在Eclipse中新建一个Java工程,新建test.TestWebService类 package test; import javax.jws.WebService; import javax.xml.ws.Endpoint; @WebService public 

Spring Cloud 服务端注册与客户端调用

Spring Cloud 服务端注册与客户端调用 上一篇中,我们已经把Spring Cloud的服务注册中心Eureka搭建起来了,这一章,我们讲解如何将服务注册到Eureka,以及客户端如何调用服务. 一.注册服务 首先要再项目中引入Eureka Client,在pom.xml中加入如下配置: <dependencyManagement> <dependencies> <dependency> <groupId>org.springframework.cl

C# WCF服务端搭建和客户端调用

1) 打开Visual Studio 2012,在菜单上点击文件->新建->项目->WCF服务应用程序.在弹出界面的"名称"对应的文本框中输入"WcfServiceTest",然后点击"确定"按钮. 如下图: 2) 把Visual Studio 2012自动生成的两个文件IService1.cs改名为IService.cs接口类.Service1.cs改名为Service.cs实现类. 如下图: 3) 由于Visual Stud

Thrift操作(Python服务端和Nodejs客户端)

目录 前言 python服务端 nodejs客户端 win10运行thrift 测试 前言 操作系统win10 时间2019年02月 Thrift版本:Thrift version 0.11.0 Python版本: Python 3.5.2 Nodejs版本: node v8.9.3 参考网址1 python服务端 安装thrift python install thrift server.py # -*- coding: utf-8 -*- import json # 调用python安装的t

(8)Linux(客户端)和Windows(服务端)下socket通信实例

Linux(客户端)和Windows(服务端)下socket通信实例: (1)首先是Windows做客户端,Linux做服务端的程序 Windows   Client端 #include <stdio.h> #include <Windows.h> #pragma comment(lib, "ws2_32.lib") #define Port 5000 #define IP_ADDRESS "192.168.1.30"     //服务器地址

WCF 大数据量如何从服务端传到客户端

当数据量很大时,想要从服务端传到客户端可能会遇到这几个问题:基础连接意外关闭:内存溢出:或时间过长. 下面是我在项目中实现客户端导出txt文件时解决方法.txt有150M左右. namespace XSGLSRV900 //服务端接口实现 { public class XSGLService : IXSGLService { //这些变量只能是静态的,如果是非静态的,在客户端每一次调用服务端都认为是新建一个服务对象,这些值将不再能读取到.关于WCF服务端的三种模式可参考http://www.cn

服务端主动给客户端推送消息

在了解这个之前,先要知道ajax,队列和递归 ajax操作 异步提交,局部刷新.用它就可以实现轮询/长轮询 创建django项目 views from django.shortcuts import render,HttpResponse import json from django.http import JsonResponse # Create your views here. # 验证ajax def ab_dy(request): if request.method == 'post

[发布]SuperIO v2.2.5 集成OPC服务端和OPC客户端

SuperIO 下载:本站下载 百度网盘 1.修复串口号大于等于10的时候导致IO未知状态. 2.优化RunIODevice(io)函数内部处理流程,二次开发可以重载这个接口. 3.优化IO接收数据,提高运行效率. 4.优化OPC服务器端操作类库. 5.在Demo增加OPC服务端和OPC客户端事例源代码. [SuperIO教程]10.集成OPC Server和OPC Client插件服务 介绍 OPC服务端 OPC客户端 作者QQ:504547114 交流QQ群:54256083 官方网址:ht