分享
 
 
 

Hello HailStorm !

王朝other·作者佚名  2006-01-08
窄屏简体版  字體: |||超大  

Hello HailStorm !

小气的神 2002-02-20

Article Type: OverView

难度等级:2/9

版本:1.26

HailStorm现在被Microsoft命名为.NET My Services,不过我喜欢用HailStorm这个名字,目前它还没有公布Beta版本,正在进行M1阶段的开发,估计今年(2002)的年中会Finally Released。不知道会是Beta还是RC的版本会真正发布,外界认为会是整个功能的一半功能,也就是M1的部分。另一方面HailStorm还需要一些外部的条件,比如目前Passport的下一个版本,新的Windows.NET OS系列,实现一些有关安全和事务的公共协议等等。

下面的记录是基于2001.10.22日的HailStorm SDK ,最少运行在PDC 版本的Visual Studio .NET上,也就是RC1之后的版本上,RTM也是OK的。现在一些网站包括微软网站已经可以下载得到这个SDK。这一次我们的主题是从安装这个SDK起步认识Hailstorm。不过事情的发展并非一帆风顺,这种戏剧性的变化在之后的很多日子被我认为是如此的苦涩和充满“中国特色”。

当然安装一个软件不会让任何人太记忆深刻,安装前我细细阅读了几遍安装文档,当然事后我承认也许有疏漏的地方,因为我当时的焦点在于将Visual Studio从Beta2 升级到RC3上。下面这些是安装时要特别注意的:

1. OS必须是W2K+SP2或XP RC1+

2. IIS 和 服务扩展必须安装,并且运行OK。

3. SQL 2000 + SP1+ 并且SDK Setup程序不接受空的数据库密码

4. Microsoft SOAP Toolkit 2.0 + SP1+ 并且自带的Sample可以运行。

5. Windows Scripting Host(WSH) 5.5+, IE 5.5 SP1+

6. Microsoft Visual Studio.NET RC1+

安装过程很顺利(建议这些都安装在一台机器上,SQL使用sa用户)。

SDK安装完成之后,如果你已安装了VS.NET 那么你可以继续安装SDK for VS.NET,当然这是我当时最感兴趣的,同样安装也很顺利。

成功后桌面上会有两个Sample的快捷键。一个是控制台的Sample,一个是GUI的Sample,按照文档说明,根据文档描述如果一切顺利,你可以正确的运行这些Sample, 控制台方式的将连续弹三个消息框然后退出;而GUI的将可以象IE一样浏览网页并且收集Favorites。看得出两个Sample都是用13个Services中的.NET FavoriteWebSites Services。可是我运行的结果不是连续三个消息框,而是一个致命的对话框。

当然第一个反应是安装有问题,但是安装程序并未报告任何错误。我又到另外的一台机器上安装,结果同样,在网络上寻找有关HailStorm的同时,我才发现有关这方面的文章资料很少,中文的就更少了。但是codeProject和O'REILLY Network的Diana Mitra和Jones 分别都撰文讨论了自己用Managed C++和Python与HailStorm SDK交互的情况,虽然这些文章都没有描述我遇到的情况,但使得我可以学习有关HailStorm的一些知识,特别是Jones用Python的文章让我对HailStorm的工作原理有了更多的认识。我找到了SDK中的hspost.exe,这是一个很原始的工具,可以用它执行HSDL(.NET My Services Data-Manipulation Language)指令来交互获得结果。终于有一天当我执行下面的指令:

C:\Microsoft .NET My Services SDK\Bin>hspost –d content -f insertRequest.xml -o ccBoy -s myServices

<?xml version='1.0'?>

<s:Envelope xmlns:s="http://schemas.xmlsoap.org/soap/envelope/"

xmlns:hs="http://schemas.microsoft.com/hs/2001/10/core">

<s:Header>

<path xmlns="http://schemas.xmlsoap.org/rp/">

<action>http://schemas.microsoft.com/hs/2001/10/core#fault</action>

<rev></rev>

<from>http://VSDOTNET</from>

<id>72D64FD0-1BD6-11D6-A744-00B0D0E302B3</id>

<relatesTo>72D4C8A0-1BD6-11D6-A744-00B0D0E302B3</relatesTo>

</path>

<hs:response>

</hs:response>

</s:Header>

<s:Body>

<s:Fault>

