??xml version="1.0" encoding="utf-8" standalone="yes"?>中文字幕无码精品亚洲资源网,亚洲伊人久久大香线焦,亚洲av无码有乱码在线观看http://m.tkk7.com/ponzmd/category/25498.html<i>q_而简单的Z个,无权无势也无牉|挂。一路厮杀Q只q不退Q死而后Ԍ岂不爽哉Q?lt;br/> 收v对“R”日行千里的慕Q收起对“马”左右逢缘的感叹;目标记在心里面,向前q。一ơ一步,一步一脚印Q跬步千里?lt;br/> q个角色很适合现在的我?lt;/i> zh-cnThu, 03 Apr 2008 16:35:43 GMTThu, 03 Apr 2008 16:35:43 GMT60Nutch爬虫的工作过E?/title><link>http://m.tkk7.com/ponzmd/archive/2008/04/02/190452.html</link><dc:creator>q河?/dc:creator><author>q河?/author><pubDate>Wed, 02 Apr 2008 12:53:00 GMT</pubDate><guid>http://m.tkk7.com/ponzmd/archive/2008/04/02/190452.html</guid><wfw:comment>http://m.tkk7.com/ponzmd/comments/190452.html</wfw:comment><comments>http://m.tkk7.com/ponzmd/archive/2008/04/02/190452.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://m.tkk7.com/ponzmd/comments/commentRss/190452.html</wfw:commentRss><trackback:ping>http://m.tkk7.com/ponzmd/services/trackbacks/190452.html</trackback:ping><description><![CDATA[<p>再来1号问题:爬虫的工作过E?/p> <p>来个图:</p> <p><a ><img style="border-top-width: 0px; border-left-width: 0px; border-bottom-width: 0px; border-right-width: 0px" height="333" alt="workflow" src="http://www.ihooyo.com/wp-content/uploads/2008/04/workflow-thumb.png" width="494" border="0"></a></p> <p>动作分解Q?<br><传言看源代码理解的更l致Q不q偶没看Q偶是根据文和下午的操作ȝ的,错了h正?gt;</p> <p>1.创徏I数据库WebdbQ?/p> <p>2.向Webdb中注入入口攫取地址Q?/p> <p>3.ҎWebdb中数据生成fetchlistQƈ生成相应的segment?/p> <p>4.Ҏfetchlist攫取内容Qfetched contentQ?/p> <p>5.Ҏ获取内容更新Webdb</p> <p>6.重复执行3-5.q个q程<a target="_blank">52se</a>UCؓ“?抓取/更新”@环?/p> <p>7.完成上面的@环后Q根据Webdb中信息,如网评分和链接信息{,再次更新segment.</p> <p>8.索引被攫取的面Q生成链接?/p> <p>9.去除indexes中重复的内容和链接?/p> <p>10.依靠indexes合成单一的index文g。大功告成?/p> <p>上面q些步骤都可以对应到Nutchl我们提供的CrawlTool中的命o上?/p> <p>爬虫忙完了,有了数据Q我们就可以利用Nutch的search部分功能来查扑ֆ容了?/p> <p> </p> <p>参考:<a >Nutch爬虫工作程及文件格式详l分?/a></p> <h4><a target="_blank">Introduction to Nutch, Part 1: Crawling</a></h4><img src ="http://m.tkk7.com/ponzmd/aggbug/190452.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://m.tkk7.com/ponzmd/" target="_blank">q河?/a> 2008-04-02 20:53 <a href="http://m.tkk7.com/ponzmd/archive/2008/04/02/190452.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>Nutch的数据存储结构?/title><link>http://m.tkk7.com/ponzmd/archive/2008/04/02/190451.html</link><dc:creator>q河?/dc:creator><author>q河?/author><pubDate>Wed, 02 Apr 2008 12:52:00 GMT</pubDate><guid>http://m.tkk7.com/ponzmd/archive/2008/04/02/190451.html</guid><wfw:comment>http://m.tkk7.com/ponzmd/comments/190451.html</wfw:comment><comments>http://m.tkk7.com/ponzmd/archive/2008/04/02/190451.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://m.tkk7.com/ponzmd/comments/commentRss/190451.html</wfw:commentRss><trackback:ping>http://m.tkk7.com/ponzmd/services/trackbacks/190451.html</trackback:ping><description><![CDATA[<p>昨天睡觉前,ȝ了感兴趣?个问题,现在来回一?/p> <p>1.爬虫工作的过E?</p> <p>2.爬虫获取数据后,数据的存储结构?</p> <p>3.数据如何索引成Lucene讑֮的烦引格式?</p> <p>上午q工作耽误了,下午得闲Q看点资料。试单ȝ一下上面几个问题的?/p> <p>先回{?号问题,数据的存储结构好了?/p> <p>Nutch把爬虫找回来的资料做成了攑֜一个文件夹里面Q美其名曰Web database。其实里面分别就四个文g夹了事。依ơ道来:</p> <ul> <li>crawldbQ存N要抓取的的超链接地址Q? <li>segmentsQ存放依据crawldb中提供的地址抓取到的内容信息。segments中的每个子文件夹存储fetcherҎcrawldb抓取一ơ所得的内容。这些抓取的内容包括有content、crawl_fetch、crawl_generate、crawl_parse、parse_data、parse_text。其中content是抓取下来的|页内容Qcrawl_generateҎcrawldb最初生成;crawl_fetch、content在抓取时生成Qcrawl_parse、parse_data、parse_text在解析抓取的数据文g时生成。其中crawl_generate、crawl_fetch和crawl_parse是crawldb的部分url数据Q它们格式一P不同的是抓取旉、状态、签名等有所变化? <li>Index和indexesQIndex是最l我们所需要得到的东西Q而Index是通过indexes合ƈ的到的? <li>LinkdbQlinkdb中存攄是所有超链接及其每个链接的连入地址和锚文g?</li></ul> <p>好了q个存储l构的问题完成了?/p> <p>抽空先写q么多,呆会有时间在l箋?/p><img src ="http://m.tkk7.com/ponzmd/aggbug/190451.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://m.tkk7.com/ponzmd/" target="_blank">q河?/a> 2008-04-02 20:52 <a href="http://m.tkk7.com/ponzmd/archive/2008/04/02/190451.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>Nutch0.9基本配置http://m.tkk7.com/ponzmd/archive/2008/04/01/190147.htmlq河?/dc:creator>q河?/author>Tue, 01 Apr 2008 09:11:00 GMThttp://m.tkk7.com/ponzmd/archive/2008/04/01/190147.htmlhttp://m.tkk7.com/ponzmd/comments/190147.htmlhttp://m.tkk7.com/ponzmd/archive/2008/04/01/190147.html#Feedback0http://m.tkk7.com/ponzmd/comments/commentRss/190147.htmlhttp://m.tkk7.com/ponzmd/services/trackbacks/190147.html下午配置成功了Nutch0.9.截图记录一下?/p>

