﻿<?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-胖熊熊-随笔分类-web service</title><link>http://www.blogjava.net/fatbear/category/38312.html</link><description>得到多少又失去了什么 </description><language>zh-cn</language><lastBuildDate>Mon, 02 May 2011 17:42:48 GMT</lastBuildDate><pubDate>Mon, 02 May 2011 17:42:48 GMT</pubDate><ttl>60</ttl><item><title>CXF 2.0 学习笔记-3 SOAP Header</title><link>http://www.blogjava.net/fatbear/archive/2011/04/19/348567.html</link><dc:creator>fatbear</dc:creator><author>fatbear</author><pubDate>Tue, 19 Apr 2011 06:23:00 GMT</pubDate><guid>http://www.blogjava.net/fatbear/archive/2011/04/19/348567.html</guid><wfw:comment>http://www.blogjava.net/fatbear/comments/348567.html</wfw:comment><comments>http://www.blogjava.net/fatbear/archive/2011/04/19/348567.html#Feedback</comments><slash:comments>4</slash:comments><wfw:commentRss>http://www.blogjava.net/fatbear/comments/commentRss/348567.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/fatbear/services/trackbacks/348567.html</trackback:ping><description><![CDATA[&nbsp;&nbsp;&nbsp;&nbsp; 摘要: 基于CXF2.0前2个学习笔记，对原先服务端与客户端进行修改，实现在SOAP Header里面添加自定义的数据进行认证在做之前，先要理解如下的信息拦截器(Interceptor)简单说明&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; Interceptor是CXF架构中一个很有特色的模式。你可以在不对核心模块进行修改的情况下，动态添加很多功能。这对于CXF这个以处理消...&nbsp;&nbsp;<a href='http://www.blogjava.net/fatbear/archive/2011/04/19/348567.html'>阅读全文</a><img src ="http://www.blogjava.net/fatbear/aggbug/348567.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/fatbear/" target="_blank">fatbear</a> 2011-04-19 14:23 <a href="http://www.blogjava.net/fatbear/archive/2011/04/19/348567.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>soap不同语言通信参数异常</title><link>http://www.blogjava.net/fatbear/archive/2009/09/25/296424.html</link><dc:creator>fatbear</dc:creator><author>fatbear</author><pubDate>Fri, 25 Sep 2009 07:05:00 GMT</pubDate><guid>http://www.blogjava.net/fatbear/archive/2009/09/25/296424.html</guid><wfw:comment>http://www.blogjava.net/fatbear/comments/296424.html</wfw:comment><comments>http://www.blogjava.net/fatbear/archive/2009/09/25/296424.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.blogjava.net/fatbear/comments/commentRss/296424.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/fatbear/services/trackbacks/296424.html</trackback:ping><description><![CDATA[&nbsp; 最近在做一个项目时，需要使用.net 的soap服务，但是根据wsdl 生成的客户端一直都无法调用成功，提示：&nbsp; Data type 'soapenc:Array' mismatch in element 'stParameters'。其中stParameters在wsdl 中描述为数组类型，soap sytle为RPC，java生成客户端对应的参数为Object[]。<br />
&nbsp; 在调用的时候，如果不传数组参数，接口收发正常，一旦带了数组参数，就会出现上面的异常。后来找了很多资料，基本上是说服务端wsdl样式问题。在对方服务端不会因我们接入方而改变情况下，我们只能采取无奈的手段，使用JAXM 来发送和接受SOAP消息。<br />
<br />
&nbsp;&nbsp; 具体使用可以参考：http://www.ibm.com/developerworks/cn/xml/tips/x-jaxmsoap/<br />
&nbsp;&nbsp;&nbsp;对于接受的SOAP消息，可以直接加载成xml进行解析，如下：<br />
<div style="border-right: #cccccc 1px solid; padding-right: 5px; border-top: #cccccc 1px solid; padding-left: 4px; font-size: 13px; padding-bottom: 4px; border-left: #cccccc 1px solid; width: 98%; word-break: break-all; padding-top: 4px; border-bottom: #cccccc 1px solid; background-color: #eeeeee"><img src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top"  alt="" /><span style="color: #000000">SOAPMessage&nbsp;reply&nbsp;</span><span style="color: #000000">=</span><span style="color: #000000">&nbsp;connection.call(message,&nbsp;urlEndpoint);<br />
<img src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top"  alt="" />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<br />
<img src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top"  alt="" />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;ByteArrayOutputStream&nbsp;respbty&nbsp;</span><span style="color: #000000">=</span><span style="color: #000000">&nbsp;</span><span style="color: #0000ff">new</span><span style="color: #000000">&nbsp;ByteArrayOutputStream();<br />
<img src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top"  alt="" />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;reply.writeTo(respbty);<br />
<img src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top"  alt="" />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;String&nbsp;respstr&nbsp;</span><span style="color: #000000">=</span><span style="color: #000000">&nbsp;</span><span style="color: #0000ff">new</span><span style="color: #000000">&nbsp;String(respbty.toByteArray());<br />
<img src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top"  alt="" />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;logger.info(</span><span style="color: #000000">"</span><span style="color: #000000">接收SOAP消息包:</span><span style="color: #000000">"</span><span style="color: #000000">+</span><span style="color: #000000">respstr);</span></div>
<br />
&nbsp;<br />
<img src ="http://www.blogjava.net/fatbear/aggbug/296424.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/fatbear/" target="_blank">fatbear</a> 2009-09-25 15:05 <a href="http://www.blogjava.net/fatbear/archive/2009/09/25/296424.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>Axis1.4生成客户端代码</title><link>http://www.blogjava.net/fatbear/archive/2009/04/15/265796.html</link><dc:creator>fatbear</dc:creator><author>fatbear</author><pubDate>Wed, 15 Apr 2009 09:18:00 GMT</pubDate><guid>http://www.blogjava.net/fatbear/archive/2009/04/15/265796.html</guid><wfw:comment>http://www.blogjava.net/fatbear/comments/265796.html</wfw:comment><comments>http://www.blogjava.net/fatbear/archive/2009/04/15/265796.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.blogjava.net/fatbear/comments/commentRss/265796.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/fatbear/services/trackbacks/265796.html</trackback:ping><description><![CDATA[&nbsp;&nbsp;&nbsp;&nbsp; 最近在与.net 项目组弄接口时候发现他们用的是SOAP 1.2，通过Lomboz插件无法生成客户端代码。在网络上找了下，需要用Axis包来生成，特此记录下。<br />
&nbsp;&nbsp; (由于服务器限制，只能用jdk1.4来开发)<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 1.下载最新的Axis1.4包<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 2.在Axis1.4\lib 目录下编写一个批命令，内容如下：<br />
<div style="border-right: #cccccc 1px solid; padding-right: 5px; border-top: #cccccc 1px solid; padding-left: 4px; font-size: 12pt; padding-bottom: 4px; border-left: #cccccc 1px solid; width: 95.15%; color: #0000ff; word-break: break-all; padding-top: 4px; border-bottom: #cccccc 1px solid; height: 54px; background-color: #eeeeee"><img src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top"  alt="" /><span style="color: #000000">D:\j2sdk1</span><span style="color: #000000">.4</span><span style="color: #000000">.2_</span><span style="color: #000000">09</span><span style="color: #000000">\bin\java&nbsp;-cp&nbsp;</span><span style="color: #000000">"</span><span style="color: #000000">d:\axis-1_4\lib\axis.jar;d:\axis-1_4\lib\axis-ant.jar;d:\axis-1_4\lib\commons-discovery-0.2.jar;d:\axis-1_4\lib\commons-logging-1.0.4.jar;d:\axis-1_4\lib\jaxrpc.jar;d:\axis-1_4\lib\log4j-1.2.8.jar;d:\axis-1_4\lib\saaj.jar;d:\axis-1_4\lib\wsdl4j-1.5.1.jar</span><span style="color: #000000">"</span><span style="color: #000000">&nbsp;org.apache.axis.wsdl.WSDL2Java&nbsp;MsgIncept.wsdl&nbsp;-o&nbsp;d:\axis-1_</span><span style="color: #000000">4</span><span style="color: #000000">\lib&nbsp;</span></div>
<br />
&nbsp;&nbsp;&nbsp;&nbsp; 主要的这句：org.apache.axis.wsdl.WSDL2Java MsgIncept.wsdl -o D:\other_dk\axis-1_4\lib<br />
&nbsp;&nbsp;&nbsp;&nbsp; MsgIncept.wsdl&nbsp; 就是对方提供的wsdl 。-o&nbsp;是输出的目录<br />
<br />
&nbsp;&nbsp;&nbsp;&nbsp; 3.调用的时候注意用soap12的Stub即可。
<img src ="http://www.blogjava.net/fatbear/aggbug/265796.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/fatbear/" target="_blank">fatbear</a> 2009-04-15 17:18 <a href="http://www.blogjava.net/fatbear/archive/2009/04/15/265796.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>CXF 2.0 学习笔记-2(客户端) </title><link>http://www.blogjava.net/fatbear/archive/2009/03/16/260032.html</link><dc:creator>fatbear</dc:creator><author>fatbear</author><pubDate>Mon, 16 Mar 2009 09:57:00 GMT</pubDate><guid>http://www.blogjava.net/fatbear/archive/2009/03/16/260032.html</guid><wfw:comment>http://www.blogjava.net/fatbear/comments/260032.html</wfw:comment><comments>http://www.blogjava.net/fatbear/archive/2009/03/16/260032.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.blogjava.net/fatbear/comments/commentRss/260032.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/fatbear/services/trackbacks/260032.html</trackback:ping><description><![CDATA[&nbsp;&nbsp;&nbsp; <a class="titlelink" id="Editor_Results_rprSelectionList_ctl01_LinkTitle" href="http://www.blogjava.net/fatbear/archive/2009/03/16/260029.html">CXF 2.0 学习笔记-1(服务端)</a>&nbsp; 中生成了服务端，现在把服务端的wsdl保存到本地(直接把<a href="http://xxx/ws/xxx?wsdl">Http://xxx/ws/xxx?wsdl</a> 另存为wsdl文件) 。<br />
&nbsp;&nbsp; 我们要根据服务端的wsdl来生成客户端调用的文件，这样需要用到CXF BIN目录下<font style="background-color: #f2f9fb">wsdl2java.bat 。<br />
&nbsp;&nbsp; <font style="background-color: #f2f9fb">wsdl2java 参数如下：<br />
<br />
<div style="border-right: #cccccc 1px solid; padding-right: 5px; border-top: #cccccc 1px solid; padding-left: 4px; font-size: 13px; padding-bottom: 4px; border-left: #cccccc 1px solid; width: 98%; word-break: break-all; padding-top: 4px; border-bottom: #cccccc 1px solid; background-color: #eeeeee"><img alt="" src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top" /><span style="color: #000000">wsdl2java&nbsp;-fe&nbsp;</span><span style="color: #0000ff">&lt;</span><span style="color: #800000">frontend&nbsp;</span><span style="color: #ff0000">name</span><span style="color: #0000ff">&gt;</span><span style="color: #000000">*&nbsp;-db&nbsp;</span><span style="color: #0000ff">&lt;</span><span style="color: #800000">data&nbsp;</span><span style="color: #ff0000">binding&nbsp;name</span><span style="color: #0000ff">&gt;</span><span style="color: #000000">*&nbsp;-wv&nbsp;</span><span style="color: #0000ff">&lt;</span><span style="color: #800000">[wsdl&nbsp;</span><span style="color: #ff0000">version]</span><span style="color: #0000ff">&gt;</span><span style="color: #000000">*&nbsp;<br />
<img alt="" src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top" />-p&nbsp;</span><span style="color: #0000ff">&lt;</span><span style="color: #800000">[wsdl&nbsp;</span><span style="color: #ff0000">namespace&nbsp;</span><span style="color: #0000ff">=]Package&nbsp;</span><span style="color: #ff0000">Name</span><span style="color: #0000ff">&gt;</span><span style="color: #000000">*&nbsp;-sn&nbsp;</span><span style="color: #0000ff">&lt;</span><span style="color: #800000">service-name</span><span style="color: #0000ff">&gt;</span><span style="color: #000000">&nbsp;-b&nbsp;</span><span style="color: #0000ff">&lt;</span><span style="color: #800000">binding-name</span><span style="color: #0000ff">&gt;</span><span style="color: #000000">*&nbsp;<br />
<img alt="" src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top" />-catalog&nbsp;</span><span style="color: #0000ff">&lt;</span><span style="color: #800000">catalog-file-name</span><span style="color: #0000ff">&gt;</span><span style="color: #000000">&nbsp;-d&nbsp;</span><span style="color: #0000ff">&lt;</span><span style="color: #800000">output-directory</span><span style="color: #0000ff">&gt;</span><span style="color: #000000">&nbsp;-compile&nbsp;<br />
<img alt="" src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top" />-classdir&nbsp;</span><span style="color: #0000ff">&lt;</span><span style="color: #800000">compile-classes-directory</span><span style="color: #0000ff">&gt;</span><span style="color: #000000">&nbsp;-impl&nbsp;-server&nbsp;-client&nbsp;-all&nbsp;<br />
<img alt="" src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top" />-autoNameResolution&nbsp;-defaultValues</span><span style="color: #0000ff">&lt;</span><span style="color: #800000">=class&nbsp;</span><span style="color: #ff0000">name&nbsp;for&nbsp;DefaultValueProvider</span><span style="color: #0000ff">&gt;</span><span style="color: #000000">&nbsp;-ant&nbsp;<br />
<img alt="" src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top" />-nexclude&nbsp;</span><span style="color: #0000ff">&lt;</span><span style="color: #800000">schema&nbsp;</span><span style="color: #ff0000">namespace&nbsp;[</span><span style="color: #0000ff">=&nbsp;java&nbsp;</span><span style="color: #ff0000">packagename]</span><span style="color: #0000ff">&gt;</span><span style="color: #000000">*&nbsp;&nbsp;-exsh&nbsp;</span><span style="color: #0000ff">&lt;</span><span style="color: #800000">(true</span><span style="color: #ff0000">,&nbsp;false)</span><span style="color: #0000ff">&gt;</span><span style="color: #000000"><br />
<img alt="" src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top" />-dns&nbsp;</span><span style="color: #0000ff">&lt;</span><span style="color: #800000">(true</span><span style="color: #ff0000">,&nbsp;false)</span><span style="color: #0000ff">&gt;</span><span style="color: #000000">&nbsp;-dex&nbsp;</span><span style="color: #0000ff">&lt;</span><span style="color: #800000">(true</span><span style="color: #ff0000">,&nbsp;false)</span><span style="color: #0000ff">&gt;</span><span style="color: #000000">&nbsp;-validate&nbsp;-keep&nbsp;<br />
<img alt="" src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top" />-wsdlLocation&nbsp;</span><span style="color: #0000ff">&lt;</span><span style="color: #800000">wsdlLocation&nbsp;</span><span style="color: #ff0000">attribute</span><span style="color: #0000ff">&gt;</span><span style="color: #000000">&nbsp;-xjc</span><span style="color: #0000ff">&lt;</span><span style="color: #800000">xjc&nbsp;</span><span style="color: #ff0000">arguments</span><span style="color: #0000ff">&gt;</span><span style="color: #000000">&nbsp;-noAddressBinding&nbsp;-h&nbsp;<br />
<img alt="" src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top" />-v&nbsp;-verbose&nbsp;-quiet&nbsp;</span><span style="color: #0000ff">&lt;</span><span style="color: #800000">wsdlurl</span><span style="color: #0000ff">&gt;</span><span style="color: #000000"><br />
<img alt="" src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top" /></span></div>
</font>&nbsp; 具体可参考官方网站：<br />
<font style="background-color: #f2f9fb">&nbsp;&nbsp; <a href="http://cwiki.apache.org/CXF20DOC/wsdl-to-java.html">http://cwiki.apache.org/CXF20DOC/wsdl-to-java.html</a><br />
<br />
&nbsp; 我们在命令行下输入:<font style="background-color: #f2f9fb">wsdl2java -p hs.cxf.client&nbsp; He<font style="background-color: #f2f9fb">lloWorld.wsdl 来指定生成的客户端包目录。<br />
<br />
&nbsp;客户端调用代码<br />
<div style="border-right: #cccccc 1px solid; padding-right: 5px; border-top: #cccccc 1px solid; padding-left: 4px; font-size: 13px; padding-bottom: 4px; border-left: #cccccc 1px solid; width: 98%; word-break: break-all; padding-top: 4px; border-bottom: #cccccc 1px solid; background-color: #eeeeee"><img id="Codehighlighter1_4_1204_Open_Image" onclick="this.style.display='none'; Codehighlighter1_4_1204_Open_Text.style.display='none'; Codehighlighter1_4_1204_Closed_Image.style.display='inline'; Codehighlighter1_4_1204_Closed_Text.style.display='inline';" src="http://www.blogjava.net/images/OutliningIndicators/ExpandedBlockStart.gif" align="top"  alt="" /><img id="Codehighlighter1_4_1204_Closed_Image" style="display: none" onclick="this.style.display='none'; Codehighlighter1_4_1204_Closed_Text.style.display='none'; Codehighlighter1_4_1204_Open_Image.style.display='inline'; Codehighlighter1_4_1204_Open_Text.style.display='inline';" src="http://www.blogjava.net/images/OutliningIndicators/ContractedBlock.gif" align="top"  alt="" /><span style="color: #0000ff">try</span><span style="color: #000000">&nbsp;</span><span id="Codehighlighter1_4_1204_Closed_Text" style="border-right: #808080 1px solid; border-top: #808080 1px solid; display: none; border-left: #808080 1px solid; border-bottom: #808080 1px solid; background-color: #ffffff"><img src="http://www.blogjava.net/Images/dot.gif"  alt="" /></span><span id="Codehighlighter1_4_1204_Open_Text"><span style="color: #000000">{<br />
<img src="http://www.blogjava.net/images/OutliningIndicators/InBlock.gif" align="top"  alt="" />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;JaxWsProxyFactoryBean&nbsp;&nbsp;factory&nbsp;</span><span style="color: #000000">=</span><span style="color: #000000">&nbsp;</span><span style="color: #0000ff">new</span><span style="color: #000000">&nbsp;JaxWsProxyFactoryBean&nbsp;();&nbsp;<br />
<img src="http://www.blogjava.net/images/OutliningIndicators/InBlock.gif" align="top"  alt="" />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;factory.setServiceClass(WebServiceSample.</span><span style="color: #0000ff">class</span><span style="color: #000000">);<br />
<img src="http://www.blogjava.net/images/OutliningIndicators/InBlock.gif" align="top"  alt="" />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;factory.setAddress(</span><span style="color: #000000">"</span><span style="color: #000000">http://127.0.0.1:9080/cxfTest/ws/HelloWorld</span><span style="color: #000000">"</span><span style="color: #000000">);<br />
<img src="http://www.blogjava.net/images/OutliningIndicators/InBlock.gif" align="top"  alt="" />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Object&nbsp;obj&nbsp;</span><span style="color: #000000">=</span><span style="color: #000000">&nbsp;factory.create();<br />
<img src="http://www.blogjava.net/images/OutliningIndicators/InBlock.gif" align="top"  alt="" />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;System.out.println(obj&nbsp;</span><span style="color: #000000">==</span><span style="color: #000000">&nbsp;</span><span style="color: #0000ff">null</span><span style="color: #000000">&nbsp;</span><span style="color: #000000">?</span><span style="color: #000000">&nbsp;</span><span style="color: #000000">"</span><span style="color: #000000">NULL</span><span style="color: #000000">"</span><span style="color: #000000">:obj.getClass().getName());<br />
<img id="Codehighlighter1_317_1200_Open_Image" onclick="this.style.display='none'; Codehighlighter1_317_1200_Open_Text.style.display='none'; Codehighlighter1_317_1200_Closed_Image.style.display='inline'; Codehighlighter1_317_1200_Closed_Text.style.display='inline';" src="http://www.blogjava.net/images/OutliningIndicators/ExpandedSubBlockStart.gif" align="top"  alt="" /><img id="Codehighlighter1_317_1200_Closed_Image" style="display: none" onclick="this.style.display='none'; Codehighlighter1_317_1200_Closed_Text.style.display='none'; Codehighlighter1_317_1200_Open_Image.style.display='inline'; Codehighlighter1_317_1200_Open_Text.style.display='inline';" src="http://www.blogjava.net/images/OutliningIndicators/ContractedSubBlock.gif" align="top"  alt="" />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff">if</span><span style="color: #000000">(obj&nbsp;</span><span style="color: #000000">!=</span><span style="color: #000000">&nbsp;</span><span style="color: #0000ff">null</span><span style="color: #000000">)</span><span id="Codehighlighter1_317_1200_Closed_Text" style="border-right: #808080 1px solid; border-top: #808080 1px solid; display: none; border-left: #808080 1px solid; border-bottom: #808080 1px solid; background-color: #ffffff"><img src="http://www.blogjava.net/Images/dot.gif"  alt="" /></span><span id="Codehighlighter1_317_1200_Open_Text"><span style="color: #000000">{<br />
<img src="http://www.blogjava.net/images/OutliningIndicators/InBlock.gif" align="top"  alt="" />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;WebServiceSample&nbsp;ws&nbsp;</span><span style="color: #000000">=</span><span style="color: #000000">&nbsp;(WebServiceSample)obj;<br />
<img src="http://www.blogjava.net/images/OutliningIndicators/InBlock.gif" align="top"  alt="" />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;String&nbsp;str&nbsp;</span><span style="color: #000000">=</span><span style="color: #000000">&nbsp;ws.say(</span><span style="color: #000000">"</span><span style="color: #000000">test</span><span style="color: #000000">"</span><span style="color: #000000">);<br />
<img src="http://www.blogjava.net/images/OutliningIndicators/InBlock.gif" align="top"  alt="" />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;System.out.println(str);<br />
<img src="http://www.blogjava.net/images/OutliningIndicators/InBlock.gif" align="top"  alt="" />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<br />
<img src="http://www.blogjava.net/images/OutliningIndicators/InBlock.gif" align="top"  alt="" />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;str&nbsp;</span><span style="color: #000000">=</span><span style="color: #000000">&nbsp;ws.say(</span><span style="color: #000000">"</span><span style="color: #000000">1111</span><span style="color: #000000">"</span><span style="color: #000000">);<br />
<img src="http://www.blogjava.net/images/OutliningIndicators/InBlock.gif" align="top"  alt="" />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;System.out.println(str);<br />
<img src="http://www.blogjava.net/images/OutliningIndicators/InBlock.gif" align="top"  alt="" />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<br />
<img src="http://www.blogjava.net/images/OutliningIndicators/InBlock.gif" align="top"  alt="" />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;User&nbsp;u&nbsp;</span><span style="color: #000000">=</span><span style="color: #000000">&nbsp;</span><span style="color: #0000ff">new</span><span style="color: #000000">&nbsp;User();<br />
<img src="http://www.blogjava.net/images/OutliningIndicators/InBlock.gif" align="top"  alt="" />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;JAXBElement&nbsp;</span><span style="color: #000000">&lt;</span><span style="color: #000000">String</span><span style="color: #000000">&gt;</span><span style="color: #000000">&nbsp;je&nbsp;</span><span style="color: #000000">=</span><span style="color: #000000">&nbsp;<br />
<img src="http://www.blogjava.net/images/OutliningIndicators/InBlock.gif" align="top"  alt="" />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff">new</span><span style="color: #000000">&nbsp;JAXBElement&nbsp;</span><span style="color: #000000">&lt;</span><span style="color: #000000">String</span><span style="color: #000000">&gt;</span><span style="color: #000000">(<br />
<img src="http://www.blogjava.net/images/OutliningIndicators/InBlock.gif" align="top"  alt="" />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff">new</span><span style="color: #000000">&nbsp;QName(</span><span style="color: #000000">"</span><span style="color: #000000">http://bean.cxf.hs</span><span style="color: #000000">"</span><span style="color: #000000">,</span><span style="color: #000000">"</span><span style="color: #000000">name</span><span style="color: #000000">"</span><span style="color: #000000">),<br />
<img src="http://www.blogjava.net/images/OutliningIndicators/InBlock.gif" align="top"  alt="" />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;String.</span><span style="color: #0000ff">class</span><span style="color: #000000">,</span><span style="color: #000000">"</span><span style="color: #000000">张三</span><span style="color: #000000">"</span><span style="color: #000000">);&nbsp;<br />
<img src="http://www.blogjava.net/images/OutliningIndicators/InBlock.gif" align="top"  alt="" />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;u.setName(je);<br />
<img src="http://www.blogjava.net/images/OutliningIndicators/InBlock.gif" align="top"  alt="" />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;str&nbsp;</span><span style="color: #000000">=</span><span style="color: #000000">&nbsp;ws.sayUserName(u);<br />
<img src="http://www.blogjava.net/images/OutliningIndicators/InBlock.gif" align="top"  alt="" />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;System.out.println(str);<br />
<img src="http://www.blogjava.net/images/OutliningIndicators/InBlock.gif" align="top"  alt="" />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<br />
<img src="http://www.blogjava.net/images/OutliningIndicators/InBlock.gif" align="top"  alt="" />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #008000">//</span><span style="color: #008000">通过对象来交互</span><span style="color: #008000"><br />
<img src="http://www.blogjava.net/images/OutliningIndicators/InBlock.gif" align="top"  alt="" /></span><span style="color: #000000">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;ReqBean&nbsp;req&nbsp;</span><span style="color: #000000">=</span><span style="color: #000000">&nbsp;</span><span style="color: #0000ff">new</span><span style="color: #000000">&nbsp;ReqBean();<br />
<img src="http://www.blogjava.net/images/OutliningIndicators/InBlock.gif" align="top"  alt="" />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;req.setExp(</span><span style="color: #0000ff">new</span><span style="color: #000000">&nbsp;JAXBElement&nbsp;</span><span style="color: #000000">&lt;</span><span style="color: #000000">String</span><span style="color: #000000">&gt;</span><span style="color: #000000">(<br />
<img src="http://www.blogjava.net/images/OutliningIndicators/InBlock.gif" align="top"  alt="" />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff">new</span><span style="color: #000000">&nbsp;QName(</span><span style="color: #000000">"</span><span style="color: #000000">http://bean.cxf.hs</span><span style="color: #000000">"</span><span style="color: #000000">,</span><span style="color: #000000">"</span><span style="color: #000000">exp</span><span style="color: #000000">"</span><span style="color: #000000">),<br />
<img src="http://www.blogjava.net/images/OutliningIndicators/InBlock.gif" align="top"  alt="" />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;String.</span><span style="color: #0000ff">class</span><span style="color: #000000">,</span><span style="color: #000000">"</span><span style="color: #000000">&lt;exp&gt;111&lt;exp&gt;</span><span style="color: #000000">"</span><span style="color: #000000">));<br />
<img src="http://www.blogjava.net/images/OutliningIndicators/InBlock.gif" align="top"  alt="" />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;req.setSeqId(</span><span style="color: #0000ff">new</span><span style="color: #000000">&nbsp;JAXBElement&nbsp;</span><span style="color: #000000">&lt;</span><span style="color: #000000">String</span><span style="color: #000000">&gt;</span><span style="color: #000000">(<br />
<img src="http://www.blogjava.net/images/OutliningIndicators/InBlock.gif" align="top"  alt="" />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span style="color: #0000ff">new</span><span style="color: #000000">&nbsp;QName(</span><span style="color: #000000">"</span><span style="color: #000000">http://bean.cxf.hs</span><span style="color: #000000">"</span><span style="color: #000000">,</span><span style="color: #000000">"</span><span style="color: #000000">seqId</span><span style="color: #000000">"</span><span style="color: #000000">),<br />
<img src="http://www.blogjava.net/images/OutliningIndicators/InBlock.gif" align="top"  alt="" />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;String.</span><span style="color: #0000ff">class</span><span style="color: #000000">,</span><span style="color: #000000">"</span><span style="color: #000000">12345678</span><span style="color: #000000">"</span><span style="color: #000000">));<br />
<img src="http://www.blogjava.net/images/OutliningIndicators/InBlock.gif" align="top"  alt="" />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;RespBean&nbsp;resp&nbsp;</span><span style="color: #000000">=</span><span style="color: #000000">&nbsp;ws.action(req);<br />
<img src="http://www.blogjava.net/images/OutliningIndicators/InBlock.gif" align="top"  alt="" />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;System.out.println(</span><span style="color: #000000">"</span><span style="color: #000000">resp_id:</span><span style="color: #000000">"</span><span style="color: #000000">+</span><span style="color: #000000">resp.getRespId().getValue());<br />
<img src="http://www.blogjava.net/images/OutliningIndicators/InBlock.gif" align="top"  alt="" />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;System.out.println(</span><span style="color: #000000">"</span><span style="color: #000000">resp_exp:</span><span style="color: #000000">"</span><span style="color: #000000">+</span><span style="color: #000000">resp.getExp().getValue());<br />
<img src="http://www.blogjava.net/images/OutliningIndicators/ExpandedSubBlockEnd.gif" align="top"  alt="" />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}</span></span><span style="color: #000000"><br />
<img id="Codehighlighter1_1227_1256_Open_Image" onclick="this.style.display='none'; Codehighlighter1_1227_1256_Open_Text.style.display='none'; Codehighlighter1_1227_1256_Closed_Image.style.display='inline'; Codehighlighter1_1227_1256_Closed_Text.style.display='inline';" src="http://www.blogjava.net/images/OutliningIndicators/ExpandedBlockStart.gif" align="top"  alt="" /><img id="Codehighlighter1_1227_1256_Closed_Image" style="display: none" onclick="this.style.display='none'; Codehighlighter1_1227_1256_Closed_Text.style.display='none'; Codehighlighter1_1227_1256_Open_Image.style.display='inline'; Codehighlighter1_1227_1256_Open_Text.style.display='inline';" src="http://www.blogjava.net/images/OutliningIndicators/ContractedBlock.gif" align="top"  alt="" />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}</span></span><span style="color: #000000">&nbsp;</span><span style="color: #0000ff">catch</span><span style="color: #000000">&nbsp;(Exception&nbsp;ex)&nbsp;</span><span id="Codehighlighter1_1227_1256_Closed_Text" style="border-right: #808080 1px solid; border-top: #808080 1px solid; display: none; border-left: #808080 1px solid; border-bottom: #808080 1px solid; background-color: #ffffff"><img src="http://www.blogjava.net/Images/dot.gif"  alt="" /></span><span id="Codehighlighter1_1227_1256_Open_Text"><span style="color: #000000">{<br />
<img src="http://www.blogjava.net/images/OutliningIndicators/InBlock.gif" align="top"  alt="" />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;ex.printStackTrace();<br />
<img src="http://www.blogjava.net/images/OutliningIndicators/ExpandedBlockEnd.gif" align="top"  alt="" />&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}</span></span></div>
<br />
</font></font>运行此代码，查看结果即可<br />
<br />
依赖包如下:<br />
<div style="border-right: #cccccc 1px solid; padding-right: 5px; border-top: #cccccc 1px solid; padding-left: 4px; font-size: 13px; padding-bottom: 4px; border-left: #cccccc 1px solid; width: 98%; word-break: break-all; padding-top: 4px; border-bottom: #cccccc 1px solid; background-color: #eeeeee"><img alt="" src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top" /><span style="color: #000000">cxf-2.1.4.jar<br />
<img alt="" src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top" />jaxb-api-2.1.jar<br />
<img alt="" src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top" />geronimo-annotation_1.0_spec-1.1.1.jar<br />
<img alt="" src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top" />geronimo-ws-metadata_2.0_spec-1.1.2.jar<br />
<img alt="" src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top" />jaxws-api.jar<br />
<img alt="" src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top" />stax-api-1.0-2.jar<br />
<img alt="" src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top" />jaxb-impl-2.1.9.jar<br />
<img alt="" src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top" />geronimo-activation_1.1_spec-1.0.2.jar<br />
<img alt="" src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top" />xml-resolver-1.2.jar<br />
<img alt="" src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top" />XmlSchema-1.4.3.jar<br />
<img alt="" src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top" />wsdl4j-1.6.2.jar<br />
<img alt="" src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top" />saaj-api-1.3.jar<br />
<img alt="" src="http://www.blogjava.net/images/OutliningIndicators/None.gif" align="top" />jsr173_1.0_ri.jar</span></div>
其中jsr从bean下载:http://ftpna2.bea.com/pub/downloads/jsr173.jar (注意解压)</font><br />
</font>
<img src ="http://www.blogjava.net/fatbear/aggbug/260032.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/fatbear/" target="_blank">fatbear</a> 2009-03-16 17:57 <a href="http://www.blogjava.net/fatbear/archive/2009/03/16/260032.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>CXF 2.0 学习笔记-1(服务端)</title><link>http://www.blogjava.net/fatbear/archive/2009/03/16/260029.html</link><dc:creator>fatbear</dc:creator><author>fatbear</author><pubDate>Mon, 16 Mar 2009 07:14:00 GMT</pubDate><guid>http://www.blogjava.net/fatbear/archive/2009/03/16/260029.html</guid><wfw:comment>http://www.blogjava.net/fatbear/comments/260029.html</wfw:comment><comments>http://www.blogjava.net/fatbear/archive/2009/03/16/260029.html#Feedback</comments><slash:comments>3</slash:comments><wfw:commentRss>http://www.blogjava.net/fatbear/comments/commentRss/260029.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/fatbear/services/trackbacks/260029.html</trackback:ping><description><![CDATA[&nbsp;&nbsp;&nbsp;&nbsp; 摘要: &nbsp;&nbsp; 从网络上找了很多入门的例子，但大部分都是有这样或那样的问题，搞的头大。&nbsp;&nbsp; 这里根据自己搭建的过程，整理出一个实际例子。&nbsp;&nbsp; 环境：jdk1.5+，eclipse3.4，Tomcat5.5，cxf-2.1.4&nbsp;&nbsp; 以下没有用到任何插件来生成&nbsp;&nbsp; 服务端&nbsp;&nbsp...&nbsp;&nbsp;<a href='http://www.blogjava.net/fatbear/archive/2009/03/16/260029.html'>阅读全文</a><img src ="http://www.blogjava.net/fatbear/aggbug/260029.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/fatbear/" target="_blank">fatbear</a> 2009-03-16 15:14 <a href="http://www.blogjava.net/fatbear/archive/2009/03/16/260029.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item></channel></rss>