CXF生成代理类插件名称:cxf-codegen-plugin

实现功能:

  1. 指定代理类所在的包
  2. 生成soapheader

操作:

  eclipse中run as -> maven build -> goals -> generate-sources

pom.xml配置:

<build>
<finalName>spring-demo01</finalName>
<plugins>
<plugin>
<groupId>org.apache.cxf</groupId>
<artifactId>cxf-codegen-plugin</artifactId>
<version>${cxf.version}</version>
<executions>
<execution>
<id>generate-sources</id>
<phase>generate-sources</phase>
<configuration>
<!-- 生成代理类的目录 -->
<sourceRoot>src/main/java</sourceRoot>
<wsdlOptions>
<wsdlOption>
<!-- wsdl地址 -->
<wsdl>wsdl address</wsdl>
<!-- 指定代理类包名 -->
<packagenames>
<packagename>cn.yrm.ws</packagename>
</packagenames>
<!-- 是否生成soapheader -->
<extendedSoapHeaders>true</extendedSoapHeaders>
</wsdlOption>
</wsdlOptions>
</configuration>
<goals>
<goal>wsdl2java</goal>
</goals>
</execution>
</executions>
</plugin>
</plugins>
</build>

调用方法:

1、pom添加依赖

<dependency>
<groupId>org.apache.cxf</groupId>
<artifactId>cxf-rt-frontend-jaxws</artifactId>
<version>3.1.9</version>
</dependency> <dependency>
<groupId>org.apache.cxf</groupId>
<artifactId>cxf-rt-transports-http</artifactId>
<version>${cxf.version}</version>
</dependency>

2、测试类

package cn.yrm.ws;

import java.util.List;

import org.apache.cxf.jaxws.JaxWsProxyFactoryBean;
import org.junit.Before;
import org.junit.Test;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory; public class WebServiceInvokeTest { Logger logger = LoggerFactory.getLogger(WebServiceInvokeTest.class); private ProcessServiceSoap processService;
private String address = "your endpoint address";
private MySoapHeader mySoapHeader; @Before
public void testGenerateClient(){
JaxWsProxyFactoryBean factory = new JaxWsProxyFactoryBean();
factory.setServiceClass(ProcessServiceSoap.class);
factory.setAddress(address);
// factory.setUsername("username");
// factory.setPassword("password");
processService = factory.create(ProcessServiceSoap.class); mySoapHeader = new MySoapHeader();
mySoapHeader.setUserName("your username");
mySoapHeader.setPassWord("your password");
mySoapHeader.setSystemId(3);
} @Test
public void testInvoke(){
WSResponseOfListOfProcessEntityDto dto = processService.getProcessInfo("epm", mySoapHeader);
logger.info(dto.getReturnMsg());
ArrayOfProcessEntityDto processes = dto.getRet();
List<ProcessEntityDto> ls = processes.getProcessEntityDto();
for(ProcessEntityDto pe : ls){
logger.info(pe.getDisplayName());
}
}
}

最新文章

  1. [Algorithm] 机器学习算法常用指标总结
  2. Win10 IoT C#开发 4 - UART 串口通信
  3. qt环境下Mapx组建的编程---------regoin
  4. 解决拖拽有内容的div的bug和兼容问题
  5. 使用bokeh-scala进行数据可视化
  6. Google测试分享-测试经理
  7. Hibernate学习笔记1
  8. CSS中font-style的斜体属性Italic oblique的区别
  9. mysql 导入导出数据库、数据表
  10. RedHat Linux下注册Apache为系统服务并设为开机启动
  11. heritrix 3.2.0 -- 环境搭建
  12. Windows 10Bash命令
  13. uvalive4015 (树上背包)
  14. Android应用程序更新并下载
  15. 方法的形参、ref参数、out参数的区别
  16. 001-zookeeper 简介-paxos算法,zk简介,特点
  17. mysql启动失败又一例
  18. Linux中ls -l(ll)返回结果中的文件访问权限-rw-r--rw-
  19. 2018面向对象程序设计(Java)第4周学习指导及要求
  20. alter 和 update的用法和区别

热门文章

  1. 从一个git仓库迁移到另外一个git仓库
  2. 关于var关键字的详解
  3. PHP 数组教程 定义数组
  4. Django CSRF cookie not set.错误
  5. Python 网络编程了解
  6. 设置SVN提交日志必填
  7. 获取配置文件信息——configparser
  8. python入门四:异常
  9. [转]hadoop2.x常用端口及定义方法
  10. powerdesign初级入门教程