nutchsuccess

 

 

 

 

 

 

 

|络上面介绍q个配置的比较多Q我׃重复力_了?/p>

推荐文如下QNutch Version 0.8x tutorial Q还有就是这里的?a target="_blank">日志?/p>

我在q里记录一下遇到的几个错误和解军_法,大家可能有用?/p>

如执行如下命令:
./nutch crawl ../urls.txt  -dir ../ihooyo  -depth 5 -topN 100
参数说明Q?br /> -url 是刚才我们创徏的url文g,存放我们要抓取的|址
-dir 指定抓取内容所存放的目录,如上存在mydir?br /> -threads 指定q发的线E数
-depth 表示以要抓取|站|址v点的爬行深度
-topN 表示获取前多条记录Q可?/p>

可能错误1Q?/p>

Generator: jobtracker is 'local', generating exactly one partition.
Generator: 0 records selected for fetching, exiting ...
Stopping at depth=0 - no more URLs to fetch.
No URLs to fetch - check your seed list and URL filters.
crawl finished: sina5

说明Q指定要抓取的网址(url.txt)l过(crawl-urlfilters.xml)qo后,已经没有可抓取对象了Q检查两者的匚w卛_?/p>

可能错误2Q?/p>

Dedup: starting
Dedup: adding indexes in: ../ihooyo/indexes
Exception in thread "main" java.io.IOException: Job failed!
        at org.apache.hadoop.mapred.JobClient.runJob(JobClient.java:604)
        at org.apache.nutch.indexer.DeleteDuplicates.dedup(DeleteDuplicates.java:439)
        at org.apache.nutch.crawl.Crawl.main(Crawl.java:135)

