| 凯's profile杨凯的个人主页PhotosBlogLists | Help |
|
2/20/2006 Java与.NET 的Web Services相互调用(转自CODEOF.com)一:简介
本文介绍了Java与.NET开发的Web Services相互调用的技术。本文包括两个部分,第一部分介绍了如何用.NET做客户端调用Java写的Web Services,第二部分介绍了如何用Java做客户端调用.NET开发的Web Services。 二:项目需要的工具 Windows2000 Server(IIS) Jbuilder9.0( 含有Tomcat , axis) JDK1.4+Java Web Services Develop VS.Net 2003 备注:如果没有JBuilder的话就需要自己下载安装Tomcat4.1 以及 Axis的开发包,并做相应配置。由于网上有很多这样的文章,这里就不一一说明了。 三:用.NET做客户端调用Java写的Web Services 1. 生成一个Java Web Services 使用JBuilder 生成一个Web Services是非常简单的,我完全是按照它的帮助做的,只要一步步做下去就可以了。具体路径是Developing Web Services -> tutorials : Web Services(Axis) -> Creating a simple Web Services 2. 发布这个Web Services并得到它的WSDL Web Services生成好之后,F9运行这个项目。然后,单击View浏览现有的Web 服务,单击Bean1的WSDL连接,我们可以在浏览器中察看它的WSDL描述。在浏览器地址栏复制WSDL地址,为下一步使用.NET开发客户端调用程序做准备。 3. 用VS.NET生成一个.NET的客户端 新建一个项目(WinForm,ASP.net都可以),我在这里使用的是一个Asp.Net项目。在起始页面上放置一个文本输入框用来显示调用Web Services的结果,放置一个按钮,用来单击调用Web Services。然后,选择添加Web 引用,在WSDL一栏中把刚才得到的WSDL地址复制过来,Web 引用的名称输入JavaService,单击添加引用按钮就可以了。此时,我们可以在VS.net 的Solution Explore中看到这个Web 引用。 在按钮的单击事件中输入下列代码: JavaService.Bean1 bean = new JavaService.Bean1(); 这样,一个.NET客户端就完成了,测试一下,工作正常,OK. 四:用Java做客户端调用.NET写的 Web Services 有了上面的成功,使我以为用Java做客户端调用也是一件十分容易的事情,可实际情况却耗费了我两天时间才得以实现。 1. 用VS.NET新建一个Asp Web Services工程,添加一个web 服务,命名为SumService.asmx。新增一个web method,代码如下: [WebMethod] 然后运行它,并利用IE进行测试成功。 2. 打开jbuilder9.0,新建一个项目,添加一个java class ,命名为TestNetService,输入下列代码: package MyWebServiceJavaClient; 运行上面的java客户端程序,你会发现系统会抛出一个SoapAction异常。奇怪,怎么会错误呢?想到了我开发的asp web services没有指定SoapAction,于是在SumService.asmx中的 [web method] 的上一行添加下列代码: [SoapRpcMethod(Action="http://www.my.com/Rpc",RequestNamespace="http://www.my.com/SU",ResponseNamespace="http://www.my.com/SU")] 重新编译运行asp web services后,在执行java程序,这时会发现输出了正确的结果3。 这样,用java调用.net生成的web services也算初步完成了,好像也不是很复杂是吧。其实,在实际工作中,我一开始并没有在网上找到一个很好的代码例子,全部是依靠jbuilder 和 axis的帮助完成的, 可总是提示什么找不到相应的SoapAction。而实际上,我在运行了asp web services后是可以在IE浏览器中看到那个SoapAction的。我试验过将默认的SoapAction拷贝到java代码中,但是java客户端依然抛出同样的异常,这要我也很迷惑。 五:总结 经过两天的试验,终于从技术上明确了通过Web Services实现.net 与 java的互通是可能的。当然有几点是需要注意的: 1. 在提供Web Services的时候,尽量使用xml schema中支持的变量类型做参数。如果使用.net 中的dataset这种类型,对于java来说解析起来将是一个灾难,当然,理论上是可以解析的。但是从效率角度来说,在Web Services与客户端交换信息的过程中,始终有一个序列化和反序列化的问题。如果使用dataset这种类型,系统还需要对它进行序列化操作,这将是一个很耗费资源的过程。而使用string类型将简单很多。 2. 如果使用了soap header等扩展功能,例如使用了微软提供的WSE技术,它们之间的相互通信需要作特殊处理。 1/15/2006 Microsoft SharePoint Portal ServerMicrosoft SharePoint Portal Server V2 概述
主持人和专家介绍
Host_Linda : 大家好,聊天马上开始了
Host_Linda : 今天的聊天主题是: Microsoft SharePoint Portal Server V2 概述
Host_Linda : 我们请到的是微软全球技术中心的工程师:谢勇
Brian : Hello
Host_Linda : 大家可以开始提问了
提问和回答QA
[Q] 今天主题和windows 2000 管理有关吗?
[A] 应该关系不大。SPSv2是装在Windows 2003上的,而且我们主要讨论是SPSv2
[Q] 请问一下新版本和老版本的区别吧。谢谢。
[A] 这个区别是很大的,可以说spsv2是不是简单的spsv1升级版,spsv2是基于asp.net和sql的。
[Q] 我想知道微软这个sharepoint server和IBM的portal server相比有什么优劣势
[A] 主要来说,SPS和Office整合,文档管理,易用性各方面都很有优势。
[Q] SharePoint Portal Server 到底是什么?一项服务吗?是否只要配置一个服务器即可?
[A] 一个软件服务器。主要用来资源共享,文档管理,网站设置。差不多只要配置一个服务器就可以简单用了
[Q]sharepoint的Webpart和IBM的portlet有什么区别?
[A] sharepoint v2的Webpart是一个asp.net的web control. 可以在sps sdk有详细的资料
[Q] 在客户端无需另外配置?
[A] IE就可以了。当然,如果用Office 2003就可以有更多的功能。
[Q] brian: 请帮忙给出查询的地方,有链接就更好了。
[A] 我们可以在MSDN上查询这些信息: http://msdn.microsoft.com/library/default.asp?url=/library/en-us/spptsdk/html/SPPTWPFProgTasks.asp
[Q] dose sps support web services and how?
[A] Yes, SPS support web service. For more information, please check the following: http://msdn.microsoft.com/library/default.asp?url=/library/en-us/spptsdk/html/SPPTSPSWebServices.asp
[Q] v2 : 请问,v2内置pop3么
[A] 没有,spsv2和Pop3应该没什么关系
[Q] Microsoft SharePoint Portal Server V2是个什么东东?
[A] 一个协作软件。主要用来资源共享,文档管理,网站设置。
[Q] 能否和Team Service比较一下?
[A] SPSv2已经没有独立的team service. 他已经整合入spsv2了
[Q] 能否和Team Service比较一下?
[A] SPSv2是一个企业级的Portal. 原来的team service适合于小型的team使用 已经没有独立的team service. 他已经整合入spsv2了
[Q] 还有部署SPSV2究竟可以获得什么好处?他可以给我们的工作方式带来什么样的改变?
[A] 把独立的工作程序结合起来。他让我们可以整合资源。
[Q] v2能否在共享文档区域提供更方便的文件间管理功能
[A] 默认没有文件级管理。可能可以通过编程实现
[Q] v2能否在共享文档区域提供更方便的文件间管理功能 v2 : 比如,建立文件夹等
[A] 当然建立文件夹是可以的。我是说不能设文件级别的权限
[Q] 能否说具体点,Sharepoint(就是你说的那个SPS把?)和office有些什么样的整合?对于团队合作开发有什么好处?
[A] 例如,word 文档可以直接上传到Sharepoint工作区。所有人都可以立即看到这个文档。
[Q] 另外v2的正式版何时发布,免费么?
[A] 中文版可能会在10月底。不是免费的,但是有试用版。
[Q] Microsoft SharePoint Portal Server V2具体用在什么样的平台上?适合于哪些用户?
[A] Microsoft SharePoint Portal Server V2要在windows 2003 server上。并要有asp.net和iis 6。适用于所有的企业和团队应用
[Q] 另外一个问题,如果我自己开发一个webpart,怎么把他加入到已有的share point server中?
[A] 可以看一下 http://msdn.microsoft.com/library/default.asp?url=/library/en-us/spptsdk/html/CreateABasicWP.asp
[Q] 我是说文件夹的管理,比如在共享文档区自由建立树状文件夹,以便于文件管理
[A] 这个需要自己写web part. Microsoft可能以后会提供这样的例子
[Q] sharepoint支持98吗?
[A] 客户端可以是98。但是服务器一定要windows 2003
[Q] sharepoint可以共享linux文档吗?
[A] 应该说任何文档都可以共享。
[Q] 中文版什么时候出?
[A] 大约10月底
[Q] 哪里有试用版下载?
[A] 现在没有。以后会在www.microsoft.com/sharepoint
[Q] linux可以做服务器吗?
[A] spsv2只支持装在windows 2003上
[Q] 对了,SPS会有漏洞吗?会被人攻击吗?
[A] sps是由 IIS 来保护的
[Q] 可以对主页作比较大的调整么,自己。
[A] 可以。用frontpage 2003
[Q] 如果不使用SPS,Office2003有什么好的方法进行团队协作工作?
[A] 应该说很难。除非自己写一个程序。SPS是最好的办法了。
[Q] v2有没有使用人数限制?
[A] 基本上没有。只要服务器的performance撑得住
[Q] 能否像v1一样简单,不需要做很多工作,拿来安装上并简单配置就可以使用?
[A] 完全可以,而且比v1更好
[Q] 相对于v1这次升级的最实际意义?对用户而言?
[A] see http://www.microsoft.com/office/preview/sharepoint/whats_new_sps.asp
[Q] 会与server 2003捆绑销售么?
[A] 不会。Sps是属于Office 2003 system的
[Q] SPS是否跟IE一样?也是微软"借鉴"了某个其它厂商的软件开发而来?
[A] SPSv2是全新的。没有借鉴。它用asp.net开发的
[Q] 在微软课堂上,当时老师说这是免费的
[A] 老师可能说的是windows sharepoint service.不是sharepoint portal server 2003.windows sharepoint service是免费的
[Q] web访问是否安全?
[A] 微软会提供专门的文档来指导用户如何安全配置sps
[Q] 可不可以基于sharepoint portal server开发£然后发布用windows sharepoint serice
[A] windows sharepoint serice是sharepoint portal server的基础。很多组件是通用的。大多数在sharepoint portal server开发可以用在windows sharepoint serice
[Q] windows sharepoint service.和sharepoint portal server 2003有何区别?sts的升级产品是哪一款?
[A] sharepoint portal server 2003是企业综合级的,多了一些功能。sts的升级产品是windows sharepoint service
[Q] SPS2003是第二版,对前一版本功能有很大的增强。相信会是一个稳定的产品。
[Q] SPS的Services Pack1已经出来了吗?
[A] SPS2001又Service pack1。但SPS2003还没有正式Release,也就不会有Service pack
[Q] windows sharepoint service.和sharepoint portal server 2003哪一个是sts的升级?
[A] Windows SharePoint Services
[Q] 可不可以用来开发INTERNET站点?总是要WINDOWS验证吗?
[A] 当然可以,但既然有现成的验证WINDOWS验证
结束语
Host_Linda : 本次聊天就要结束了,非常感谢大家的参与,也感谢主持人的解答
Host_Linda : 本次聊天记录经过整理后将发表在微软中国社区站点上
Host_Linda : 有关在线聊天的更多安排,请访问微软社区网站http://www.microsoft.com/china/community/
Host_Linda : 如果有些问题还没有得到解答,欢迎大家到微软中文新闻组参与讨论。
Host_Linda : 微软为Share Point专门开了两个中文新闻组
Host_Linda : 新闻组服务器地址为:msnews.microsoft.com。
Host_Linda : 再次谢谢大家的参与,也祝大家国庆节快乐! |
|
||||
|
|