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,

目录
相关文章
|
3月前
【Azure 应用服务】Web App Service 中的 应用程序配置(Application Setting) 怎么获取key vault中的值
【Azure 应用服务】Web App Service 中的 应用程序配置(Application Setting) 怎么获取key vault中的值
|
10天前
【Azure App Service】PowerShell脚本批量添加IP地址到Web App允许访问IP列表中
Web App取消公网访问后,只允许特定IP能访问Web App。需要写一下段PowerShell脚本,批量添加IP到Web App的允许访问IP列表里!
|
3月前
|
关系型数据库 MySQL Linux
【Azure 应用服务】在创建Web App Service的时候,选Linux系统后无法使用Mysql in App
【Azure 应用服务】在创建Web App Service的时候,选Linux系统后无法使用Mysql in App
【Azure 应用服务】在创建Web App Service的时候,选Linux系统后无法使用Mysql in App
|
3月前
|
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.
|
3月前
|
Linux 应用服务中间件 网络安全
【Azure 应用服务】查看App Service for Linux上部署PHP 7.4 和 8.0时,所使用的WEB服务器是什么?
【Azure 应用服务】查看App Service for Linux上部署PHP 7.4 和 8.0时,所使用的WEB服务器是什么?
|
3月前
【Azure 应用服务】通过 Web.config 开启 dotnet 应用的 stdoutLog 日志,查看App Service 产生500错误的原因
【Azure 应用服务】通过 Web.config 开启 dotnet 应用的 stdoutLog 日志,查看App Service 产生500错误的原因
|
3月前
|
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
|
6月前
|
缓存 应用服务中间件 数据库
Python Web Service开发及优化
随着互联网的快速发展,Web服务已成为现代技术的核心。Python作为一种功能强大且易于学习的编程语言,在Web服务开发领域占据着重要地位。Python Web服务开发的重要性在于它能够提供高效、可扩展且易于维护的解决方案。本篇博客将探讨如何使用Python的Flask框架、Gunicorn WSGI服务器和Nginx网页服务器来实现高性能的Web服务。
|
6月前
|
XML Java 应用服务中间件
WebService - Axis2基于JAX-WS开发WebService并发布多个WebService
WebService - Axis2基于JAX-WS开发WebService并发布多个WebService
90 0
|
6月前
|
Java 应用服务中间件 Spring
WebService - Axis2使用services.xml进行开发server与client(未与Spring整合)
WebService - Axis2使用services.xml进行开发server与client(未与Spring整合)
144 0

推荐镜像

更多
下一篇
无影云桌面