说明Q一般ؓ./conf/nutch-site.xml文g配置有错误。请参考如下配|修攏V?br /> [xml]
<property>
<name>http.agent.name</name>
<value>ihooyo</value>
<description></description>
</property>
<property>
<name>http.agent.description</name>
<value>apersonblog</value>
<description></description>
</property>
<property>
<name>http.agent.url</name>
<value>www.ihooyo.com</value>
<description></description>
</property>
<property>
<name>http.agent.email</name>
<value>pjuneye@qq.com</value>
<description></description>
</property>
[/xml]
q种配置错误Q在log日志中可扑ֈ提示?/p>

可能错误3Q?/p>

Injector: Converting injected urls to crawl db entries.
Exception in thread "main" java.io.IOException: Job failed!
        at org.apache.hadoop.mapred.JobClient.runJob(JobClient.java:604)
        at org.apache.nutch.crawl.Injector.inject(Injector.java:162)
        at org.apache.nutch.crawl.Crawl.main(Crawl.java:115)

说明Q一般ؓcrawl-urlfilters.txt中配|问题,比如qo条g应ؓ
+^http://www.ihooyo.com ,而配|成?http://www.ihooyo.com q样的情况就引v如上错误?/p>

好了写完了?/p>

]]>
Nutch初接?/title><link>http://m.tkk7.com/ponzmd/archive/2008/04/01/190136.html</link><dc:creator>q河?/dc:creator><author>q河?/author><pubDate>Tue, 01 Apr 2008 08:50:00 GMT</pubDate><guid>http://m.tkk7.com/ponzmd/archive/2008/04/01/190136.html</guid><wfw:comment>http://m.tkk7.com/ponzmd/comments/190136.html</wfw:comment><comments>http://m.tkk7.com/ponzmd/archive/2008/04/01/190136.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://m.tkk7.com/ponzmd/comments/commentRss/190136.html</wfw:commentRss><trackback:ping>http://m.tkk7.com/ponzmd/services/trackbacks/190136.html</trackback:ping><description><![CDATA[<p>晚上׃近两个时的时?看了|络上一些关于Nutch的介l?<br>搞明白的几个问题:</p> <p>1.Nutch到底是什?</p> <p>Nutch是一个开源的Java语言实现的搜索引擎。它通过完整功能的搜索系l?/p> <p>2.Nutch和Lucene到底是什么关p?两者如何取?</p> <p>NutchZLuceneQLucene为Nutch提供文本索引和搜索API。两者的取舍问题在于Lucene不能够ؓ你抓取数据,所以如果在有数据源的情况下最好的方式是用Lucene API来徏立烦引,完成搜烦。如果需要抓取数据的话,那自然是选择Nutch为好?/p> <p>3.Nutch的基本安装步?</p> <p>q个问题有官Ҏ。在q里?/p> <p>PS:g|络Nutch上最多的帖子是关于q个?其中比较有意思的是摆脱Cgywin的一些方?比如利用window批处理或者利用ant.个hq是觉得ant更通用.</p> <p>4.Nutch的基本组?</p> <p>Nutch基本上两部分l成Q抓取部分和搜烦部分。抓取程序抓取页面ƈ抓取回来的数据做成反向索引Q搜索程序则反向烦引搜索回{用Lh。两者的兌部分在于索引?br>具体内容q需要仔l看文档和介l?</p> <p>5.Nutch文档集中?<br><a >http://wiki.apache.org/nutch/</a></p> <p>补充完成Q今日l。愚快乐!</p><img src ="http://m.tkk7.com/ponzmd/aggbug/190136.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://m.tkk7.com/ponzmd/" target="_blank">q河?/a> 2008-04-01 16:50 <a href="http://m.tkk7.com/ponzmd/archive/2008/04/01/190136.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>[ZT]Java版大腕对?/title><link>http://m.tkk7.com/ponzmd/archive/2008/03/31/189787.html</link><dc:creator>q河?/dc:creator><author>q河?/author><pubDate>Mon, 31 Mar 2008 07:21:00 GMT</pubDate><guid>http://m.tkk7.com/ponzmd/archive/2008/03/31/189787.html</guid><wfw:comment>http://m.tkk7.com/ponzmd/comments/189787.html</wfw:comment><comments>http://m.tkk7.com/ponzmd/archive/2008/03/31/189787.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://m.tkk7.com/ponzmd/comments/commentRss/189787.html</wfw:commentRss><trackback:ping>http://m.tkk7.com/ponzmd/services/trackbacks/189787.html</trackback:ping><description><![CDATA[<p>注:原文不知出处Q群里{载至此?<p>ѝ大腕》经典对白: <p>一定要N最行的框Ӟ<br>用功能最强大~辑器,<br>做就要做最复杂的系l,<br>轻量U的l对不行Q?br>框架最单也得是QIQԌQGQ?br>什么IQ啊,QテQIQԌQTQ啊QSQAQ啊Q能用的全都得用上,<br>表现层要可配|、持久层要可替换Q?br>E序最好能用一万年Q?br>客户一见面Q甭有事没事,<br>都得问hӞ您准备换框架不?<br>pȝq得能够集群<br>讉K量再也得同时开Q0几台服务?br>一天2Q小时在U?br>火星撞地球了都能提供服务<br>服务器上跑得都是weblogic、websphere<br>你要用一jbossQ都不好意思跟人家打招?br>你说q系l,得做多长旉Q?br>Q怎么C得5q吧Q)<br>Q年Q那是一期工E,<br>Q0qvQ?br>你得揣摩老板的心理,<br>愿意花5q开发一套系l的老板Q?br>Ҏ׃在乎再多{5q_<br>什么是软g工程你知道么Q?br>软g工程是Q搞什么都不用最好的Q用最复杂?br>所以我们口号就是:<br>不求最好,但求最复杂?/p><img src ="http://m.tkk7.com/ponzmd/aggbug/189787.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://m.tkk7.com/ponzmd/" target="_blank">q河?/a> 2008-03-31 15:21 <a href="http://m.tkk7.com/ponzmd/archive/2008/03/31/189787.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>排序Q堆排序法http://m.tkk7.com/ponzmd/archive/2007/10/30/156979.htmlq河?/dc:creator>q河?/author>Tue, 30 Oct 2007 08:51:00 GMThttp://m.tkk7.com/ponzmd/archive/2007/10/30/156979.htmlhttp://m.tkk7.com/ponzmd/comments/156979.htmlhttp://m.tkk7.com/ponzmd/archive/2007/10/30/156979.html#Feedback0http://m.tkk7.com/ponzmd/comments/commentRss/156979.htmlhttp://m.tkk7.com/ponzmd/services/trackbacks/156979.htmlq是昨天朋友在面试过E中Q遇到的W试问题Q帮忙解军_ƈ自我学习之。主要是堆排序里面涉及的基本概念和排序过E。比如什么是堆以及利用堆排序的基本?br>路等。数据结构里面知识基本上是归还了老师了,希望q个排序能给自己提个醒?/font>