<s:faultcode>Client</s:faultcode>

<s:faultstring>Illegal operation</s:faultstring>

<s:detail xmlns="http://schemas.microsoft.com/hs/2001/10/core">

<faultResponseAction>Correct</faultResponseAction>

<faultChain>

<fault>

<code>0x70008</code>

<shortDescription>Illegal operation</shortDescription>

<longDescription>

An unexpected error has occurred. SQL message: 'RAISERROR 无法在 sysmessages 中找到错误 76004 所对应的条目。'. SQL error code: 2758. Check the request.

</longDescription>

</fault>

</faultChain>

</s:detail>

</s:Fault>

</s:Body>

</s:Envelope>

仍然还有错误出现,可是我们可以下这样的结论:程序确实运行了,但是和数据库交互的部分发生了错误。我想了一阵才反应到可能是SQL自定义错误的问题了,因为76004不是SQL Server中定义的。然后在安装程序的hsadmin.sql中发现这样的SQL语句:

EXEC sp_addmessage @msgnum = 76002, @severity = 10,

@msgtext = N'%08x [XDB] Select count _.',

@replace = 'REPLACE'

EXEC sp_addmessage @msgnum = 76003, @severity = 10,

@msgtext = N'%08x%08x [XDB] New change number __.',

@replace = 'REPLACE'

EXEC sp_addmessage @msgnum = 76004, @severity = 10,

@msgtext = N'%08x [XDB] Begin InternalOpId _.',

@replace = 'REPLACE'

有经验的人已经知道问题出在那里了。上述的语句在中文简体的SQL Server中是会出错的。之后我试图手工的将这十几个msgnum手工的加入到我的SQL Server中,结果似乎没有打个补丁这么简单。最后的解决办法是Uninstall我的中文版SQL Server,然后安装英文版本。之后我们可以获得下面正确的结果了

C:\Microsoft .NET My Services SDK\Bin>hspost –d content -f insertRequest.xml -o ccBoy -s myServices

<?xml version='1.0'?>

<s:Envelope xmlns:s="http://schemas.xmlsoap.org/soap/envelope/"

xmlns:hs="http://schemas.microsoft.com/hs/2001/10/core">

<s:Header>

<path xmlns="http://schemas.xmlsoap.org/rp/">

<action>http://schemas.microsoft.com/hs/2001/10/core#response</action>

<rev></rev>

<from>http://localhost</from>

<id>4E1CD820-1C70-11D6-A749-00B0D0E302B3</id>

<relatesTo>4E184290-1C70-11D6-A749-00B0D0E302B3</relatesTo>

</path>

<hs:response>

</hs:response>

</s:Header>

<s:Body>

<hs:insertResponse xmlns:hs="http://schemas.microsoft.com/hs/2001/10/core" status="success" selectedNodeCount="1" newChangeNumber="351"/>

</s:Body>

</s:Envelope>

结论是:对于这个版本的SDK,最好和保险的建议是安装英文版本的SQL 2000.同时这也是我花了很多时间获得的教训。建议你安装之后可以试一下上面的命令,保证安装真正的成功。

insertRequest.xml 是下面内容的一个简单xml文档

<hs:insertRequest select="/"

xmlns:hs="http://schemas.microsoft.com/hs/2001/10/core"

xmlns="http://schemas.microsoft.com/hs/2001/10/myFavoriteWebSites">

<favoriteWebSite >

<title xml:lang="en">Hello. HailStorm</title>

<url>http://www.microsoft.com</url>

</favoriteWebSite>

</hs:insertRequest>

如果我们不是过于迷恋IDE,那么从手工方式中我们也许可以获得更多的知识和体验,有时候最简单的方式往往使我们更容易接触到事物的本质,最后发现错误的原因。

还有一个常见的错误,我也贴出来,也许对你会有帮助:

C:\Microsoft .NET My Services SDK\Bin>hsprov -s myProfile -l http://vsdotnet -o ccBoy

Error 0x00000012 submitting initial query to myServices

The error 12 is a very generic error which means that the server is not reachable and could happen due to a variety of reasons.

Here is a list of known issues that could cause error 12

1. SQL server has a blank password for the administrator, while installing SQL server select the defaults.

2. Do not try to provision myServices but any one of the other services.

3. During Installation of .Net My Services make sure you select the windows authentication to access the SQL server. or give a non blank password.

