Eclipse上利用cxf将POJO发布成web service的过程

简介: eclipse的版本去这个url官网下载http://cxf.apache.org/download.html 然后配置环境变量添加到path

eclipse的版本
_
去这个url官网下载
http://cxf.apache.org/download.html
_

_
然后配置环境变量
_
添加到path
_
以上都是准备工作,eclipse用来编写普通的java的pojo,然后利用cxf包发布wsdl。这样服务端的项目发布了wsdl以后,自己的使命就完成了。
然后我们需要一个client项目,在client所在的pc上使用cmd命令行使用cxf的命令,将wsdl转换成java。将上述java文件导入到client项目中。然后在client项目上使用服务端的web service。
下面我们来截图描述上述过程:
首先为我们的eclipse配置cxf的runtime也就是我们刚刚下载解压缩配置环境变量的CXF_HOME,如下图
_
_
_
然后为我们的项目,也就是服务端的项目,添加cxf的支持,如下图:
_
经过上述配置,我们的服务端的项目中的pojo代码,就可以使用cxf的jar了。
然后我们开始编码,写一个简单的服务,也就是pojo也就是以后被发布成web service的java类。
写完以后如下所示:
_
我们看一下代码的具体内容,三个文件

  • SlashInterface.java接口
  • SlashImplement.java实现类(服务本身)
  • DentalPOJO.java发布webservice的发布类

然后代码如下:
SlashInterface.java

package com.dental;

import javax.jws.WebService;

@WebService
public interface SlashInterface {
    int add(int a,int b);
    String strAdd(String a,String b);

}

SlashImplement.java

package com.dental;

import javax.jws.WebService;

@WebService(endpointInterface="com.dental.SlashInterface",serviceName="skss")
public class SlashImplement implements SlashInterface {

    @Override
    public int add(int a, int b) {
        // TODO Auto-generated method stub
        return a + b + 25;
    }

    @Override
    public String strAdd(String a, String b) {
        // TODO Auto-generated method stub
        return a + b;
    }

}

DentalPOJO.java发布类

package com.dental;

import javax.xml.ws.Endpoint;

public class DentalPOJO {
    
    public static void main(String[] args) {
        
             //新建一个服务类的实例
        SlashImplement sim = new SlashImplement();
            //配置一个地址
        String address = "http://localhost:6054/skss";
             //发布web service
        Endpoint.publish(address, sim);
             //调试辅助信息
        System.out.println("great baby-------------");
        
    }

}

经过上述配置和编码,我们已经准备好了服务器端的内容。下面我们发布wsdl:
_
_
现在,发布完成了。我们需要去浏览器上看看这个wsdl文件:
_
好的,下面我们准备client端的工作了。

事实上,我们在同一个PC上的同一个eclipse上进行编码。但是我们在本文中,涉及到两个eclipse上的项目。
服务器端
客户端
下面我们来默认客户端的eclipse上的项目如何使用web service

我们现在已经知道web service的wsdl是http://localhost:6054/skss?wsdl
我们使用命令行执行cxf的命令,如下图所示:
_
执行完命令以后会在目录下创建一个文件夹结构以及一堆java代码。
_
我们看到,上图所示的文件夹就是cxf帮我们创建的。
下面我们将上述的所有java文件及文件夹结构复制到我们的eclipse的workspace中
_
复制的目的地,是eclipse上的另一个项目,我们称它为client项目。
_
然后我们在这个client项目上利用testNG生成一个测试类。
_
_
测试类的代码如下:

package com.dental;

import org.testng.annotations.Test;

public class SkssTest {
  @Test
  public void f() {
      //web service的具体stub
      Skss s1 = new Skss();
      //stub的实例化
      SlashInterface sim = s1.getSlashImplementPort();
      //执行web service方法
      int iresult = sim.add(999, 100);
      
      System.out.println("result is:"+iresult);
  }
}

我们执行这个testNG的测试类的测试方法f()
_
_
我们的client项目正确的调用了server端的web service
另外,eclipse的console本身,实际上对于不同项目有不同的窗体:
_
_

也就是这样,我们发布webservice,

目录
相关文章
【Azure 应用服务】Web App Service 中的 应用程序配置(Application Setting) 怎么获取key vault中的值
【Azure 应用服务】Web App Service 中的 应用程序配置(Application Setting) 怎么获取key vault中的值
230 0
【Azure App Service】PowerShell脚本批量添加IP地址到Web App允许访问IP列表中
Web App取消公网访问后,只允许特定IP能访问Web App。需要写一下段PowerShell脚本,批量添加IP到Web App的允许访问IP列表里!
293 2
|
关系型数据库 MySQL Linux
【Azure 应用服务】在创建Web App Service的时候,选Linux系统后无法使用Mysql in App
【Azure 应用服务】在创建Web App Service的时候,选Linux系统后无法使用Mysql in App
158 0
【Azure 应用服务】在创建Web App Service的时候,选Linux系统后无法使用Mysql in App
|
Shell PHP Windows
【Azure App Service】Web Job 报错 UNC paths are not supported. Defaulting to Windows directory.
【Azure App Service】Web Job 报错 UNC paths are not supported. Defaulting to Windows directory.
270 0
|
Linux 应用服务中间件 网络安全
【Azure 应用服务】查看App Service for Linux上部署PHP 7.4 和 8.0时,所使用的WEB服务器是什么?
【Azure 应用服务】查看App Service for Linux上部署PHP 7.4 和 8.0时,所使用的WEB服务器是什么?
176 0
【Azure 应用服务】通过 Web.config 开启 dotnet 应用的 stdoutLog 日志,查看App Service 产生500错误的原因
【Azure 应用服务】通过 Web.config 开启 dotnet 应用的 stdoutLog 日志,查看App Service 产生500错误的原因
378 0
|
Linux Python
【Azure 应用服务】Azure App Service For Linux 上实现 Python Flask Web Socket 项目 Http/Https
【Azure 应用服务】Azure App Service For Linux 上实现 Python Flask Web Socket 项目 Http/Https
321 0
|
6月前
|
算法 Java Go
【GoGin】(1)上手Go Gin 基于Go语言开发的Web框架,本文介绍了各种路由的配置信息;包含各场景下请求参数的基本传入接收
gin 框架中采用的路优酷是基于httprouter做的是一个高性能的 HTTP 请求路由器,适用于 Go 语言。它的设计目标是提供高效的路由匹配和低内存占用,特别适合需要高性能和简单路由的应用场景。
557 4
|
10月前
|
缓存 JavaScript 前端开发
鸿蒙5开发宝藏案例分享---Web开发优化案例分享
本文深入解读鸿蒙官方文档中的 `ArkWeb` 性能优化技巧,从预启动进程到预渲染,涵盖预下载、预连接、预取POST等八大优化策略。通过代码示例详解如何提升Web页面加载速度,助你打造流畅的HarmonyOS应用体验。内容实用,按需选用,让H5页面快到飞起!
|
10月前
|
JavaScript 前端开发 API
鸿蒙5开发宝藏案例分享---Web加载时延优化解析
本文深入解析了鸿蒙开发中Web加载完成时延的优化技巧,结合官方案例与实际代码,助你提升性能。核心内容包括:使用DevEco Profiler和DevTools定位瓶颈、四大优化方向(资源合并、接口预取、图片懒加载、任务拆解)及高频手段总结。同时提供性能优化黄金准则,如首屏资源控制在300KB内、关键接口响应≤200ms等,帮助开发者实现丝般流畅体验。

推荐镜像

更多