基本思想Q?/strong>

       堆排序是一树Ş选择排序Q在排序q程中,R[1..N]看成是一颗完全二叉树的顺序存储结构,利用完全二叉树中双亲l点和孩子结点之间的内在关系来选择最的元素?/p>

堆的定义:

N个元素的序列K1,K2,K3,...,Kn.UCؓ堆,当且仅当该序列满特性:
       Ki≤K2i Ki ≤K2i+1(1?I?[N/2])

       堆实质上是满_下性质的完全二叉树Q树中Q一非叶子结点的关键字均大于{于其孩子结点的关键字。例如序?0,15,56,25,30,70是一个堆Q它对应的完全二叉树如上图所C。这U堆中根l点Q称为堆Ӟ的关键字最,我们把它UCؓ根堆。反之,若完全二叉树中Q一非叶子结点的关键字均大于{于其孩子的关键字,则称之ؓ大根堆?/p>

排序q程Q?br>
堆排序正是利用小根堆Q或大根堆)来选取当前无序Z关键字小Q或最大)的记录实现排序的。我们不妨利用大根堆来排序。每一排序的基本操作是:当前无序区调整Z个大根堆Q选取关键字最大的堆顶记录Q将它和无序Z的最后一个记录交换。这P正好和直接选择排序相反Q有序区是在原记录区的尾部Ş成ƈ逐步向前扩大到整个记录区?

