JAX-WS框架建立WebService服务接口生成客户端

用JAX-WS在Tomcat中发布WebService JDK中已经内置了Webservice发布,不过要用Tomcat等Web服务器发布WebService,还需要用第三方Webservice框架。Axis2和CXF是目前最流行的Webservice框架,这两个框架各有优点,不过都属于重量级框架。 JAX-WS RI是JAX WebService参考实现。相对于Axis2和CXF,JAX-WS RI是一个轻量级的框架。虽然是个轻量级框架,JAX-W 阅读详情

一:IDE(MyEclipse)中以JAX-WS框架开启WebProject中服务类的WebService服务接口,自动生成额外代码:

1,服务类的webservice代理类,可以指定namespace

 //服务类:  
 public class WsClass6 {  
  public ResEntity wsmethod1( ReqEntity param  ){   
   ResEntity rstmp = new ResEntity();
   String tmpa = param.getRqa() + "(wsmethod1)";
   int tmpb = param.getRqb() + 1;
   rstmp.setRsa(tmpb);
   rstmp.setRsb(tmpa);   
   return rstmp;   
  }
 }
 //生成服务代理类:
 @javax.jws.WebService(targetNamespace = "http://x.y.z/c6/", serviceName = "WsClass6Service", 
   portName = "WsClass6Port", wsdlLocation = "WEB-INF/wsdl/WsClass6Service.wsdl")
 public class WsClass6Delegate {
  com.test6.WsClass6 wsClass6 = new com.test6.WsClass6();
  public ResEntity wsmethod1(ReqEntity param) {
   return wsClass6.wsmethod1(param);
  }
 }

 
2,sun-jaxws.xml 配置endpoint
 sun-jaxws.xml 配置

 <?xml version = "1.0"?>
 <endpoints version="2.0"
  xmlns="http://java.sun.com/xml/ns/jax-ws/ri/runtime">
  <endpoint name="WsClass6Port"
   implementation="com.test6.WsClass6Delegate"
   url-pattern="/WsClass6Port">
  </endpoint>
  <endpoint name="WsClass62Port"
   implementation="com.test6.WsClass62Delegate"
   url-pattern="/WsClass62Port">
  </endpoint>
 </endpoints>

 

3,web.xml中Servlet、listener配置

  web.xml配置

 <?xml version="1.0" encoding="UTF-8"?>
 <web-app version="2.5" 
  xmlns="http://java.sun.com/xml/ns/javaee" 
  xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" 
  xsi:schemaLocation="http://java.sun.com/xml/ns/javaee 
  http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd">
   <servlet>
    <description>JAX-WS endpoint - WsClass6Service</description>
    <display-name>WsClass6Service</display-name>
    <servlet-name>WsClass6Service</servlet-name>
    <servlet-class>
     com.sun.xml.ws.transport.http.servlet.WSServlet
    </servlet-class>
    <load-on-startup>1</load-on-startup>
   </servlet>
   <servlet-mapping>
    <servlet-name>WsClass6Service</servlet-name>
    <url-pattern>/WsClass62Port</url-pattern>
   </servlet-mapping>
   <servlet-mapping>
    <servlet-name>WsClass6Service</servlet-name>
    <url-pattern>/WsClass6Port</url-pattern>
   </servlet-mapping>
   <welcome-file-list>
     <welcome-file>index.jsp</welcome-file>
   </welcome-file-list>
   <listener>
    <listener-class>
     com.sun.xml.ws.transport.http.servlet.WSServletContextListener
    </listener-class>
   </listener>
 </web-app>

目录结构:

WEB-INF/
--------web.xml
--------sun-jaxws.xml
--------wsdl/
------------WsClass6Service.wsdl
------------WsClass6Service_schema1.xsd

二:IDE中以JAX-WS框架生成客户端

 可以用IDE,以WSDL文件或者WSDL URL文件方式生成客户端代码;

src/
-------ObjectFactory.java
-------package-info.java
-------ReqEntity.java
-------ResEntity.java
-------WsClass6Delegate.java
-------WsClass6Service.java
-------Wsmethod1.java
-------Wsmethod1Response.java

三:调用WebService客户端

 //客户端调用:
 public class Testws6client6 {

 /**
  * @param args
  */
 public static void main(String[] args) {
  // TODO Auto-generated method stub
  
  WsClass6Service ws = new WsClass6Service();
  ReqEntity rq = new ReqEntity();
  rq.setRqa("December");
  rq.setRqb(1);
  ResEntity rs = ws.getWsClass6Port().wsmethod1(rq);
  System.out.println(rs.getRsa() + " , " + rs.getRsb());

 }
}


 

