Spring+CXF 全注解版 _一品天下-程序员宅基地

技术标签: CXF  J2EE  Spring  

1.Spring+CXF 全注解版 搭建 Spring3.1.1 CXF 2.5.2

 

2.部分配置

1)web.xml

 

<?xml version="1.0" encoding="UTF-8"?>
<web-app version="2.5" xmlns="http://java.sun.com/xml/ns/javaee" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
	xsi:schemaLocation="http://java.sun.com/xml/ns/javaee 
	http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd">
	<listener>
		<listener-class>org.springframework.web.context.ContextLoaderListener</listener-class>
	</listener>
	<context-param>
		<param-name>contextConfigLocation</param-name>
		<param-value>classpath:applicationContext-*.xml</param-value>
	</context-param>
	<servlet>
		<servlet-name>CXFServlet</servlet-name>
		<servlet-class>org.apache.cxf.transport.servlet.CXFServlet</servlet-class>
		<load-on-startup>1</load-on-startup>
	</servlet>
	<servlet-mapping>
		<servlet-name>CXFServlet</servlet-name>
		<url-pattern>/ws/*</url-pattern>
	</servlet-mapping>
</web-app>

 

 2)applicationContext-cxf.xml

 

<?xml version="1.0" encoding="UTF-8"?>
<beans xmlns="http://www.springframework.org/schema/beans" xmlns:context="http://www.springframework.org/schema/context"
	xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" 
	xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans.xsd 
    http://www.springframework.org/schema/context http://www.springframework.org/schema/context/spring-context-3.1.xsd">
	
	<import resource="classpath:META-INF/cxf/cxf.xml" />
	<import resource="classpath:META-INF/cxf/cxf-extension-soap.xml" />
	<import resource="classpath:META-INF/cxf/cxf-servlet.xml" />

	<context:component-scan base-package="com.j4t.demo.ws" />
	<bean id="webServicesAgent" class="org.apache.cxf.spring.remoting.Jsr181HandlerMapping">
		<property name="urlPrefix"><value>/</value></property>
	</bean>	 
</beans>

 

 3)java代码

 

package com.j4t.demo.ws;

import javax.jws.WebService;
//接口
@WebService
public interface IHelloService {
	public String sayHello(String username);
}


package com.j4t.demo.ws;

import javax.jws.WebService;

import org.springframework.stereotype.Component;
//实现
@Component
@WebService(serviceName = "helloService", endpointInterface = "com.j4t.demo.ws.IHelloService")
public class HelloService implements IHelloService {

	public String sayHello(String username) {
		return username+"! Welcome to CXF in Method[HelloService sayHello]";
	}

}

 3)客户端

服务地址:http://192.168.1.100:8080/Demo_Spring_CXF_Annotation/ws

client调用代码

 

DynamicClientFactory dcf = DynamicClientFactory.newInstance();
Client client = dcf.createClient("http://192.168.1.100:8080/Demo_Spring_CXF_Annotation/ws/helloService?wsdl");
Object[] reply = client.invoke("sayHello", new Object[] { "just4it" });
System.out.println(reply[0]);
 

 

版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
本文链接:https://blog.csdn.net/iteye_19258/article/details/82333039

智能推荐

RabbitMQ Exchange类型详解_huayang183的博客-程序员宅基地

在上一篇文章中,我们知道了RabbitMQ的消息流程如下:但在具体的使用中,我们还需知道exchange的类型,因为不同的类型对应不同的队列和路由规则。在rabbitmq中,exchange有4个类型:direct,topic,fanout,header。direct exchange此类型的exchange路由规则很简单:exchange在和queue进行binding时会设置routingkeychannel.QueueBind(queue: "create_pdf_que

webstorm破解方法_谈笑~风声的博客-程序员宅基地

webstorm也是比较好用的编程工具,尤其是配合github,不废话去官网下载,百度进这个网址http://idea.lanyus.com/,点击获得注册码,将生成的激活码粘贴到webstorm激活对话框中的Lisence Code输入框,点击OK即可破解。安装到最后一步会出现失败,重要的一步来了,将下面画线的部分也就是“0.0.0.0 account.jetbrains.com”添加到host...

JSON ????_qq_17777405的博客-程序员宅基地

 ajax工作原理 一、什么是AjaxAjax(Asynchronous JavaScript and XML的缩写)是一种异步请求数据的web开发技术Ajax目的:提高用户体验,较少网络数据的传输量二、Ajax原理是什么在解释Ajax原理之前,我们不妨先举个“领导想找小李汇报一下工作”例子,领导想找小李问点事,就委托秘书去叫小李,自己就接着做其他事情,直到...

公开课 | 人脸识别的最新进展以及工业级大规模人脸识别实践探讨_csdn人工智能头条的博客-程序员宅基地

人脸识别已经成为成为计算机视觉领域最热门的应用之一,很多刚入门的 AI 新手都或多或少接触过人脸识别的相关知识,但是纸上得来终觉浅,在实际应用中,往往会遇到各种各样的问题,比如如何保证不同环境下人脸识别的准确率,极端环境下如何进行人脸识别等等。为了帮大家解惑,我们特意邀请到了格灵深瞳首席科学家和算法部负责人——张德兵,为大家带来主题为“一亿 ID 的人脸识别训练和万亿人脸对(Trillion Pa...

【面经分享】字节抖音Android客户端3,深入理解JVM_普通网友的博客-程序员宅基地

客户端是如何根据 IP 地址找到服务器对应的主机的呢?6. 算法LeetCode 518. 零钱兑换 II题目开始理解错了。最后这个题没完全做出来,面试官让我讲了下思路。7. 反问部门业务?面试评价?我还有什么需要学习的地方吗?面试官反问:这次面试只是为了实习还是说有转正想法的?部门业务开发语言?多久能收到结果通知?一面结束后等了十几分钟,HR 通知第二天二面。二面(1 月 14 日,60 min)1. 自我介绍2. 项目介绍。用到了什么技术栈?.

linux下安装nmap并扫描_南桥追光的博客-程序员宅基地

首先下载解压并进入源码目录wget https://nmap.org/dist/nmap-7.31.tar.bz2tar -xjvf nmap-7.31.tar.bz2cd nmap-7.31/然后使用默认参数执行编译./configuremakemake install执行一个最简单的命令扫描一台主机,比如: nmap 192.168.0.42 什么参数都不加默认相当于-sS参数也就是TCP SYN Scan,这种方式不需要和服务器有完整的握手就能返回信息,并且发送SYN数据包的优点是不

随便推点

运维笔记2_No_red的博客-程序员宅基地

概述:          一:linux目录结构          二:文件的寻址          三:文件的管理命令          四:简单的正则表达式         一:linux目录结构        linux是一个倒树结构  linux中所有的东西都是文件        这些文件都在系统顶级目录“/” /就是根目录/目录以下为二级目录这

座次表点名工具_weixin_54771614的博客-程序员宅基地

&lt;!DOCTYPE html&gt;&lt;html lang="en"&gt;&lt;head&gt; &lt;meta charset="UTF-8"&gt; &lt;title&gt;812座次表&lt;/title&gt; &lt;style&gt; td { width: 9.09%; height: 70px; text-align: center; }...

思维模型纪要_xuan1232003的博客-程序员宅基地

1 Smart 原则 SMART原则(S=Specific、M=Measurable、A=Attainable、R=Relevant、T=Time-bound),实施目标管理不仅是为了利于员工更加明确高效地工作,更是为了管理者将来对员工实施绩效考核提供了考核目标和考核标准,使考核更加科学化、规范化,更能保证考核的公正、公开与公平。 1.1 绩效指标必须是具体的(Specif...

C++核心准则F.50:不愿意使用函数时使用lambda表达式_面向对象思考的博客-程序员宅基地

F.50: Use a lambda when a function won't do (to capture local variables, or to write a local function)F.50:在不愿意使用函数时使用lambda表达式(例如读取局部变量,访问局部函数)Reason(原因)Functions can't capture local variables ...

mysql dml包括哪些_MySQL_DML操作_weixin_39543652的博客-程序员宅基地

DML(Data Manipulation Laguage)指对数据库数据的增(Create)删(Delete)改(Update)操作1.增加操作(1)先创建一个表,如图所示:语法:Insert into 表名(列名1,列名2,列名3) values(值1,值2,值3);注意:如果不定义列名,则为所有数据添加数据,除了数字类型的,其他赋值都需要用引号括起来,单引号双引号都可以,日期格式为"xxxx...

linux c 排序函数,alphasort - Linux C 函数 使用手册_joker叫兽的博客-程序员宅基地

alphasort(依字母顺序排序目录结构)相关函数 scandir,qsort表头文件 #include定义函数 int alphasort(const struct dirent **a,const struct dirent**b);函数说明 alphasort()为scandir()最后调用qsort()函数时传给qsort()作为判断的函数,详细说明请参考scandir()及qsort(...

推荐文章

热门文章

相关标签