根堆排序实玎ͼ

HeapSort.java

package javasort;

// 参考:http://blog.csdn.net/EmaYoung/archive/2007/09/29/1806228.aspx
public class HeapSort {

    //调整无序序列为大根堆 s 为数l的起始下标Qm为终止下?/span>
    public void HeapAdjust(int[] arr, int s, int m) {
        int temp = arr[s];
        for (int j = 2 * s + 1; j < m; j = j * 2 + 1) {
            if (j + 1 < m && arr[j] > arr[j + 1]) {
                ++j;
            }
            if (temp < arr[j]) {
                break;
            }
            arr[s] = arr[j];
            s = j;
            arr[s] = temp;
        }
    }

    //Ҏ大根堆,对堆排序
    public void HeapSorting(int[] arr) {
        //把顺序表构徏成ؓ一个大根堆
        for (int i = arr.length / 2 - 1; i >= 0; --i) {
            HeapAdjust(arr, i, arr.length);
        }

        for (int j = arr.length - 1; j > 0; --j) {
            int temp = arr[0];
            arr[0] = arr[j];
            arr[j] = temp;
            HeapAdjust(arr, 0, j);
        }
    }
}
Main.java
package javasort;
public class Main {

    public static void main(String[] args) {
        int[] arry_int = {49, 38, 65, 97, 76, 13, 27, 55};
        show("数组排序?, arry_int);
        System.out.println();
        HeapSort hsort = new HeapSort();
        hsort.HeapSorting(arry_int);
        show("数组排序?, arry_int);
    }

    private static void show(String message, int[] array) {
        System.out.println(">>>" + message + "<<<");
        for (int i = 0; i < array.length; i++) {
            System.out.print("  " + array[i]);
        }
    }
}
执行l果Q?/pre>

>>>数组排序?lt;<<
  49  38  65  97  76  13  27  55
>>>数组排序?lt;<<
  97  76  65  55  49  38  27  13

 



]]>金蝶OperaMasks框架的宣传视?/title><link>http://m.tkk7.com/ponzmd/archive/2007/09/24/147895.html</link><dc:creator>q河?/dc:creator><author>q河?/author><pubDate>Mon, 24 Sep 2007 13:19:00 GMT</pubDate><guid>http://m.tkk7.com/ponzmd/archive/2007/09/24/147895.html</guid><wfw:comment>http://m.tkk7.com/ponzmd/comments/147895.html</wfw:comment><comments>http://m.tkk7.com/ponzmd/archive/2007/09/24/147895.html#Feedback</comments><slash:comments>3</slash:comments><wfw:commentRss>http://m.tkk7.com/ponzmd/comments/commentRss/147895.html</wfw:commentRss><trackback:ping>http://m.tkk7.com/ponzmd/services/trackbacks/147895.html</trackback:ping><description><![CDATA[            整个视频采用黑客帝国作ؓ背景Q穿插介l了Web开发的要历双Ӏ后面三分钟对OperaMasks做了些王婆买瓜式的肯定,看v来还不错?br /> <br />              可以<a target="_blank" >点击q里观看</a><br /> <br /> <p align="center"> <br /> </p> <img src ="http://m.tkk7.com/ponzmd/aggbug/147895.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://m.tkk7.com/ponzmd/" target="_blank">q河?/a> 2007-09-24 21:19 <a href="http://m.tkk7.com/ponzmd/archive/2007/09/24/147895.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>AXIS1.4 DOC 阅读W记http://m.tkk7.com/ponzmd/archive/2007/09/02/142045.htmlq河?/dc:creator>q河?/author>Sun, 02 Sep 2007 03:51:00 GMThttp://m.tkk7.com/ponzmd/archive/2007/09/02/142045.htmlhttp://m.tkk7.com/ponzmd/comments/142045.htmlhttp://m.tkk7.com/ponzmd/archive/2007/09/02/142045.html#Feedback0http://m.tkk7.com/ponzmd/comments/commentRss/142045.htmlhttp://m.tkk7.com/ponzmd/services/trackbacks/142045.html说明Q这部分只要是Axis1.4Doc的摘要,只截取了我不明白和感兴趣的部分。可以当作一个快速烦引和入门资料来看Q如有不明白可直接查看Axis1.4的发布文?br /> Ƣ迎转蝲Q但是请注明出处Q{载地址Q?/span>http://m.tkk7.com/ponzmd/articles/142045.html
  • AXIS1.4 DOC 阅读W记
    • 安装介绍
      • 作ؓ单独WebApplication安装
        • Step1:拯AXIS工程/webapps/axis到相应web服务器的部v目录卛_
        • Step2:启动web服务?讉K: http://127.0.0.1:8080/axis/ ?http://localhost:8080/axis/happyaxis.jsp ;如不正常Ҏ错误卛_
        • Step3:Test a SOAP Endpoint:http://localhost:8080/axis/services/Version?method=getVersion
        • Step4:Test a JWS Endpoint http://localhost:8080/axis/EchoHeaders.jws?method=list .
      • 集成AXIS
        • 1.Add axis.jar, wsdl.jar, saaj.jar, jaxrpc.jar and the other dependent libraries to your WAR file.
        • 2.Copy all the Axis Servlet declarations and mappings from axis/WEB-INF/web.xml and add them to your own web.xml
        • 3.Build and deploy your webapp.
        • 4.Run the Axis AdminClient against your own webapp, instead of Axis, by changing the URL you invoke it with
      • 遗留问题(没有配置成功)
        •   如何配置使用SOAPMonitor?
      • 注意事项
        • 配置Classpath一定要加入所有的Jar包,一个都会错
    • 用户向导
      • 什么是AXIS
        • AXIS: Apache EXtensible Interaction System
      • AXIS包括什?
        • a SOAP engine -- a framework for constructing SOAP processors such as clients, servers, gateways
        • a simple stand-alone server
        • a server which plugs into servlet engines such as Tomcat
        • extensive support for the Web Service Description Language (WSDL)
        • emitter tooling that generates Java classes from WSDL
        • some sample programs,anda tool for monitoring TCP/IP packets
      • 使用AXIS
        • 部vWebService
          • 方式1QJWSQ将需要部|的WebService的源文gҎ展名.java?jws,其至于工程的根目录下面Q发布即告完成。需要注意的是:要部|的文g只能使用默认包?/span>
          • 方式2QWSDDQ编写WSDD文gQ通过执行org.apache.axis.client.AdminClient来部|Ӏ也可以通过此类撤销已部|的WebService服务?/span>
          • 配置WSDDQ通过org.apache.axis.client.AdminClient来部|?/span>
            • WSDD: Web Service Deployment Descriptor
            • 基本配置Q?
              <deployment xmlns="http://xml.apache.org/axis/wsdd/" xmlns:java="http://xml.apache.org/axis/wsdd/providers/java"> <service name="MyService" provider="java:RPC"> <parameter name="className" value="samples.userguide.example3.MyService"/> <parameter name="allowedMethods" value="*"/> </service> </deployment>  
            • 常用配置Q配|JavaBean 客户端代码:
              QName qn = new QName( "urn:BeanService""Order" ); call.registerTypeMapping(Order.class, qn, new org.apache.axis.encoding.ser.BeanSerializerFactory(Order.class, qn), new org.apache.axis.encoding.ser.BeanDeserializerFactory(Order.class, qn)); 
              WSDD文gQ?
              <beanMapping qname="myNS:Order" xmlns:myNS="urn:BeanService" languageSpecificType="java:samples.userguide.example5.Order"/> 
              扩展配置Q参照《Reference Material ?/span>
        • 讉KWebService
          • ~写服务讉K客户端,q执行之Q必要步骤,example3ZQ?/span>
            • Step1Q获取服务的讉K地址Q?
              String endpointURL Q?nbsp;“http://localhost:8080/axis/services/MyService"; 
               
            •  Step2Q构建Service ?Call对象Q?
               Service service = new Service(); Call call = (Call) service.createCall(); 
            • Step3Q确定访问目标:
              call.setTargetEndpointAddress( new java.net.URL(endpointURL) ); call.setOperationName( new QName("http://example3.userguide.samples""serviceMethod") ); 
            • Step4Q?可? 配置参数cdQ?
               call.addParameter( "arg1", XMLType.XSD_STRING, ParameterMode.IN); call.setReturnType( org.apache.axis.encoding.XMLType.XSD_STRING ); 
            • Step5Q发赯问,q获取反?
              String ret = (String) call.invoke( new Object[] { textToSend } ); 
            • Step6Q处理异?
              try {//上面那些  } catch (AxisFault fault) {et = "Error : " + fault.toString();} 
          • 通过WSDL来访问WebServiceQ必要步骤,以Example6ZQ?/span>
            • WSDLQ?Web Service Description Language Web服务器描q语a是用XML文档来描qWeb服务的标准,是Web服务的接口定义语aQ由Ariba、Intel、IBM、MS{共同提出,通过WSDLQ可描述Web服务的三个基本属性:? 服务做些什么——服务所提供的操作(ҎQ??#22914;何访问服务——和服务交互的数据格式以及必要协??#26381;务位于何处——协议相关的地址Q如URL
            • Step1Q获得WSDL文g
              • 方式1Q?WSDL http://<host>/axis/services/<service-name>?wsdl http://<host>/axis/*.jws?wsdl
              • 方式2QJAVA2WSDL工具 % java org.apache.axis.wsdl.Java2WSDL -o wp.wsdl -l"http://localhost:8080/axis/services/WidgetPrice" -n "urn:Example6" -p"samples.userguide.example6" "urn:Example6" samples.userguide.example6.WidgetPrice
                Where: -o indicates the name of the output WSDL file -l indicates the location of the service -n is the target namespace of the WSDL file -p indicates a mapping from the package to a namespace. There may be multiple mappings. the class specified contains the interface of the webservice.
            • Step2Q通过WSDL2JAVA工具获得辅助c?% java org.apache.axis.wsdl.WSDL2Java -o . -d Session -s -S true -N urn:Example6 samples.userguide.example6 wp.wsdl
              WidgetPriceSoapBindingImpl.java : Java file containing the default server implementation of the WidgetPrice web service. You will need to modify the *SoapBindingImpl file to add your implementation WidgetPrice.java: 定义了Web服务接口 WidgetPriceService.java: 定义了用于获取Web服务接口的方法?WidgetPriceServiceLocator.java: 定义了用于获取Web服务接口的方法?WidgetPriceSoapBindingStub.java:Web服务客户端桩Q通过该类与服务器交互?WidgetPriceSoapBindingSkeleton.java: Server side skeleton. deploy.wsdd: Deployment descriptor undeploy.wsdd: Undeployment descriptor q几个JAVAcd我们处理了大部分的逻辑Q我们需要的仅仅是把q些cd到我们的目然后创徏一个我们自qcL调用它们卛_
            • Step3Q编写客L代码: 通过***ServiceLocator构?**ServiceҎQ通过***Service对象获得提供服务的类对象Q进而调用提供服务类对象上的ҎQ提供服务?
        • 工具使用
          • the Axis TCP Monitor :java org.apache.axis.utils.tcpmon [listenPort targetHost targetPort]
          • the SOAP Monitor :
    • WebService安全
      • 常见d方式
        • Denial of Service to a server
        • Interception and manipulation of messages
        • Forged client requests or Forged server responses
        • attempts to read the server file system/database
        • Attempts to write to the server file system/database
      • 判断来访?/span>
        • AXIS不支持判断请求服务的是谁.可以使用 xmlsec.jar来支援它
        • AXIS推荐使用HTTPS来加U安全?/span>
        • Axis 不支持HTTP1.1 Digest Authentication,需要the HttpClient libraries配合工作
      • 可考虑的安全措?/span>
        • Disguise:不要让h知道你运行了AXIS
        • Cut down the build: 仅仅保留你需要的部分
        • Rename things:换掉默认的名U?如The AxisServlet, the AdminService, even happyaxis.jsp
        • Stop AxisServlet listing services :axis.enableListQuery =false
        • Keep stack traces out of the responses :axis.development.system =true
        • Edit the .wsdd configuration file, as described in the reference, to return a WSDL resource which is simply an empty <wsdl/> tag.
        • Servlets2.3: use filters for extra authentication
        • Log things
        • Run Axis with reduced Java rights
        • Run the web server with reduced rights
        • Monitor Load
        • Consider 'tripwire' and 'honeypot' endpoints(没明?
    • AXIS ANT Task
      • 在axis-ant.jar中定?/span>
      • 主要d
        • Creating Java files from WSDL
        • Creating WSDL files from Java
        • Talking to the admin service
        • 具体配置看文?/span>
    • 《Reference Material?
      • 其中注意包括了WSDL2JAVAQJAVA2WSDL的具体用,以及WSDD的配|信息等技术细?/span>


]]>
վ֩ģ壺 ƵѲ| ŷ޾Ʒһ| þþƷվ| ձһ| þþƷž޾Ʒ| Ļ| ۲ݳѹۿ| Ļ| ޳AӰԺ߹ۿ| С˵ͼƬ| ƵַѲ| Ƶ߹ۿַ| av벻˽ӰԺ| ŮҼxx00Ƶ| һëƬ| Ʒһ| һ߹ۿ| ŷղ| ĻӰ߿ѹۿ| ѸƵ| ŷպһ| Ļһ| ޵һվ˶| CAOPORNƷƵ| ޸߲| þþƷѲ| ޹ƷԲӰ| Ѹ69ʽƵ߹ۿ| ۺɫ߲| 99aƷ| av߿վ| þþƷAVվ| þƵ| ޻ɫĻ| 18վƬѹۿ| ˾Ʒۺں| ޳վ| ŷ߹ۿ| þþƷһ| ëƬ18ŮëƬѿ| ձva߹ۿ|