4. If all the above are the steps that you have taken already make sure that you can reach the www service using http://machinename/myService this should throw up a authentication dialog box.

上面信息来源Microsoft新闻组。

建议你仔细的阅读SDK中的安装文档,Microsoft在10月份又单独更新了SDK的安装Readme

而后SDK for VS.NET的两个例子也可以成功的执行了,下面是其中的一个运行结果:

目前HailStorm还是一个Alpha版本,不过我丝毫没有小瞧它,事实上,它比Visual Stduio.NET的Alpha版本要稳定和成熟的多,有人戏称Microsoft Alpha版本的软件都像“玩具”,HailStorm这次也不例外,不过真实的原因可能是因为它还不具有实际的商业价值,而不是技术。这一点上Microsoft似乎超乎寻常(haha)。这个版本的SDK包括Alerts,ApplicationSettings,Calendar,Categories,Contacts,Documents,FavoriteWebSites,Inbox,Lists,Locations,Presences,Profile,Services,Wallet共13个Services,这些服务中的Alerts,Calendar,Contacts等已经充分的引起开发者和最终用户的兴趣,Casey Chesnut已经在网上展示了他的myVoices案例: 利用bevocal.com这样公司提供的Gateway服务,依靠ASP.NET和HailStorm提供Favorites,Lists,Contacts,InBox等服务通过VoiceXML和手机进行双向的语音通讯。也就是说7个月前dotNET中向人们描述的几个突出的应用场景现在已经可以在现实中看到实例了。当然在将技术观点转化为普通和商业人士的观点方面,dotNET策略还不算完美。不过我认为整个HailStorm具备了第二代WebServices的一些特性,相对于现在蹒跚跌走而来刚刚脱离demo的第一代WebServices来说,它是超前的。但就其展现的可以预见的商业模式来说,它目前第一代的Web Services一样含糊迷涩。

特别:

本文CSDN署名首发,转载或改编请注明作者和出处。如果有问题,请发电子邮件给new2001@msn.com

以上文字和图片涉及其他人的隐私和个人权利,所有文字和图片只用于内部交流,不作任何新闻发表和商业用途。

 
 
 
免责声明:本文为网络用户发布,其观点仅代表作者个人观点,与本站无关,本站仅提供信息存储服务。文中陈述内容未经本站证实,其真实性、完整性、及时性本站不作任何保证或承诺,请读者仅作参考,并请自行核实相关内容。
2023年上半年GDP全球前十五强
 百态   2023-10-24
美众议院议长启动对拜登的弹劾调查
 百态   2023-09-13
上海、济南、武汉等多地出现不明坠落物
 探索   2023-09-06
印度或要将国名改为“巴拉特”
 百态   2023-09-06
男子为女友送行,买票不登机被捕
 百态   2023-08-20
手机地震预警功能怎么开?
 干货   2023-08-06
女子4年卖2套房花700多万做美容:不但没变美脸,面部还出现变形
 百态   2023-08-04
住户一楼被水淹 还冲来8头猪
 百态   2023-07-31
女子体内爬出大量瓜子状活虫
 百态   2023-07-25
地球连续35年收到神秘规律性信号,网友:不要回答!
 探索   2023-07-21
全球镓价格本周大涨27%
 探索   2023-07-09
钱都流向了那些不缺钱的人,苦都留给了能吃苦的人
 探索   2023-07-02
倩女手游刀客魅者强控制(强混乱强眩晕强睡眠)和对应控制抗性的关系
 百态   2020-08-20
美国5月9日最新疫情:美国确诊人数突破131万
 百态   2020-05-09
荷兰政府宣布将集体辞职
 干货   2020-04-30
倩女幽魂手游师徒任务情义春秋猜成语答案逍遥观:鹏程万里
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案神机营:射石饮羽
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案昆仑山:拔刀相助
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案天工阁:鬼斧神工
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案丝路古道:单枪匹马
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案镇郊荒野:与虎谋皮
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案镇郊荒野:李代桃僵
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案镇郊荒野:指鹿为马
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案金陵:小鸟依人
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案金陵:千金买邻
 干货   2019-11-12
 
推荐阅读
 
 
 
>>返回首頁<<
 
靜靜地坐在廢墟上,四周的荒凉一望無際,忽然覺得,淒涼也很美
© 2005- 王朝網路 版權所有