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

相关推荐

  • android怎么实现水平进度条

    在Android中,实现水平进度条的方式有很多种,下面将详细介绍如何通过XML布局和Java代码来实现一个水平进度条。1. 使用XML布局定义进度条我们需要在XML布局文件中定义一个水平进度条,这可以通过ProgressBar控件的android:indeterminateDrawable属性来实现,这个属性允许我们自定义一个无限循环……

    2024-02-21
    0192
  • tomcat配置重定向

    在维护网站时,经常需要将旧的URL地址重定向到新的URL地址,以保持链接的有效性并避免搜索引擎索引失效,301重定向是一种常见的HTTP状态代码,用于指示永久性页面移动,在Tomcat服务器上实施301重定向可以通过几种不同的方法来实现。配置文件方法在Tomcat服务器中,我们可以通过修改server.xml配置文件来实现301重定向……

    2024-02-02
    0318
  • xml怎么生成html

    XML(可扩展标记语言)是一种用于描述数据结构和交换数据的标记语言,HTML(超文本标记语言)是一种用于创建网页的标记语言,将XML转换为HTML的过程通常涉及到解析XML文档,然后根据其结构生成相应的HTML代码,这个过程可以通过编程实现,也可以使用一些在线工具或库来完成。以下是一个简单的步骤,说明如何将XML转换为HTML:1、解……

    2024-03-12
    0200
  • javaweb配置虚拟主机的方法是什么

    一、技术介绍在JavaWeb开发中,配置虚拟主机是实现多个网站在同一台服务器上运行的一种方法,通过配置虚拟主机,可以将不同的网站部署在不同的目录下,从而实现多个网站的独立访问,本文将详细介绍如何在JavaWeb项目中配置虚拟主机。二、配置步骤1. 准备环境首先需要搭建一个JavaWeb项目,可以使用Eclipse、IntelliJ I……

    2023-11-26
    0139
  • pdf转xml格式

    一、技术介绍PDF是一种非常常见的文件格式,通常用于存储和传输文档,PDF文件的可编辑性较差,这使得我们需要将PDF转换为XML格式,XML(可扩展标记语言)是一种用于描述数据结构的标记语言,具有良好的可读性和可扩展性,通过将PDF转换为XML,我们可以更方便地对数据进行操作和分析。二、实现步骤1、安装相关工具:首先需要安装一个PDF……

    2023-12-12
    0433
  • spring中的contextConfigLocation怎么配置

    在Spring框架中,contextConfigLocation参数是一个非常重要的配置项,它允许开发者指定一个或多个配置文件的位置,这些配置文件包含了应用程序的bean定义和各种配置信息,正确配置contextConfigLocation是确保Spring应用程序正常运行的关键步骤之一,以下是关于如何在Spring中配置contex……

    2024-02-03
    0168

发表回复

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

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