四:在tomcat(6.0)运行环境部署WebService project时需要的一些jar包

gmbal-api-only.jar
,ha-api.jar
,javax.annotation-api.jar
,javax.xml.soap-api.jar
,jaxb-api.jar
,jaxb-core.jar
,jaxb-impl.jar
,jaxws-api.jar
,jaxws-rt.jar
,jaxws-tools.jar
,management-api.jar
,policy.jar
,stax-ex.jar
,streambuffer.jar

  

一文搞懂WebService基于CXF框架【jax-ws】 什么是服务中间件WebService 中间件是一种独立的系统软件或服务程序,分布式应用软件借助这种软件在不同的技术之间共享资源。中间件位于客户机/ 服务器的操作系统之上,管理计算机资源和网络通讯。是连接两个独立应用程序或独立系统的软件。 WebService作用是什么 基于Web的服务:服务器端提供一些资源让客户端应用访问 一个跨语言、跨平台的规范 多个跨平台、跨语言的应用间通信整合的方案 W... 阅读详情

相关推荐

WebService-01-使用JAX-WS发布WebService服务

一、写在前面的话 近来项目中使用WebService技术,从早期的Axis2到现在的CXF,闲来无事,做做笔记,以备后用,后续会写CXF的基本用法、拦截器、Map类型在WebService的使用、通过自定义拦截器实现权限的验证等。 JAX-WS位于JDK的javax.jws包下,主要包括@WebService,@WebMethod等几个注解,使用这些注解,便可发布WebServ

学习,学习是一种代表你未来的能力! 4655

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

java自带webservice jax-ws客户端生成和服务端调用实例详解!

火舞狂沙 9753

JaxWs Web服务端与客户端实现指南

Java API for XML Web Services (JAX-WS) 是一套用于开发和部署Web服务的API和运行时,它允许Java开发者以标准方式创建Web服务。JAX-WS提供了对SOAP(简单对象访问协议)的支持,使得开发者能够使用Java语言编写服务端和客户端的代码,并将它们部署到支持Java EE的应用服务器上。JAX-WS是Java API for XML Web Services的简称,它为Java开发者提供了一种创建Web服务的便利方式。

weixin_31961675的博客 1241

jax-ws 创建服务端和客户端

准备 下载jax-ws jar包地址:http://download.youkuaiyun.com/detail/rongbo_j/9471877         Tomcat version:1.70 JDK version:1.8.0_65 一、创建一个 web project 即 服务端 1.01、项目整体结构 1.02、首先创建一个服务接口Calculator.java pack

xqhys的博客 1145

基于JAX-WS的WebService实战源码示例

WebService是一种基于HTTP、XML、SOAP和WSDL等标准协议实现跨平台、跨语言通信的分布式技术。其核心角色包括服务提供者(发布服务)、服务请求者(调用服务)和服务注册中心(如UDDI,用于服务发现),三者通过松耦合方式协作,支持动态集成。-- 简化的SOAP请求示例 -->该架构具备平台无关性与语言中立性,广泛应用于企业系统集成场景,如银行支付接口对接、物流状态查询及ERP与CRM系统互联,为异构环境下的服务协同提供了标准化解决方案。

weixin_35433448的博客 753

使用Jax-ws创建WebService的综合指南

本文还有配套的精品资源,点击获取 简介:JAX-WS是Java平台上用于开发SOAP服务的标准,它通过注解简化了Web服务的开发。本文将详细介绍基于JAX-WS的WebService开发过程,包括服务接口声明、WSDL文件定义、服务发布、SOAP消息处理、客户端代码生成和JAXB绑定等关键步骤。读者将学习到如何使用 Endpoint 类、 wsimpo...

weixin_42527665的博客 1669

jaxws-ri 2.2.6生成webServcie客户端步骤

第一部分配置jaxws-ri 1.访问你的wsdl地址需要安全验证,你需要在jaxws-ri 2.2.6/bin/authFile.txt文件中配置你的用户名和密码 http://wsuser:12345678@www.test.com/webservice/goodsWebservice?wsdl (wsuser和12345678就是用户名和密码,@后面的是你的wsdl地址了) 2.

羊毛毯的专栏 2862

基于JAX-WS的WebService开发完整实例教程

