现在,越来越多的大项目在使用Java,.net出身的我,也参与了一个Java项目的开发,项目也快接近尾声了,算是今年最重要的一个工作。现在公司的.net项目还是不少的,前期用.net开发效率比较高,但是出于成本和开源等多方面的考虑,还是Java比较占优势,现在公司的新项目也都是用Java开发的了。
下面介绍下,在.net项目中如何调用Java项目提供的WebService,留作备忘。
1、首先用Visual Studio 命令提示生成WebService客户端类文件;
wsdl //www.izhangheng.com/ws/webservice?wsdl
2、将生成的类文件拷贝到项目中,在类文件的前面添加AuthenticationHeader类(也可单独类文件),用于调用WebService的验证,代码如下:
[System.Serializable] [System.Xml.Serialization.XmlType(Namespace = "www.izhangheng.com")] [System.Xml.Serialization.XmlRoot(Namespace = "www.izhangheng.com", IsNullable = false)] public class AuthenticationHeader : SoapHeader { public string Token { get; set; } public string qName { get; set; } public string Key { get; set; } }
3、在构造函数中赋值,代码如下:
public AuthenticationHeader AuthenticationHeader{get;set;} /// remarks public WebServiceImplService() { AuthenticationHeader = new AuthenticationHeader { //加密,需与验证方相同加密算法 Token = ConfigurationManager.AppSettings["Token"], qName = "www.izhangheng.com", Key = "AuthenticationHeader" }; this.Url = ConfigurationManager.AppSettings["wsUrl"] ?? "//www.izhangheng.com/ws/webservice"; }
4、最后,在调用的方法前加入标签:
[SoapHeader("AuthenticationHeader")] public Result addOrder(){}
好了,现在就可以正常调用Java的WebService了。
技术文,看不懂哈哈,java确实很火,现在开源的都比较火
技术文,看不懂哈哈,java确实很火,现在开源的都比较火
纯技术文章,看不懂,哈哈
纯技术文章,看不懂,哈哈