﻿<?xml version="1.0" encoding="utf-8" standalone="yes"?><rss version="2.0" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:trackback="http://madskills.com/public/xml/rss/module/trackback/" xmlns:wfw="http://wellformedweb.org/CommentAPI/" xmlns:slash="http://purl.org/rss/1.0/modules/slash/"><channel><title>BlogJava-少年阿宾-随笔分类-cxf</title><link>http://www.blogjava.net/stevenjohn/category/52438.html</link><description>那些青春的岁月</description><language>zh-cn</language><lastBuildDate>Tue, 21 Aug 2012 06:31:25 GMT</lastBuildDate><pubDate>Tue, 21 Aug 2012 06:31:25 GMT</pubDate><ttl>60</ttl><item><title>cxf spring集成(三)</title><link>http://www.blogjava.net/stevenjohn/archive/2012/08/21/385936.html</link><dc:creator>abin</dc:creator><author>abin</author><pubDate>Tue, 21 Aug 2012 06:20:00 GMT</pubDate><guid>http://www.blogjava.net/stevenjohn/archive/2012/08/21/385936.html</guid><wfw:comment>http://www.blogjava.net/stevenjohn/comments/385936.html</wfw:comment><comments>http://www.blogjava.net/stevenjohn/archive/2012/08/21/385936.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.blogjava.net/stevenjohn/comments/commentRss/385936.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/stevenjohn/services/trackbacks/385936.html</trackback:ping><description><![CDATA[&nbsp;&nbsp;&nbsp;&nbsp; 摘要: CXF与spring集成1． 新建web project ,并加入apache-cxf-2.0.7/lib所有包，编写要发布的web service 接口和实现.这一步，与前面一样。import javax.jws.WebService;@WebService&nbsp; public interface HelloWorld {&nbsp;&nbsp; &nbsp;&nbsp...&nbsp;&nbsp;<a href='http://www.blogjava.net/stevenjohn/archive/2012/08/21/385936.html'>阅读全文</a><img src ="http://www.blogjava.net/stevenjohn/aggbug/385936.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/stevenjohn/" target="_blank">abin</a> 2012-08-21 14:20 <a href="http://www.blogjava.net/stevenjohn/archive/2012/08/21/385936.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>cxf spring集成(二)</title><link>http://www.blogjava.net/stevenjohn/archive/2012/08/21/385926.html</link><dc:creator>abin</dc:creator><author>abin</author><pubDate>Tue, 21 Aug 2012 03:17:00 GMT</pubDate><guid>http://www.blogjava.net/stevenjohn/archive/2012/08/21/385926.html</guid><wfw:comment>http://www.blogjava.net/stevenjohn/comments/385926.html</wfw:comment><comments>http://www.blogjava.net/stevenjohn/archive/2012/08/21/385926.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.blogjava.net/stevenjohn/comments/commentRss/385926.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/stevenjohn/services/trackbacks/385926.html</trackback:ping><description><![CDATA[<h1 class="postTitle"><a id="cb_post_title_url" class="postTitle2" href="http://www.cnblogs.com/hoojo/archive/2011/03/30/1999563.html">五、CXF WebService整合Spring</a></h1>
<div id="cnblogs_post_body">
<p>首先，CXF和spring整合需要准备如下jar包文件： </p>
<p><a href="http://images.cnblogs.com/cnblogs_com/hoojo/201103/201103301049065256.png"><img style="border-right-width: 0px; display: inline; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px" title="image" border="0" alt="image" src="http://images.cnblogs.com/cnblogs_com/hoojo/201103/201103301049097368.png" width="227" height="244" /></a> </p>
<p>这边我是用Spring的jar包是Spring官方提供的，并没有使用CXF中的Spring的jar文件。 </p>
<p>添加这么多文件后，首先在web.xml中添加如下配置： </p>
<div id="codeSnippetWrapper">
<div style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; border-right-style: none; background-color: #f4f4f4; padding-left: 0px; width: 100%; padding-right: 0px; font-family: 'Courier New', courier, monospace; direction: ltr; border-top-style: none; color: black; font-size: 10pt; border-left-style: none; overflow: visible; padding-top: 0px" id="codeSnippet"><pre><span style="color: #008000">&lt;!-- 加载Spring容器配置 --&gt;</span></pre><!--CRLF--><pre><span style="color: #0000ff">&lt;</span><span style="color: #800000">listener</span><span style="color: #0000ff">&gt;</span></pre><!--CRLF--><pre>    <span style="color: #0000ff">&lt;</span><span style="color: #800000">listener-class</span><span style="color: #0000ff">&gt;</span>org.springframework.web.context.ContextLoaderListener<span style="color: #0000ff">&lt;/</span><span style="color: #800000">listener-class</span><span style="color: #0000ff">&gt;</span></pre><!--CRLF--><pre><span style="color: #0000ff">&lt;/</span><span style="color: #800000">listener</span><span style="color: #0000ff">&gt;</span></pre><!--CRLF--><pre><span style="color: #008000">&lt;!-- 设置Spring容器加载配置文件路径 --&gt;</span></pre><!--CRLF--><pre><span style="color: #0000ff">&lt;</span><span style="color: #800000">context-param</span><span style="color: #0000ff">&gt;</span></pre><!--CRLF--><pre>    <span style="color: #0000ff">&lt;</span><span style="color: #800000">param-name</span><span style="color: #0000ff">&gt;</span>contextConfigLocation<span style="color: #0000ff">&lt;/</span><span style="color: #800000">param-name</span><span style="color: #0000ff">&gt;</span></pre><!--CRLF--><pre>    <span style="color: #0000ff">&lt;</span><span style="color: #800000">param-value</span><span style="color: #0000ff">&gt;</span>classpath*:applicationContext-server.xml<span style="color: #0000ff">&lt;/</span><span style="color: #800000">param-value</span><span style="color: #0000ff">&gt;</span></pre><!--CRLF--><pre><span style="color: #0000ff">&lt;/</span><span style="color: #800000">context-param</span><span style="color: #0000ff">&gt;</span></pre><!--CRLF--><pre>&nbsp;</pre><!--CRLF--><pre><span style="color: #0000ff">&lt;</span><span style="color: #800000">listener</span><span style="color: #0000ff">&gt;</span></pre><!--CRLF--><pre>    <span style="color: #0000ff">&lt;</span><span style="color: #800000">listener-class</span><span style="color: #0000ff">&gt;</span>org.springframework.web.util.IntrospectorCleanupListener<span style="color: #0000ff">&lt;/</span><span style="color: #800000">listener-class</span><span style="color: #0000ff">&gt;</span></pre><!--CRLF--><pre><span style="color: #0000ff">&lt;/</span><span style="color: #800000">listener</span><span style="color: #0000ff">&gt;</span></pre><!--CRLF--><pre>&nbsp;</pre><!--CRLF--><pre><span style="color: #0000ff">&lt;</span><span style="color: #800000">servlet</span><span style="color: #0000ff">&gt;</span></pre><!--CRLF--><pre>    <span style="color: #0000ff">&lt;</span><span style="color: #800000">servlet-name</span><span style="color: #0000ff">&gt;</span>CXFService<span style="color: #0000ff">&lt;/</span><span style="color: #800000">servlet-name</span><span style="color: #0000ff">&gt;</span></pre><!--CRLF--><pre>    <span style="color: #0000ff">&lt;</span><span style="color: #800000">servlet-class</span><span style="color: #0000ff">&gt;</span>org.apache.cxf.transport.servlet.CXFServlet<span style="color: #0000ff">&lt;/</span><span style="color: #800000">servlet-class</span><span style="color: #0000ff">&gt;</span></pre><!--CRLF--><pre><span style="color: #0000ff">&lt;/</span><span style="color: #800000">servlet</span><span style="color: #0000ff">&gt;</span></pre><!--CRLF--><pre>&nbsp;</pre><!--CRLF--><pre><span style="color: #0000ff">&lt;</span><span style="color: #800000">servlet-mapping</span><span style="color: #0000ff">&gt;</span></pre><!--CRLF--><pre>    <span style="color: #0000ff">&lt;</span><span style="color: #800000">servlet-name</span><span style="color: #0000ff">&gt;</span>CXFService<span style="color: #0000ff">&lt;/</span><span style="color: #800000">servlet-name</span><span style="color: #0000ff">&gt;</span></pre><!--CRLF--><pre>    <span style="color: #0000ff">&lt;</span><span style="color: #800000">url-pattern</span><span style="color: #0000ff">&gt;</span>/*<span style="color: #0000ff">&lt;/</span><span style="color: #800000">url-pattern</span><span style="color: #0000ff">&gt;</span></pre><!--CRLF--><pre><span style="color: #0000ff">&lt;/</span><span style="color: #800000">servlet-mapping</span><span style="color: #0000ff">&gt;</span></pre><!--CRLF--></div></div>
<p>然后在src目录中，新建一个applicationContext-server.xml文件，文件内容如下： </p>
<p>&nbsp; </p>
<div id="codeSnippetWrapper">
<div style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; border-right-style: none; background-color: #f4f4f4; padding-left: 0px; width: 100%; padding-right: 0px; font-family: 'Courier New', courier, monospace; direction: ltr; border-top-style: none; color: black; font-size: 10pt; border-left-style: none; overflow: visible; padding-top: 0px" id="codeSnippet"><pre><span style="color: #0000ff">&lt;?</span><span style="color: #800000">xml</span> <span style="color: #ff0000">version</span><span style="color: #0000ff">="1.0"</span> <span style="color: #ff0000">encoding</span><span style="color: #0000ff">="UTF-8"</span>?<span style="color: #0000ff">&gt;</span></pre><!--CRLF--><pre><span style="color: #0000ff">&lt;</span><span style="color: #800000">beans</span> <span style="color: #ff0000">xmlns</span><span style="color: #0000ff">="http://www.springframework.org/schema/beans"</span></pre><!--CRLF--><pre>    <span style="color: #ff0000">xmlns:context</span><span style="color: #0000ff">="http://www.springframework.org/schema/context"</span></pre><!--CRLF--><pre>    <strong><span style="text-decoration: underline"><span style="color: #ff0000">xmlns:jaxws</span><span style="color: #0000ff">="http://cxf.apache.org/jaxws"</span></span></strong></pre><!--CRLF--><pre>    <span style="color: #ff0000">xmlns:xsi</span><span style="color: #0000ff">="http://www.w3.org/2001/XMLSchema-instance"</span></pre><!--CRLF--><pre>    <span style="color: #ff0000">xsi:schemaLocation</span><span style="color: #0000ff">="http://www.springframework.org/schema/beans </span><span style="color: #0000ff">&gt;</span></pre><!--CRLF--><pre>    http://www.springframework.org/schema/beans/spring-beans-3.0.xsd</pre><!--CRLF--><pre>    http://www.springframework.org/schema/context</pre><!--CRLF--><pre>    http://www.springframework.org/schema/context/spring-context-3.0.xsd</pre><!--CRLF--><pre>    <span style="text-decoration: underline"><strong>http://cxf.apache.org/jaxws</strong></span> </pre><!--CRLF--><pre>    <strong><span style="text-decoration: underline">http://cxf.apache.org/schemas/jaxws.xsd</span></strong>"</pre><!--CRLF--></div></div>
<p>注意上面的带下划线加粗部分，这个很重要的哦！不能写错或是遗漏了。 </p>
<p>添加完这个文件后，还需要在这个文件中导入这么几个文件。文件内容如下： </p>
<div id="codeSnippetWrapper">
<div style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; border-right-style: none; background-color: #f4f4f4; padding-left: 0px; width: 100%; padding-right: 0px; font-family: 'Courier New', courier, monospace; direction: ltr; border-top-style: none; color: black; font-size: 10pt; border-left-style: none; overflow: visible; padding-top: 0px" id="codeSnippet"><pre><span style="color: #0000ff">&lt;</span><span style="color: #800000">import</span> <span style="color: #ff0000">resource</span><span style="color: #0000ff">="classpath:META-INF/cxf/cxf.xml"</span><span style="color: #0000ff">/&gt;</span></pre><!--CRLF--><pre><span style="color: #0000ff">&lt;</span><span style="color: #800000">import</span> <span style="color: #ff0000">resource</span><span style="color: #0000ff">="classpath:META-INF/cxf/cxf-extension-soap.xml"</span><span style="color: #0000ff">/&gt;</span></pre><!--CRLF--><pre><span style="color: #0000ff">&lt;</span><span style="color: #800000">import</span> <span style="color: #ff0000">resource</span><span style="color: #0000ff">="classpath:META-INF/cxf/cxf-servlet.xml"</span><span style="color: #0000ff">/&gt;</span></pre><!--CRLF--></div></div>
<p>下面开始写服务器端代码，首先定制服务器端的接口，代码如下： </p>
<div id="codeSnippetWrapper">
<div style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; border-right-style: none; background-color: #f4f4f4; padding-left: 0px; width: 100%; padding-right: 0px; font-family: 'Courier New', courier, monospace; direction: ltr; border-top-style: none; color: black; font-size: 10pt; border-left-style: none; overflow: visible; padding-top: 0px" id="codeSnippet"><pre><span style="color: #0000ff">package</span> com.hoo.service;</pre><!--CRLF--><pre>&nbsp;</pre><!--CRLF--><pre><span style="color: #0000ff">import</span> javax.jws.WebParam;</pre><!--CRLF--><pre><span style="color: #0000ff">import</span> javax.jws.WebService;</pre><!--CRLF--><pre><span style="color: #0000ff">import</span> javax.jws.soap.SOAPBinding;</pre><!--CRLF--><pre><span style="color: #0000ff">import</span> javax.jws.soap.SOAPBinding.Style;</pre><!--CRLF--><pre><span style="color: #0000ff">import</span> com.hoo.entity.User;</pre><!--CRLF--><pre><span style="color: #0000ff">import</span> com.hoo.entity.Users;</pre><!--CRLF--><pre>&nbsp;</pre><!--CRLF--><pre><span style="color: #008000">/**</span></pre><!--CRLF--><pre><span style="color: #008000"> * &lt;b&gt;function:&lt;/b&gt;定制客户端请求WebService所需要的接口</span></pre><!--CRLF--><pre><span style="color: #008000"> * @author hoojo</span></pre><!--CRLF--><pre><span style="color: #008000"> * @createDate 2011-3-18 上午08:22:55</span></pre><!--CRLF--><pre><span style="color: #008000"> * @file ComplexUserService.java</span></pre><!--CRLF--><pre><span style="color: #008000"> * @package com.hoo.service</span></pre><!--CRLF--><pre><span style="color: #008000"> * @project CXFWebService</span></pre><!--CRLF--><pre><span style="color: #008000"> * @blog http://blog.csdn.net/IBM_hoojo</span></pre><!--CRLF--><pre><span style="color: #008000"> * @email hoojo_@126.com</span></pre><!--CRLF--><pre><span style="color: #008000"> * @version 1.0</span></pre><!--CRLF--><pre><span style="color: #008000"> */</span></pre><!--CRLF--><pre>@WebService</pre><!--CRLF--><pre>@SOAPBinding(style = Style.RPC)</pre><!--CRLF--><pre><span style="color: #0000ff">public</span> <span style="color: #0000ff">interface</span> IComplexUserService {</pre><!--CRLF--><pre>    </pre><!--CRLF--><pre>    <span style="color: #0000ff">public</span> User getUserByName(@WebParam(name = <span style="color: #006080">"name"</span>) String name);</pre><!--CRLF--><pre>    </pre><!--CRLF--><pre>    <span style="color: #0000ff">public</span> <span style="color: #0000ff">void</span> setUser(User user);</pre><!--CRLF--><pre>}</pre><!--CRLF--></div></div>
<p>下面编写WebService的实现类，服务器端实现代码如下： </p>
<div id="codeSnippetWrapper">
<div style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; border-right-style: none; background-color: #f4f4f4; padding-left: 0px; width: 100%; padding-right: 0px; font-family: 'Courier New', courier, monospace; direction: ltr; border-top-style: none; color: black; font-size: 10pt; border-left-style: none; overflow: visible; padding-top: 0px" id="codeSnippet"><pre><span style="color: #0000ff">package</span> com.hoo.service;</pre><!--CRLF--><pre>&nbsp;</pre><!--CRLF--><pre><span style="color: #0000ff">import</span> java.util.ArrayList;</pre><!--CRLF--><pre><span style="color: #0000ff">import</span> java.util.Date;</pre><!--CRLF--><pre><span style="color: #0000ff">import</span> java.util.HashMap;</pre><!--CRLF--><pre><span style="color: #0000ff">import</span> java.util.List;</pre><!--CRLF--><pre><span style="color: #0000ff">import</span> javax.jws.WebParam;</pre><!--CRLF--><pre><span style="color: #0000ff">import</span> javax.jws.WebService;</pre><!--CRLF--><pre><span style="color: #0000ff">import</span> javax.jws.soap.SOAPBinding;</pre><!--CRLF--><pre><span style="color: #0000ff">import</span> javax.jws.soap.SOAPBinding.Style;</pre><!--CRLF--><pre><span style="color: #0000ff">import</span> com.hoo.entity.User;</pre><!--CRLF--><pre><span style="color: #0000ff">import</span> com.hoo.entity.Users;</pre><!--CRLF--><pre>&nbsp;</pre><!--CRLF--><pre><span style="color: #008000">/**</span></pre><!--CRLF--><pre><span style="color: #008000"> * &lt;b&gt;function:&lt;/b&gt; WebService传递复杂对象，如JavaBean、Array、List、Map等</span></pre><!--CRLF--><pre><span style="color: #008000"> * @author hoojo</span></pre><!--CRLF--><pre><span style="color: #008000"> * @createDate 2011-3-18 上午08:22:55</span></pre><!--CRLF--><pre><span style="color: #008000"> * @file ComplexUserService.java</span></pre><!--CRLF--><pre><span style="color: #008000"> * @package com.hoo.service</span></pre><!--CRLF--><pre><span style="color: #008000"> * @project CXFWebService</span></pre><!--CRLF--><pre><span style="color: #008000"> * @blog http://blog.csdn.net/IBM_hoojo</span></pre><!--CRLF--><pre><span style="color: #008000"> * @email hoojo_@126.com</span></pre><!--CRLF--><pre><span style="color: #008000"> * @version 1.0</span></pre><!--CRLF--><pre><span style="color: #008000"> */</span></pre><!--CRLF--><pre>@WebService</pre><!--CRLF--><pre>@SOAPBinding(style = Style.RPC)</pre><!--CRLF--><pre>@SuppressWarnings(<span style="color: #006080">"deprecation"</span>)</pre><!--CRLF--><pre><span style="color: #0000ff">public</span> <span style="color: #0000ff">class</span> ComplexUserService <span style="color: #0000ff">implements</span> IComplexUserService {</pre><!--CRLF--><pre>    </pre><!--CRLF--><pre>    <span style="color: #0000ff">public</span> User getUserByName(@WebParam(name = <span style="color: #006080">"name"</span>) String name) {</pre><!--CRLF--><pre>        User user = <span style="color: #0000ff">new</span> User();</pre><!--CRLF--><pre>        user.setId(<span style="color: #0000ff">new</span> Date().getSeconds());</pre><!--CRLF--><pre>        user.setName(name);</pre><!--CRLF--><pre>        user.setAddress(<span style="color: #006080">"china"</span>);</pre><!--CRLF--><pre>        user.setEmail(name + <span style="color: #006080">"@hoo.com"</span>);</pre><!--CRLF--><pre>        <span style="color: #0000ff">return</span> user;</pre><!--CRLF--><pre>    }</pre><!--CRLF--><pre>    </pre><!--CRLF--><pre>    <span style="color: #0000ff">public</span> <span style="color: #0000ff">void</span> setUser(User user) {</pre><!--CRLF--><pre>        System.out.println(<span style="color: #006080">"############Server setUser###########"</span>);</pre><!--CRLF--><pre>        System.out.println(<span style="color: #006080">"setUser:"</span> + user);</pre><!--CRLF--><pre>    }</pre><!--CRLF--><pre>}</pre><!--CRLF--></div></div>
<p>注意的是和Spring集成，这里一定要完成接口实现，如果没有接口的话会有错误的。 </p>
<p>下面要在applicationContext-server.xml文件中添加如下配置： </p>
<div id="codeSnippetWrapper">
<div style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; border-right-style: none; background-color: #f4f4f4; padding-left: 0px; width: 100%; padding-right: 0px; font-family: 'Courier New', courier, monospace; direction: ltr; border-top-style: none; color: black; font-size: 10pt; border-left-style: none; overflow: visible; padding-top: 0px" id="codeSnippet"><pre><span style="color: #0000ff">&lt;</span><span style="color: #800000">bean</span> <span style="color: #ff0000">id</span><span style="color: #0000ff">="userServiceBean"</span> <span style="color: #ff0000">class</span><span style="color: #0000ff">="com.hoo.service.ComplexUserService"</span><span style="color: #0000ff">/&gt;</span></pre><!--CRLF--><pre>&nbsp;</pre><!--CRLF--><pre><span style="color: #0000ff">&lt;</span><span style="color: #800000">bean</span> <span style="color: #ff0000">id</span><span style="color: #0000ff">="inMessageInterceptor"</span> <span style="color: #ff0000">class</span><span style="color: #0000ff">="com.hoo.interceptor.MessageInterceptor"</span><span style="color: #0000ff">&gt;</span></pre><!--CRLF--><pre>    <span style="color: #0000ff">&lt;</span><span style="color: #800000">constructor-arg</span>  <span style="color: #ff0000">value</span><span style="color: #0000ff">="receive"</span><span style="color: #0000ff">/&gt;</span></pre><!--CRLF--><pre><span style="color: #0000ff">&lt;/</span><span style="color: #800000">bean</span><span style="color: #0000ff">&gt;</span></pre><!--CRLF--><pre>&nbsp;</pre><!--CRLF--><pre><span style="color: #0000ff">&lt;</span><span style="color: #800000">bean</span> <span style="color: #ff0000">id</span><span style="color: #0000ff">="outLoggingInterceptor"</span> <span style="color: #ff0000">class</span><span style="color: #0000ff">="org.apache.cxf.interceptor.LoggingOutInterceptor"</span><span style="color: #0000ff">/&gt;</span></pre><!--CRLF--><pre><span style="color: #008000">&lt;!-- 注意下面的address，这里的address的名称就是访问的WebService的name --&gt;</span></pre><!--CRLF--><pre><span style="color: #0000ff">&lt;</span><span style="color: #800000">jaxws:server</span> <span style="color: #ff0000">id</span><span style="color: #0000ff">="userService"</span> <span style="color: #ff0000">serviceClass</span><span style="color: #0000ff">="com.hoo.service.IComplexUserService"</span> <span style="color: #ff0000">address</span><span style="color: #0000ff">="/Users"</span><span style="color: #0000ff">&gt;</span></pre><!--CRLF--><pre>    <span style="color: #0000ff">&lt;</span><span style="color: #800000">jaxws:serviceBean</span><span style="color: #0000ff">&gt;</span></pre><!--CRLF--><pre>        <span style="color: #008000">&lt;!-- 要暴露的 bean 的引用 --&gt;</span></pre><!--CRLF--><pre>        <span style="color: #0000ff">&lt;</span><span style="color: #800000">ref</span> <span style="color: #ff0000">bean</span><span style="color: #0000ff">="userServiceBean"</span><span style="color: #0000ff">/&gt;</span></pre><!--CRLF--><pre>    <span style="color: #0000ff">&lt;/</span><span style="color: #800000">jaxws:serviceBean</span><span style="color: #0000ff">&gt;</span></pre><!--CRLF--><pre>    <span style="color: #0000ff">&lt;</span><span style="color: #800000">jaxws:inInterceptors</span><span style="color: #0000ff">&gt;</span></pre><!--CRLF--><pre>        <span style="color: #0000ff">&lt;</span><span style="color: #800000">ref</span> <span style="color: #ff0000">bean</span><span style="color: #0000ff">="inMessageInterceptor"</span><span style="color: #0000ff">/&gt;</span></pre><!--CRLF--><pre>    <span style="color: #0000ff">&lt;/</span><span style="color: #800000">jaxws:inInterceptors</span><span style="color: #0000ff">&gt;</span></pre><!--CRLF--><pre>    <span style="color: #0000ff">&lt;</span><span style="color: #800000">jaxws:outInterceptors</span><span style="color: #0000ff">&gt;</span></pre><!--CRLF--><pre>        <span style="color: #0000ff">&lt;</span><span style="color: #800000">ref</span> <span style="color: #ff0000">bean</span><span style="color: #0000ff">="outLoggingInterceptor"</span><span style="color: #0000ff">/&gt;</span></pre><!--CRLF--><pre>    <span style="color: #0000ff">&lt;/</span><span style="color: #800000">jaxws:outInterceptors</span><span style="color: #0000ff">&gt;</span></pre><!--CRLF--><pre><span style="color: #0000ff">&lt;/</span><span style="color: #800000">jaxws:server</span><span style="color: #0000ff">&gt;</span></pre><!--CRLF--></div></div>
<p>下面启动tomcat服务器后，在WebBrowser中请求： </p>
<p><a href="http://localhost:8080/CXFWebService/Users?wsdl">http://localhost:8080/CXFWebService/Users?wsdl</a> </p>
<p>如果你能看到wsdl的xml文件的内容，就说明你成功了，注意的是上面地址的Users就是上面xml配置中的address的名称，是一一对应的。 </p>
<p>下面编写客户端请求的代码，代码如下： </p>
<div id="codeSnippetWrapper">
<div style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; border-right-style: none; background-color: #f4f4f4; padding-left: 0px; width: 100%; padding-right: 0px; font-family: 'Courier New', courier, monospace; direction: ltr; border-top-style: none; color: black; font-size: 10pt; border-left-style: none; overflow: visible; padding-top: 0px" id="codeSnippet"><pre><span style="color: #0000ff">package</span> com.hoo.client;</pre><!--CRLF--><pre>&nbsp;</pre><!--CRLF--><pre><span style="color: #0000ff">import</span> org.apache.cxf.jaxws.JaxWsProxyFactoryBean;</pre><!--CRLF--><pre><span style="color: #0000ff">import</span> com.hoo.entity.User;</pre><!--CRLF--><pre><span style="color: #0000ff">import</span> com.hoo.service.IComplexUserService;</pre><!--CRLF--><pre>&nbsp;</pre><!--CRLF--><pre><span style="color: #008000">/**</span></pre><!--CRLF--><pre><span style="color: #008000"> * &lt;b&gt;function:&lt;/b&gt;请求Spring整合CXF的WebService客户端</span></pre><!--CRLF--><pre><span style="color: #008000"> * @author hoojo</span></pre><!--CRLF--><pre><span style="color: #008000"> * @createDate 2011-3-28 下午03:20:35</span></pre><!--CRLF--><pre><span style="color: #008000"> * @file SpringUsersWsClient.java</span></pre><!--CRLF--><pre><span style="color: #008000"> * @package com.hoo.client</span></pre><!--CRLF--><pre><span style="color: #008000"> * @project CXFWebService</span></pre><!--CRLF--><pre><span style="color: #008000"> * @blog http://blog.csdn.net/IBM_hoojo</span></pre><!--CRLF--><pre><span style="color: #008000"> * @email hoojo_@126.com</span></pre><!--CRLF--><pre><span style="color: #008000"> * @version 1.0</span></pre><!--CRLF--><pre><span style="color: #008000"> */</span></pre><!--CRLF--><pre><span style="color: #0000ff">public</span> <span style="color: #0000ff">class</span> SpringUsersWsClient {</pre><!--CRLF--><pre>&nbsp;</pre><!--CRLF--><pre>    <span style="color: #0000ff">public</span> <span style="color: #0000ff">static</span> <span style="color: #0000ff">void</span> main(String[] args) {</pre><!--CRLF--><pre>        <span style="color: #008000">//调用WebService</span></pre><!--CRLF--><pre>        JaxWsProxyFactoryBean factory = <span style="color: #0000ff">new</span> JaxWsProxyFactoryBean();</pre><!--CRLF--><pre>        factory.setServiceClass(IComplexUserService.<span style="color: #0000ff">class</span>);</pre><!--CRLF--><pre>        factory.setAddress(<span style="color: #006080">"http://localhost:8080/CXFWebService/Users"</span>);</pre><!--CRLF--><pre>        </pre><!--CRLF--><pre>        IComplexUserService service = (IComplexUserService) factory.create();</pre><!--CRLF--><pre>        </pre><!--CRLF--><pre>        System.out.println(<span style="color: #006080">"#############Client getUserByName##############"</span>);</pre><!--CRLF--><pre>        User user = service.getUserByName(<span style="color: #006080">"hoojo"</span>);</pre><!--CRLF--><pre>        System.out.println(user);</pre><!--CRLF--><pre>        </pre><!--CRLF--><pre>        user.setAddress(<span style="color: #006080">"China-Guangzhou"</span>);</pre><!--CRLF--><pre>        service.setUser(user);</pre><!--CRLF--><pre>    }</pre><!--CRLF--><pre>}</pre><!--CRLF--></div></div>
<p>运行后，可以在控制台中看到</p><pre>log4j:WARN No appenders could be found <span style="color: #0000ff">for</span> logger (org.apache.cxf.bus.spring.BusApplicationContext).
log4j:WARN Please initialize the log4j system properly.
log4j:WARN See http:<span style="color: #008000">//logging.apache.org/log4j/1.2/faq.html#noconfig for more info.</span>
2011-3-28 18:12:26 org.apache.cxf.service.factory.ReflectionServiceFactoryBean buildServiceFromClass
信息: Creating Service {http:<span style="color: #008000">//service.hoo.com/}IComplexUserServiceService from class com.hoo.service.IComplexUserService</span>
#############Client getUserByName##############
27#hoojo#hoojo@hoo.com#china

Tomcat控制台
 <a href="http://images.cnblogs.com/cnblogs_com/hoojo/201103/201103301049197217.png"><img style="border-right-width: 0px; display: inline; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px" title="image" border="0" alt="image" src="http://images.cnblogs.com/cnblogs_com/hoojo/201103/201103301049382661.png" width="644" height="441" /></a> </pre>
<p>这个server端是通过Spring整合配置的，下面我们将Client端也通过Spring配置完成整合。 </p>
<p>首先增加applicationContext-client.xml配置文件，文件内容如下： </p>
<div id="codeSnippetWrapper">
<div style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; border-right-style: none; background-color: #f4f4f4; padding-left: 0px; width: 100%; padding-right: 0px; font-family: 'Courier New', courier, monospace; direction: ltr; border-top-style: none; color: black; font-size: 10pt; border-left-style: none; overflow: visible; padding-top: 0px" id="codeSnippet"><pre><span style="color: #0000ff">&lt;?</span><span style="color: #800000">xml</span> <span style="color: #ff0000">version</span><span style="color: #0000ff">="1.0"</span> <span style="color: #ff0000">encoding</span><span style="color: #0000ff">="UTF-8"</span>?<span style="color: #0000ff">&gt;</span></pre><!--CRLF--><pre><span style="color: #0000ff">&lt;</span><span style="color: #800000">beans</span> <span style="color: #ff0000">xmlns</span><span style="color: #0000ff">="http://www.springframework.org/schema/beans"</span></pre><!--CRLF--><pre>    <span style="color: #ff0000">xmlns:context</span><span style="color: #0000ff">="http://www.springframework.org/schema/context"</span></pre><!--CRLF--><pre>    <span style="color: #ff0000">xmlns:jaxws</span><span style="color: #0000ff">="http://cxf.apache.org/jaxws"</span></pre><!--CRLF--><pre>    <span style="color: #ff0000">xmlns:xsi</span><span style="color: #0000ff">="http://www.w3.org/2001/XMLSchema-instance"</span></pre><!--CRLF--><pre>    <span style="color: #ff0000">xsi:schemaLocation</span><span style="color: #0000ff">="http://www.springframework.org/schema/beans </span><span style="color: #0000ff">&gt;</span></pre><!--CRLF--><pre>    http://www.springframework.org/schema/beans/spring-beans-3.0.xsd</pre><!--CRLF--><pre>    http://www.springframework.org/schema/context</pre><!--CRLF--><pre>    http://www.springframework.org/schema/context/spring-context-3.0.xsd</pre><!--CRLF--><pre>    http://cxf.apache.org/jaxws </pre><!--CRLF--><pre>    http://cxf.apache.org/schemas/jaxws.xsd"</pre><!--CRLF--><pre>    </pre><!--CRLF--><pre>    <span style="color: #0000ff">&lt;</span><span style="color: #800000">import</span> <span style="color: #ff0000">resource</span><span style="color: #0000ff">="classpath:META-INF/cxf/cxf.xml"</span><span style="color: #0000ff">/&gt;</span></pre><!--CRLF--><pre>    <span style="color: #0000ff">&lt;</span><span style="color: #800000">import</span> <span style="color: #ff0000">resource</span><span style="color: #0000ff">="classpath:META-INF/cxf/cxf-extension-soap.xml"</span><span style="color: #0000ff">/&gt;</span></pre><!--CRLF--><pre>    <span style="color: #0000ff">&lt;</span><span style="color: #800000">import</span> <span style="color: #ff0000">resource</span><span style="color: #0000ff">="classpath:META-INF/cxf/cxf-servlet.xml"</span><span style="color: #0000ff">/&gt;</span></pre><!--CRLF--><pre>    </pre><!--CRLF--><pre>    <span style="color: #0000ff">&lt;</span><span style="color: #800000">jaxws:client</span> <span style="color: #ff0000">id</span><span style="color: #0000ff">="userWsClient"</span> <span style="color: #ff0000">serviceClass</span><span style="color: #0000ff">="com.hoo.service.IComplexUserService"</span> </pre><!--CRLF--><pre>        <span style="color: #ff0000">address</span><span style="color: #0000ff">="http://localhost:8080/CXFWebService/Users"</span><span style="color: #0000ff">/&gt;</span></pre><!--CRLF--><pre><span style="color: #0000ff">&lt;/</span><span style="color: #800000">beans</span><span style="color: #0000ff">&gt;</span></pre><!--CRLF--></div></div>
<p>客户端请求代码如下： </p>
<div id="codeSnippetWrapper">
<div style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; border-right-style: none; background-color: #f4f4f4; padding-left: 0px; width: 100%; padding-right: 0px; font-family: 'Courier New', courier, monospace; direction: ltr; border-top-style: none; color: black; font-size: 10pt; border-left-style: none; overflow: visible; padding-top: 0px" id="codeSnippet"><pre><span style="color: #0000ff">package</span> com.hoo.client;</pre><!--CRLF--><pre>&nbsp;</pre><!--CRLF--><pre><span style="color: #0000ff">import</span> org.apache.cxf.jaxws.JaxWsProxyFactoryBean;</pre><!--CRLF--><pre><span style="color: #0000ff">import</span> org.springframework.context.ApplicationContext;</pre><!--CRLF--><pre><span style="color: #0000ff">import</span> org.springframework.context.support.ClassPathXmlApplicationContext;</pre><!--CRLF--><pre><span style="color: #0000ff">import</span> com.hoo.entity.User;</pre><!--CRLF--><pre><span style="color: #0000ff">import</span> com.hoo.service.IComplexUserService;</pre><!--CRLF--><pre>&nbsp;</pre><!--CRLF--><pre><span style="color: #008000">/**</span></pre><!--CRLF--><pre><span style="color: #008000"> * &lt;b&gt;function:&lt;/b&gt;请求Spring整合CXF的WebService客户端</span></pre><!--CRLF--><pre><span style="color: #008000"> * @author hoojo</span></pre><!--CRLF--><pre><span style="color: #008000"> * @createDate 2011-3-28 下午03:20:35</span></pre><!--CRLF--><pre><span style="color: #008000"> * @file SpringUsersWsClient.java</span></pre><!--CRLF--><pre><span style="color: #008000"> * @package com.hoo.client</span></pre><!--CRLF--><pre><span style="color: #008000"> * @project CXFWebService</span></pre><!--CRLF--><pre><span style="color: #008000"> * @blog http://blog.csdn.net/IBM_hoojo</span></pre><!--CRLF--><pre><span style="color: #008000"> * @email hoojo_@126.com</span></pre><!--CRLF--><pre><span style="color: #008000"> * @version 1.0</span></pre><!--CRLF--><pre><span style="color: #008000"> */</span></pre><!--CRLF--><pre><span style="color: #0000ff">public</span> <span style="color: #0000ff">class</span> SpringUsersWsClient {</pre><!--CRLF--><pre>&nbsp;</pre><!--CRLF--><pre>    <span style="color: #0000ff">public</span> <span style="color: #0000ff">static</span> <span style="color: #0000ff">void</span> main(String[] args) {</pre><!--CRLF--><pre>        ApplicationContext ctx = <span style="color: #0000ff">new</span> ClassPathXmlApplicationContext(<span style="color: #006080">"applicationContext-client.xml"</span>);</pre><!--CRLF--><pre>        </pre><!--CRLF--><pre>        IComplexUserService service = ctx.getBean(<span style="color: #006080">"userWsClient"</span>, IComplexUserService.<span style="color: #0000ff">class</span>);</pre><!--CRLF--><pre>        </pre><!--CRLF--><pre>        System.out.println(<span style="color: #006080">"#############Client getUserByName##############"</span>);</pre><!--CRLF--><pre>        User user = service.getUserByName(<span style="color: #006080">"hoojo"</span>);</pre><!--CRLF--><pre>        System.out.println(user);</pre><!--CRLF--><pre>        </pre><!--CRLF--><pre>        user.setAddress(<span style="color: #006080">"China-Guangzhou"</span>);</pre><!--CRLF--><pre>        service.setUser(user);</pre><!--CRLF--><pre>    }</pre><!--CRLF--><pre>}</pre><!--CRLF--></div></div>
<p>运行后结果如下：</p><pre>#############Client getUserByName##############
45#hoojo#hoojo@hoo.com#china
############Server setUser###########
setUser:45#hoojo#hoojo@hoo.com#China-Guangzhou</pre></div>
<div id="MySignature">
<div id="MySignature" class="post">
<p style="padding-bottom: 0px; padding-left: 60px; padding-right: 0px;background: url(http://images.cnblogs.com/cnblogs_com/hoojo/276187/r_o_info.png) no-repeat 1% 50%; padding-top: 0px">作者：<a href="http://hoojo.cnblogs.com/" target="_blank">hoojo</a> <br />出处：<a href="http://hoojo.cnblogs.com/" target="_blank"> </p>http://www.cnblogs.com/hoojo/archive/2011/03/30/1999563.html</a><br />blog：<a href="http://blog.csdn.net/IBM_hoojo/" target="_blank">http://blog.csdn.net/IBM_hoojo</a><br />本文版权归作者和博客园共有，欢迎转载，但未经作者同意必须保留此段声明，且在文章页面明显位置给出原文连接，否则保留追究法律责任的权利。 
<p>&nbsp;</p></div><br /><a href="http://hoojo.cnblogs.com/">版权所有，转载请注明出处</a> <a href="http://hoojo.cnblogs.com/">本文出自： http://www.cnblogs.com/hoojo/archive/2011/03/30/1999563.html</a><br /></div> <img src ="http://www.blogjava.net/stevenjohn/aggbug/385926.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/stevenjohn/" target="_blank">abin</a> 2012-08-21 11:17 <a href="http://www.blogjava.net/stevenjohn/archive/2012/08/21/385926.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>cxf spring集成(一)</title><link>http://www.blogjava.net/stevenjohn/archive/2012/08/21/385896.html</link><dc:creator>abin</dc:creator><author>abin</author><pubDate>Mon, 20 Aug 2012 16:27:00 GMT</pubDate><guid>http://www.blogjava.net/stevenjohn/archive/2012/08/21/385896.html</guid><wfw:comment>http://www.blogjava.net/stevenjohn/comments/385896.html</wfw:comment><comments>http://www.blogjava.net/stevenjohn/archive/2012/08/21/385896.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.blogjava.net/stevenjohn/comments/commentRss/385896.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/stevenjohn/services/trackbacks/385896.html</trackback:ping><description><![CDATA[<p>/**<br />&nbsp;* <br />&nbsp;*/<br />package com.abin.lee.cxf;</p>
<p>import javax.jws.WebService;</p>
<p>/**<br />&nbsp;* @author abin<br />&nbsp;*<br />&nbsp;*/<br />@WebService(targetNamespace="cxf.lee.abin.com")<br />public interface IUserService {<br />&nbsp;public String getMessage(String message);<br />}<br /></p><br /><br /><br /><br />
<p>package com.abin.lee.cxf;</p>
<p>import javax.jws.WebService;</p>
<p>@WebService(endpointInterface="com.abin.lee.cxf.IUserService")<br />public class UserService implements IUserService{</p>
<p>&nbsp;public String getMessage(String message) {<br />&nbsp;&nbsp;return message+" welcome to beijing";<br />&nbsp;}<br />&nbsp;<br />}<br /></p><br /><br /><br /><br /><br />
<p>&lt;?xml version="1.0" encoding="UTF-8"?&gt;<br />&lt;beans xmlns="<a href="http://www.springframework.org/schema/beans">http://www.springframework.org/schema/beans</a>"<br />&nbsp;xmlns:xsi="<a href="http://www.w3.org/2001/XMLSchema-instance">http://www.w3.org/2001/XMLSchema-instance</a>" xmlns:context="<a href="http://www.springframework.org/schema/context">http://www.springframework.org/schema/context</a>"<br />&nbsp;xmlns:aop="<a href="http://www.springframework.org/schema/aop">http://www.springframework.org/schema/aop</a>"<br />&nbsp;xmlns:tx="<a href="http://www.springframework.org/schema/tx">http://www.springframework.org/schema/tx</a>"<br />&nbsp;xmlns:jaxws="<a href="http://cxf.apache.org/jaxws">http://cxf.apache.org/jaxws</a>"<br />&nbsp;xmlns:cxf="<a href="http://cxf.apache.org/core">http://cxf.apache.org/core</a>"<br />&nbsp;xmlns:wsa="<a href="http://cxf.apache.org/ws/addressing">http://cxf.apache.org/ws/addressing</a>"<br />&nbsp;xsi:schemaLocation="<a href="http://www.springframework.org/schema/beans">http://www.springframework.org/schema/beans</a><br />&nbsp;<a href="http://www.springframework.org/schema/beans/spring-beans-3.0.xsd">http://www.springframework.org/schema/beans/spring-beans-3.0.xsd</a><br />&nbsp;<a href="http://www.springframework.org/schema/tx">http://www.springframework.org/schema/tx</a> <br />&nbsp;<a href="http://www.springframework.org/schema/tx/spring-beans-3.0.xsd">http://www.springframework.org/schema/tx/spring-beans-3.0.xsd</a><br />&nbsp;<a href="http://cxf.apache.org/core">http://cxf.apache.org/core</a> <br />&nbsp;<a href="http://cxf.apache.org/schemas/core.xsd">http://cxf.apache.org/schemas/core.xsd</a><br />&nbsp;<a href="http://cxf.apache.org/jaxws">http://cxf.apache.org/jaxws</a> <br />&nbsp;<a href="http://cxf.apache.org/schemas/jaxws.xsd">http://cxf.apache.org/schemas/jaxws.xsd</a><br />&nbsp;<a href="http://www.springframework.org/schema/aop">http://www.springframework.org/schema/aop</a> <br />&nbsp;<a href="http://www.springframework.org/schema/aop/spring-aop-3.0.xsd">http://www.springframework.org/schema/aop/spring-aop-3.0.xsd</a><br />&nbsp;<a href="http://www.springframework.org/schema/context">http://www.springframework.org/schema/context</a><br />&nbsp;<a href="http://www.springframework.org/schema/context/spring-context-3.0.xsd">http://www.springframework.org/schema/context/spring-context-3.0.xsd</a>"&gt;<br />&nbsp;&lt;import resource="classpath:META-INF/cxf/cxf.xml" /&gt;<br />&nbsp;&lt;import resource="classpath:META-INF/cxf/cxf-extension-soap.xml" /&gt;<br />&nbsp;&lt;import resource="classpath:META-INF/cxf/cxf-servlet.xml" /&gt;<br />&nbsp;<br />&nbsp;&lt;cxf:bus&gt;<br />&nbsp;&nbsp;&lt;cxf:features&gt;<br />&nbsp;&nbsp;&nbsp;&lt;!--日志拦截功能，用于监控soap内容，开发后可以删除 --&gt; <br />&nbsp;&nbsp;&nbsp;&lt;cxf:logging/&gt;<br />&nbsp;&nbsp;&nbsp;&lt;wsa:addressing/&gt;<br />&nbsp;&nbsp;&lt;/cxf:features&gt;<br />&nbsp;&lt;/cxf:bus&gt;&nbsp; </p>
<p>&nbsp;&lt;bean id="userService" class="com.abin.lee.cxf.UserService"&gt;&lt;/bean&gt;<br />&nbsp;&lt;jaxws:endpoint id="userWebservice" implementor="#userService" address="/UserService" publish="true" /&gt;</p>
<p><br />&lt;/beans&gt;</p>
<p>&nbsp;</p><br /><br /><br /><br />&lt;context-param&gt;<br />&nbsp;&nbsp;&lt;param-name&gt;contextConfigLocation&lt;/param-name&gt;<br />&nbsp;&nbsp;&lt;param-value&gt;<br />&nbsp;&nbsp;&nbsp;&lt;!--<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;classpath*:com/abin/lee/spring/queue/applicationContext-springqueue.xml,<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;classpath*:com/abin/lee/quartz/applicationContext-quartzCluster.xml,<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;classpath*:com/abin/lee/quartz/applicationContext-quartzHeartCluster.xml,<br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;classpath*:com/abin/lee/quartz/applicationContext-activemq.xml<br />&nbsp;&nbsp;&nbsp;--&gt;<br />&nbsp;&nbsp;&nbsp;classpath*:com/abin/lee/cxf/applicationContext-cxf.xml<br />&nbsp;&nbsp;&lt;/param-value&gt;<br />&nbsp;&lt;/context-param&gt; <br />&nbsp;&lt;listener&gt;<br />&nbsp;&nbsp;&lt;listener-class&gt;org.springframework.web.context.ContextLoaderListener&lt;/listener-class&gt;<br />&nbsp;&lt;/listener&gt;<br />&nbsp;&lt;!--cxf服务启动servlet--&gt;<br />&nbsp;&lt;servlet&gt;&nbsp;&nbsp;&nbsp; <br />&nbsp;&nbsp;&lt;servlet-name&gt;CXFServlet&lt;/servlet-name&gt;&nbsp;&nbsp;&nbsp; <br />&nbsp;&nbsp;&lt;servlet-class&gt;&nbsp;&nbsp;&nbsp; <br />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; org.apache.cxf.transport.servlet.CXFServlet&nbsp;&nbsp;&nbsp;&nbsp; <br />&nbsp;&nbsp;&lt;/servlet-class&gt;&nbsp;&nbsp;&nbsp; <br />&nbsp;&nbsp;&lt;load-on-startup&gt;1&lt;/load-on-startup&gt;&nbsp;&nbsp;&nbsp; <br />&nbsp;&lt;/servlet&gt;&nbsp;&nbsp;&nbsp; <br />&nbsp;&lt;servlet-mapping&gt;&nbsp;&nbsp;&nbsp; <br />&nbsp;&nbsp;&lt;servlet-name&gt;CXFServlet&lt;/servlet-name&gt;&nbsp;&nbsp;&nbsp; <br />&nbsp;&nbsp;&lt;url-pattern&gt;/service/*&lt;/url-pattern&gt;&nbsp;&nbsp;&nbsp; <br />&nbsp;&lt;/servlet-mapping&gt;&nbsp; <br /><br /><br /><br /><br /><br /><br />
<p>package com.abin.lee.spring;</p>
<p>import org.springframework.beans.BeansException; <br />import org.springframework.context.ApplicationContext; <br />import org.springframework.context.ApplicationContextAware;<br />import org.springframework.context.support.ClassPathXmlApplicationContext;</p>
<p>/**<br />&nbsp;* <br />&nbsp;* 获取spring容器，以访问容器中定义的其他bean<br />&nbsp;* <br />&nbsp;* @author lyltiger<br />&nbsp;* @since MOSTsView 3.0 2009-11-16<br />&nbsp;*/<br />public class SpringContextUtil implements ApplicationContextAware {</p>
<p>&nbsp;// Spring应用上下文环境<br />&nbsp;private static ApplicationContext applicationContext = new ClassPathXmlApplicationContext(<br />&nbsp;&nbsp;&nbsp;"com/abin/lee/cxf/applicationContext-cxf.xml");</p>
<p>&nbsp;/**<br />&nbsp; * 实现ApplicationContextAware接口的回调方法，设置上下文环境<br />&nbsp; * <br />&nbsp; * @param applicationContext<br />&nbsp; */<br />&nbsp;public void setApplicationContext(ApplicationContext applicationContext) {<br />&nbsp;&nbsp;SpringContextUtil.applicationContext = applicationContext;<br />&nbsp;}</p>
<p>&nbsp;/**<br />&nbsp; * @return ApplicationContext<br />&nbsp; */<br />&nbsp;public static ApplicationContext getApplicationContext() {<br />&nbsp;&nbsp;return applicationContext;<br />&nbsp;}</p>
<p>&nbsp;/**<br />&nbsp; * 获取对象 这里重写了bean方法，起主要作用<br />&nbsp; * <br />&nbsp; * @param name<br />&nbsp; * @return Object 一个以所给名字注册的bean的实例<br />&nbsp; * @throws BeansException<br />&nbsp; */<br />&nbsp;public static Object getBean(String name) throws BeansException {<br />&nbsp;&nbsp;return applicationContext.getBean(name);<br />&nbsp;}</p>
<p>}</p><br /><br /><br /><br /><br /><br /><br /><br />
<p>package com.abin.lee.cxf.test;</p>
<p>import com.abin.lee.cxf.UserService;<br />import com.abin.lee.spring.SpringContextUtil;</p>
<p>import junit.framework.TestCase;</p>
<p>public class TestUserService extends TestCase{<br />&nbsp;public void testcxf(){<br />&nbsp;&nbsp;UserService userService=(UserService)SpringContextUtil.getBean("userService");<br />&nbsp;&nbsp;<br />&nbsp;&nbsp;String response=userService.getMessage("abin");<br />&nbsp;&nbsp;System.out.println("response="+response);<br />&nbsp;&nbsp;System.exit(0);<br />&nbsp;}<br />}<br /></p><br /> <img src ="http://www.blogjava.net/stevenjohn/aggbug/385896.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/stevenjohn/" target="_blank">abin</a> 2012-08-21 00:27 <a href="http://www.blogjava.net/stevenjohn/archive/2012/08/21/385896.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item></channel></rss>