在JAX-WS中,服务接口通常是一个Java接口(interface),通过注解标记为Web服务端点。接口定义的规范性直接影响服务调用的可靠性与跨平台兼容性。WSDL文档本质上是一个XML文件,其结构主要包括以下几个核心元素:元素名称描述说明根元素,定义整个WSDL文档的命名空间和导入信息<types>定义服务中使用的数据类型,通常引用XSD文件<message>描述服务操作的输入和输出消息结构<portType>定义服务的操作接口(方法)及其参数<binding>

weixin_42515392的博客 1034

JAX-WS生成代码工具说明

wsgen -keep -cp . test.ws.EmployeeImp wsgen wsgen是在JDK的bin目录下的一个exe文件(Windows版),该命令的主要功能是用来生成合适的JAX-WS。它读取Web Service的终端类文件,同时生成所有用于发布Web Service所依赖的源代码文件和经过编译过的二进制类文件。这里要特别说明的是,通常在Web Service Bean中用...

行行 290

Crawl4AI实战:5分钟搞定电商价格监控爬虫(附Python代码)

本文详细介绍了如何利用开源AI网络爬虫框架Crawl4AI快速构建电商价格监控系统。通过Python实战代码,展示了从环境配置、智能内容提取到多平台适配、定时任务与数据可视化的完整流程,帮助运营人员和技术开发者高效实现自动化价格追踪与竞品分析。

weixin_29090917的博客 414

Mac用户看过来!M1/M2芯片安装CiteSpace完整指南(从Homebrew到成功运行)

本文为Mac M1/M2芯片用户提供CiteSpace安装的完整指南,从Homebrew安装适配的Java环境到最终成功运行CiteSpace。详细步骤包括环境检查、Java配置、CiteSpace下载与优化,解决常见问题如内存分配、图形渲染和中文显示乱码,确保科研人员能顺利使用这一文献可视化工具。

weixin_42530458的博客 308

基于JAX-WS的Web Service服务端/客户端

JAX-WS(Java API for XML-Based Web Services)用于简化使用Java构建WebService服务端和

怀揣梦想,努力前行 3万+

树莓派4B学习笔记一

树莓派4b烧录Ubuntu20.04&&配置Ubuntu桌面

m0_55202222的博客 3643

使用JAX-WS开发简单webservice

webservice的技术有很多,现在流行的有JAX-WS、XFile、CXF、Axis1、Axis2等。不过JAX-WS是webservice技术最轻量级的,不需要引入额外jar包。  在服务器端,用户只需要通过Java语言定义远程调用所需要实现的接口SEI(service endpoint interface),并提供相关的实现,通过调用JAX-WS的服务发布接口就可以将其发布为WebSer

小小布的程序世界 5368

IMX335摄像头原理图设计,已量产

从工程组织上看,IMX335 模组和 IMX415 模组属于同一类产品:核心矛盾不是外设多,而是高速图像链路、电源域和调试接口要同时兼顾。ATK-MCIMX335 这张图的结构也很直接,三路 LDO、本地 24MHz 可选时钟、4-lane MIPI 数据对和一组主板侧标准接口,构成了一张非常典型的量产摄像头子板。

不脱发的程序猿 440

弥散圆以及最大弥散圆

1弥散圆的形成? 原本景物中的一点应该经过透镜本应该也是一点才对。但是因为离焦,球差的存在,最终成像会投影成一个光斑圆圈。越小越清晰,越大就互相干涉变得越模糊。 同时人们规定二零最大弥散圆,就是人眼能够感受清晰模糊的一个边界,直径大于它,感受到模糊;直径小于它,感受不到模糊。 下面分别是离焦(左),球差(右)。 2弥散圆大小怎么计算呢? ,f为焦距;<1> ,D为光圈有效孔径;<2> F=f/D; <3> 3条公式合并可得出: ...

camerall 3117

【示例】Java调用webservice接口-JAX-WS方式

使用JAX-WS(Java API for XML Web Services)调用Web服务

qq_39366078的博客 2158

Android 11.0 app添加校验锁(输入密码才能进入app)

11.0定制化开发中客户要求给app添加锁,就是点击app 图标时,会弹出Dialog,需要输入密码才能进入app中,就是应用校验锁, 最开始想到在Launcher3中实现,但是如果更换了默认Launcher 又不行了 所以最终还是得拦截app启动Activity 从这里入手了 Launcher与APP是在两个不同的进程中,他们之间的通信是通过Binder完成的,点击Launcher上的某个APP,这时会调用Launcher的startActivitySafely方法。 public boolean sta

