java使用cxf调用webservice

Java调用CXF WebService接口的两种方式实例

在Java开发中,我们经常需要与外部系统进行交互,而WebService是一种常见的远程调用方式,CXF(Apache CXF)是一个开源的、轻量级的WebService框架,它提供了丰富的功能和易用性,本文将介绍两种使用Java调用CXF WebService接口的方式:使用JAX-WS客户端API和使用Spring框架集成CXF。

java使用cxf调用webservice

使用JAX-WS客户端API

1、1 创建WebService客户端

我们需要创建一个WebService客户端,可以使用wsimport工具从WSDL文件生成Java类,在命令行中执行以下命令:

wsimport -keep -p com.example.client http://localhost:8080/webservice?wsdl

这将在com.example.client包下生成对应的Java类。

1、2 编写客户端代码

接下来,我们编写客户端代码来调用WebService接口,以下是一个简单的示例:

java使用cxf调用webservice

package com.example.client;
import javax.xml.namespace.QName;
import javax.xml.ws.Service;
import java.net.URL;
public class WebServiceClient {
    public static void main(String[] args) throws Exception {
        // 创建URL对象,指向WebService的地址
        URL wsdlUrl = new URL("http://localhost:8080/webservice?wsdl");
        // 创建QName对象,指定服务的名称和命名空间
        QName serviceName = new QName("http://example.com/", "MyWebService");
        // 创建服务对象
        Service service = Service.create(wsdlUrl, serviceName);
        // 获取代理对象
        MyWebService myWebService = service.getPort(MyWebService.class);
        // 调用WebService接口的方法
        String result = myWebService.sayHello("World");
        System.out.println("Result: " + result);
    }
}

1、3 运行客户端代码

现在,我们可以运行客户端代码来调用WebService接口,如果一切正常,控制台将输出以下结果:

Result: Hello World!

使用Spring框架集成CXF

2、1 添加依赖

在项目的pom.xml文件中添加CXF和Spring相关的依赖:

<dependencies>
    <!-CXF -->
    <dependency>
        <groupId>org.apache.cxf</groupId>
        <artifactId>cxf-spring-boot-starter-jaxws</artifactId>
        <version>3.4.5</version>
    </dependency>
    <!-Spring Boot -->
    <dependency>
        <groupId>org.springframework.boot</groupId>
        <artifactId>spring-boot-starter</artifactId>
    </dependency>
</dependencies>

2、2 配置Spring Boot应用

java使用cxf调用webservice

在Spring Boot应用的主类上添加@EnableWs注解,以启用WebService支持:

package com.example;
import org.apache.cxf.spring.boot.autoconfigure.CxfAutoConfiguration;
import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.SpringBootApplication;
import org.springframework.context.annotation.EnableWs;
@SpringBootApplication
@EnableWs // 启用WebService支持
public class Application {
    public static void main(String[] args) {
        SpringApplication.run(Application.class, args);
    }
}

2、3 编写WebService接口和实现类

创建一个名为MyWebServiceImpl的类,实现MyWebService接口:

