﻿<?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-jedikings-随笔分类-J2EE Frameworks </title><link>http://www.blogjava.net/jedikings/category/12127.html</link><description /><language>zh-cn</language><lastBuildDate>Tue, 27 Feb 2007 11:58:46 GMT</lastBuildDate><pubDate>Tue, 27 Feb 2007 11:58:46 GMT</pubDate><ttl>60</ttl><item><title>Axis Tips</title><link>http://www.blogjava.net/jedikings/archive/2006/08/15/58338.html</link><dc:creator>Jedi</dc:creator><author>Jedi</author><pubDate>Tue, 15 Aug 2006 01:22:00 GMT</pubDate><guid>http://www.blogjava.net/jedikings/archive/2006/08/15/58338.html</guid><wfw:comment>http://www.blogjava.net/jedikings/comments/58338.html</wfw:comment><comments>http://www.blogjava.net/jedikings/archive/2006/08/15/58338.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.blogjava.net/jedikings/comments/commentRss/58338.html</wfw:commentRss><trackback:ping>http://www.blogjava.net/jedikings/services/trackbacks/58338.html</trackback:ping><description><![CDATA[1. 某个service的参数有复杂对象时，如果要用默认的beanmapping，记得这个对象要有的默认构造器(空参数构造器)，不然Axis在处理的时候会所有的字段都是同一个值..至于原因我没搞清楚-,-~~<br />2. 不要用List，尽量用数组!<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" /><span style="COLOR: #000000">ValueBean[] getValues() <br /><img id="Codehighlighter1_26_111_Open_Image" onclick="this.style.display='none'; Codehighlighter1_26_111_Open_Text.style.display='none'; Codehighlighter1_26_111_Closed_Image.style.display='inline'; Codehighlighter1_26_111_Closed_Text.style.display='inline';" src="http://www.blogjava.net/images/OutliningIndicators/ExpandedBlockStart.gif" align="top" /><img id="Codehighlighter1_26_111_Closed_Image" style="DISPLAY: none" onclick="this.style.display='none'; Codehighlighter1_26_111_Closed_Text.style.display='none'; Codehighlighter1_26_111_Open_Image.style.display='inline'; Codehighlighter1_26_111_Open_Text.style.display='inline';" src="http://www.blogjava.net/images/OutliningIndicators/ContractedBlock.gif" align="top" />    </span><span id="Codehighlighter1_26_111_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" /></span><span id="Codehighlighter1_26_111_Open_Text"><span style="COLOR: #000000">{ <br /><img src="http://www.blogjava.net/images/OutliningIndicators/InBlock.gif" align="top" />        ArrayList result </span><span style="COLOR: #000000">=</span><span style="COLOR: #000000"> </span><span style="COLOR: #0000ff">new</span><span style="COLOR: #000000"> ArrayList(); <br /><img src="http://www.blogjava.net/images/OutliningIndicators/InBlock.gif" align="top" />        </span><span style="COLOR: #0000ff">return</span><span style="COLOR: #000000"> (ValueBean[]) result.toArray(); <br /><img src="http://www.blogjava.net/images/OutliningIndicators/ExpandedBlockEnd.gif" align="top" />    }</span></span></div>上面的代码还是会出问题，要用iterator一个一个map过去<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" /><span style="COLOR: #0000ff">public</span><span style="COLOR: #000000"> </span><span style="COLOR: #0000ff">class</span><span style="COLOR: #000000"> ValueHelper <br /><img id="Codehighlighter1_27_322_Open_Image" onclick="this.style.display='none'; Codehighlighter1_27_322_Open_Text.style.display='none'; Codehighlighter1_27_322_Closed_Image.style.display='inline'; Codehighlighter1_27_322_Closed_Text.style.display='inline';" src="http://www.blogjava.net/images/OutliningIndicators/ExpandedBlockStart.gif" align="top" /><img id="Codehighlighter1_27_322_Closed_Image" style="DISPLAY: none" onclick="this.style.display='none'; Codehighlighter1_27_322_Closed_Text.style.display='none'; Codehighlighter1_27_322_Open_Image.style.display='inline'; Codehighlighter1_27_322_Open_Text.style.display='inline';" src="http://www.blogjava.net/images/OutliningIndicators/ContractedBlock.gif" align="top" />    </span><span id="Codehighlighter1_27_322_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" /></span><span id="Codehighlighter1_27_322_Open_Text"><span style="COLOR: #000000">{ <br /><img src="http://www.blogjava.net/images/OutliningIndicators/InBlock.gif" align="top" />        </span><span style="COLOR: #0000ff">public</span><span style="COLOR: #000000"> </span><span style="COLOR: #0000ff">static</span><span style="COLOR: #000000"> ValueBean[] toArray(List values) <br /><img id="Codehighlighter1_82_318_Open_Image" onclick="this.style.display='none'; Codehighlighter1_82_318_Open_Text.style.display='none'; Codehighlighter1_82_318_Closed_Image.style.display='inline'; Codehighlighter1_82_318_Closed_Text.style.display='inline';" src="http://www.blogjava.net/images/OutliningIndicators/ExpandedSubBlockStart.gif" align="top" /><img id="Codehighlighter1_82_318_Closed_Image" style="DISPLAY: none" onclick="this.style.display='none'; Codehighlighter1_82_318_Closed_Text.style.display='none'; Codehighlighter1_82_318_Open_Image.style.display='inline'; Codehighlighter1_82_318_Open_Text.style.display='inline';" src="http://www.blogjava.net/images/OutliningIndicators/ContractedSubBlock.gif" align="top" />        </span><span id="Codehighlighter1_82_318_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" /></span><span id="Codehighlighter1_82_318_Open_Text"><span style="COLOR: #000000">{<br /><img src="http://www.blogjava.net/images/OutliningIndicators/InBlock.gif" align="top" />            ValueBean[] result </span><span style="COLOR: #000000">=</span><span style="COLOR: #000000"> </span><span style="COLOR: #0000ff">new</span><span style="COLOR: #000000"> ValueBean[values.size()]; <br /><img src="http://www.blogjava.net/images/OutliningIndicators/InBlock.gif" align="top" />            Iterator i </span><span style="COLOR: #000000">=</span><span style="COLOR: #000000"> values.iterator(); <br /><img src="http://www.blogjava.net/images/OutliningIndicators/InBlock.gif" align="top" />            </span><span style="COLOR: #0000ff">int</span><span style="COLOR: #000000"> i </span><span style="COLOR: #000000">=</span><span style="COLOR: #000000"> </span><span style="COLOR: #000000">0</span><span style="COLOR: #000000">; <br /><img src="http://www.blogjava.net/images/OutliningIndicators/InBlock.gif" align="top" />            </span><span style="COLOR: #0000ff">while</span><span style="COLOR: #000000"> (i.hasNext()) <br /><img id="Codehighlighter1_217_294_Open_Image" onclick="this.style.display='none'; Codehighlighter1_217_294_Open_Text.style.display='none'; Codehighlighter1_217_294_Closed_Image.style.display='inline'; Codehighlighter1_217_294_Closed_Text.style.display='inline';" src="http://www.blogjava.net/images/OutliningIndicators/ExpandedSubBlockStart.gif" align="top" /><img id="Codehighlighter1_217_294_Closed_Image" style="DISPLAY: none" onclick="this.style.display='none'; Codehighlighter1_217_294_Closed_Text.style.display='none'; Codehighlighter1_217_294_Open_Image.style.display='inline'; Codehighlighter1_217_294_Open_Text.style.display='inline';" src="http://www.blogjava.net/images/OutliningIndicators/ContractedSubBlock.gif" align="top" />            </span><span id="Codehighlighter1_217_294_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" /></span><span id="Codehighlighter1_217_294_Open_Text"><span style="COLOR: #000000">{ <br /><img src="http://www.blogjava.net/images/OutliningIndicators/InBlock.gif" align="top" />                ValueBean value </span><span style="COLOR: #000000">=</span><span style="COLOR: #000000"> (ValueBean) i.next(); <br /><img src="http://www.blogjava.net/images/OutliningIndicators/InBlock.gif" align="top" />                result[i</span><span style="COLOR: #000000">++</span><span style="COLOR: #000000">] </span><span style="COLOR: #000000">=</span><span style="COLOR: #000000"> value; <br /><img src="http://www.blogjava.net/images/OutliningIndicators/ExpandedSubBlockEnd.gif" align="top" />            }</span></span><span style="COLOR: #000000"> <br /><img src="http://www.blogjava.net/images/OutliningIndicators/InBlock.gif" align="top" />            </span><span style="COLOR: #0000ff">return</span><span style="COLOR: #000000"> result; <br /><img src="http://www.blogjava.net/images/OutliningIndicators/ExpandedSubBlockEnd.gif" align="top" />        }</span></span><span style="COLOR: #000000"> <br /><img src="http://www.blogjava.net/images/OutliningIndicators/ExpandedBlockEnd.gif" align="top" />    }</span></span><span style="COLOR: #000000"> <br /><img id="Codehighlighter1_350_433_Open_Image" onclick="this.style.display='none'; Codehighlighter1_350_433_Open_Text.style.display='none'; Codehighlighter1_350_433_Closed_Image.style.display='inline'; Codehighlighter1_350_433_Closed_Text.style.display='inline';" src="http://www.blogjava.net/images/OutliningIndicators/ExpandedBlockStart.gif" align="top" /><img id="Codehighlighter1_350_433_Closed_Image" style="DISPLAY: none" onclick="this.style.display='none'; Codehighlighter1_350_433_Closed_Text.style.display='none'; Codehighlighter1_350_433_Open_Image.style.display='inline'; Codehighlighter1_350_433_Open_Text.style.display='inline';" src="http://www.blogjava.net/images/OutliningIndicators/ContractedBlock.gif" align="top" />    ValueBean[] getValues() </span><span id="Codehighlighter1_350_433_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" /></span><span id="Codehighlighter1_350_433_Open_Text"><span style="COLOR: #000000">{ <br /><img src="http://www.blogjava.net/images/OutliningIndicators/InBlock.gif" align="top" />        ArrayList result </span><span style="COLOR: #000000">=</span><span style="COLOR: #000000"> </span><span style="COLOR: #0000ff">new</span><span style="COLOR: #000000"> ArrayList();  <br /><img src="http://www.blogjava.net/images/OutliningIndicators/InBlock.gif" align="top" />        </span><span style="COLOR: #0000ff">return</span><span style="COLOR: #000000"> ValueHelper.toArray(result); <br /><img src="http://www.blogjava.net/images/OutliningIndicators/ExpandedBlockEnd.gif" align="top" />    }</span></span></div>3. 要生成符合ws-i的web service最好用document/literal<br />&lt;service name="MyWebRes" provider="java:RPC"<font color="#ff0000"> style="document "use="literal"&gt;</font><img src ="http://www.blogjava.net/jedikings/aggbug/58338.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.blogjava.net/jedikings/" target="_blank">Jedi</a> 2006-08-15 09:22 <a href="http://www.blogjava.net/jedikings/archive/2006/08/15/58338.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item></channel></rss>