安卓兼职framework和app工程师的博客 1953

实现WebService几种方式之JAX-WS详解

介绍 前文提到了WebService是一种跨语言和操作系统的远程调用技术,WebService如此强大,市面上关于它的技术也是层出不穷,下面便是WebService的JAVA原生实现–JAX-WS: JAX-WS(Java API for XML Web Services)规范是一组XML web services的JAVA API,JAX-WS允许开发者可以选择RPC-oriented或者me...

csdn_1364491554的博客 8269

【CANdelaStudio编辑CDD】-21.2-创建OBD诊断$03,$07,$0A和$04服务以及OBD DTC

案例背景(共11页精讲):创建OBD诊断$03,$07,$0A和$04服务;以及OBD DTC。 在《【ISO15031_OBD诊断】-3.1-$03服务Request emission-related diagnostic trouble codes理论部分https://blog.youkuaiyun.com/qfmzhu/article/details/122157513》, 《【ISO15031_OBD诊断】-7.1-$07服务Request emission-related diagnostic trou

「汽车电子助手」的博客 1697

文档:亲测可用解决vnc灰屏,黑屏,鼠标大黑叉情况

主要解决vnc-viewer灰屏,黑屏,鼠标大黑叉等现象,详细见文档。

简单的Jax-WS webservice实现

目录   1       定义Service 2       服务端发布Service 2.1      排除WebService中的某个方法 3       客户端访问Service 4       java2ws工具的使用 4.1      命令行使用java2ws 4.2      Maven使用java2ws 5       基于Spring的Jax-ws WebServ

Elim的博客 1万+

Statistics and Machine Learning Toolbox

Statistics and Machine Learning Toolbox(带书签),MATLAB统计学习工具

JAX-WS RI组件开发基于JAX-WS规范的WebService服务入门程序

一、服务端 先把服务端项目完整的结构示意图展示出来: 1、创建提供webservice服务的服务接口 创建一个Web项目,并创建一个提供WebService服务的服务接口 该接口提供的服务:加法运算和乘法运算 2、创建提供webservice服务的服务接口的实现类 创建提供WebService服务的服务接口实现类 3、将JAX-WS RI组件lib目录下的jar包导入工程 使用JAX-...

直到日落的博客 4300

华为的C语言编程规范.pdf

华为技术有限公司内部技术规范。本规范制定了编写C语言程序的基本原则、规则和建议。从代码的清晰、简洁、可测试、安全、程序效率、可移植各个方面对C语言编程作出了具体指导。

Camera2Demo

在Camera2 的基础上进行封装,使得Camera2一堆初始化逻辑与Activity分离,降低耦合度,完成预览拍照并保存的操作

WebService学习——利用Eclipse生成JAX-WS WebService客户端

上一篇介绍了如何用Eclipse生成JAX-WS WebService服务端,现在介绍如何生成客户端 1、 创建一个web工程,Dynamic Web Project (File->New->Dynamic Web Project),取名叫“ws-client” 2、 创建WebService客户端(选中创建的客户端右击New->Other->Web Services->Web Ser

记录只为更好地前行 7554

JAX-WS构建简单webservice部署到tomcat上

前言: 虽然构建本地的jax-ws的webservice很简单,但要部署到tomcat上要绕过点弯。 tomcat本身和jdk都没有jaw-ws的API,所以部署的时候需要额外做点事情,有两种选择 1、下载必要的jar库,JAX-WS RI,地址:https://jax-ws.java.net/ 2、使用其他服务器,比如TomEE(tomcat的加强版)等。(未测试),可以

pwh309315228的博客 1566

WebService:JAX-WS实现WebService

WebService和Java核心技术中的RMI一样用于实现异构平台上的应用程序之间数据的交互。唯一不同的是这种技术屏蔽了语言之间的差异,这也是其大行其道的原因。实现WebService的技术多种多样,可以使用JAX-WS、CXF、Axis2或Metro等方式实现WebService,接下来会给大家展示依次如何使用不同的方式实现WebService,本篇博客为大家演示如何使用JAX-WS实现Web

gaohuanjie的专栏 2890
上一篇: Dom对象与jQuery对象的转换
下一篇: 数据库优化50种方法
johnsearcher
博客等级 码龄17年 12粉丝 55原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值