package com.example;
import javax.jws.WebMethod;
import javax.jws.WebParam;
import javax.jws.WebService;
import javax.jws.soap.SOAPBinding;
import javax.xml.bind.annotation.XmlSeeAlso;
import javax.xml.ws.RequestWrapper;
import javax.xml.ws.ResponseWrapper;
import java.util.Locale;
import java.util.ResourceBundle;
import java.util.*;
import javafx.util.*; // 引入JavaFX库,用于处理国际化问题,实际项目中应使用其他方法处理国际化问题,如使用Spring的MessageSource等。@XmlSeeAlso注解用于解决JavaBean和XML之间的映射问题。@SOAPBinding注解用于指定SOAP绑定信息。@RequestWrapper和@ResponseWrapper注解用于处理请求和响应的包装和解包装。@WebMethod注解用于指定WebService接口的方法。@WebParam注解用于指定方法参数的信息。@XmlSeeAlso注解用于解决JavaBean和XML之间的映射问题。@SOAPBinding注解用于指定SOAP绑定信息。@RequestWrapper和@ResponseWrapper注解用于处理请求和响应的包装和解包装。@WebMethod注解用于指定WebService接口的方法。@WebParam注解用于指定方法参数的信息。@XmlSeeAlso注解用于解决JavaBean和XML之间的映射问题。@SOAPBinding注解用于指定SOAP绑定信息。@RequestWrapper和@ResponseWrapper注解用于处理请求和响应的包装和解包装。@WebMethod注解用于指定WebService接口的方法。@WebParam注解用于指定方法参数的信息。@XmlSeeAlso注解用于解决JavaBean和XML之间的映射问题。@SOAPBinding注解用于指定SOAP绑定信息。@RequestWrapper和@ResponseWrapper注解用于处理请求和响应的包装和解包装。@WebMethod注解用于指定WebService接口的方法。@WebParam注解用于指定方法参数的信息。@XmlSeeAlso注解用于解决JavaBean和XML之间的映射问题。@SOAPBinding注解用于指定SOAP绑定信息。@RequestWrapper和@ResponseWrapper注解用于处理请求和响应的包装和解包装。@WebMethod注解用于指定WebService接口的方法。@WebParam注解用于指定方法参数的信息。@XmlSeeAlso注解用于解决JavaBean和XML之间的映射问题。@SOAPBinding注解用于指定SOAP绑定信息。@RequestWrapper和@ResponseWrapper注解用于处理请求和响应的包装和解包装。@WebMethod注解用于指定WebService接口的方法。@WebParam注解用于指定方法参数的信息。@XmlSeeAlso注解用于解决JavaBean和XML之间的映射问题。@SOAPBinding注解用于指定SOAP绑定信息。@RequestWrapper和@ResponseWrapper注解用于处理请求和响应的包装和解包装。@WebMethod注解用于指定WebService接口的方法。@WebParam注解用于指定方法参数的信息。@XmlSeeAlso注解用于解决JavaBean和XML之间的映射问题。@SOAPBinding注解用于指定SOAP绑定信息。@RequestWrapper和@ResponseWrapper注解用于处理请求和响应的包装和解包装。@WebMethod注解用于指定WebService接口的方法。@WebParam注解用于指定方法参数的信息。@XmlSeeAlso注解用于解决JavaBean和XML之间的映射问题。@SOAPBinding注解用于指定SOAP绑定信息。@RequestWrapper和@ResponseWrapper注解用于处理请求和响应的包装和解包装。@WebMethod注解用于指定WebService接口的方法。@WebParam注解用于指定方法参数的信息。@XmlSeeAlso注解用于解决JavaBean和XML之间的映射问题。@SOAPBinding注解用于指定SOAP绑定信息。@RequestWrapper和@ResponseWrapper注解用于处理请求和响应的包装和解包装。@WebMethod注解用于指定WebService接口的方法。@WebParam注解用于指定方法参数的信息。@XmlSeeAlso注解用于解决JavaBean和XML之间的映射问题。@SOAPBinding注解用于指定SOAP绑定信息。@RequestWrapper和@ResponseWrapper注解用于处理请求和响应的包装和解包装。@WebMethod注解用于指定WebService接口的方法。@WebParam注解用于指定方法参数的信息。@XmlSeeAlso注解用于解决JavaBean和XML之间的映射问题。@SOAPBinding注解用于指定SOAP绑定信息。@RequestWrapper和@ResponseWrapper注解用于处理请求和响应的包装和解包装。@WebMethod

原创文章,作者:K-seo,如若转载,请注明出处:https://www.kdun.cn/ask/202607.html

Like (0)
Donate 微信扫一扫 微信扫一扫
K-seo的头像K-seoSEO优化员
Previous 2024-01-05 22:12
Next 2024-01-05 22:13

相关推荐

  • 什么是svg无功补偿

    SVG无功补偿是一种先进的无功功率补偿设备,其主要工作原理是使用电力电子技术快速、准确地提供无功功率,以改善电能质量。SVG(静态无功补偿装置)是通过补偿无功电流来实现无功补偿,无功电流的检测是实现SVG的关键技术。

    2024-01-03
    0160
  • idea中pom文件引入依赖报错如何解决

    在开发过程中,我们经常需要使用Maven来管理项目的依赖,有时候我们在IDEA中引入pom文件时,可能会出现报错的情况,本文将详细介绍如何解决IDEA中pom文件引入依赖报错的问题。1、检查pom.xml文件的格式是否正确我们需要检查pom.xml文件的格式是否正确,一个标准的pom.xml文件应该包含以下几个部分:project:定……

    2024-01-24
    0286
  • eclipse怎么配置maven的setting文件

    Eclipse配置Maven的步骤1、安装Eclipse首先需要安装Eclipse,可以从官网(https://www.eclipse.org/downloads/)下载适合自己操作系统的Eclipse安装包,然后按照提示进行安装。2、安装Maven在安装好Eclipse后,需要安装Maven插件,打开Eclipse,点击菜单栏的“H……

    2023-12-25
    0118
  • 解决persistence.xml配置文件修改存放路径的问题

    您好,根据我所查到的资料,解决persistence.xml配置文件修改存放路径的问题有两种方法 :,1. 将persistence.xml文件移至src/META-INF/下,若不存在该文件夹则手动创建;,2. 将 org.springframework.orm.jpa.LocalEntityManagerFactoryBean 改为 org.springframework.orm.jpa.LocalContainerEntityManagerFactoryBean。

    2024-01-07
    0117
  • applicationContext.xml配置详解

    在Java开发中,Spring框架是一个非常重要的组成部分,它提供了一种简化企业级应用开发的模式,在Spring框架中,applicationContext.xml是一个重要的配置文件,用于定义和管理Spring容器中的bean,本文将对applicationContext.xml的配置进行详细的介绍。applicationConte……

    2024-03-02
    0128
  • java使用webservice

    技术介绍Web服务(Web Service)是一种基于XML的网络协议,它允许不同系统之间通过HTTP或HTTPS等协议进行通信,在Java中,我们可以使用JAX-WS(Java API for XML Web Services)库来实现Web服务,本文将介绍如何使用Java和JAX-WS实现一个简单的Web服务。创建Web服务端点接……

    2023-12-25
    0108

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

免备案 高防CDN 无视CC/DDOS攻击 限时秒杀,10元即可体验  (专业解决各类攻击)>>点击进入