现在,越来越多的大项目在使用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确实很火,现在开源的都比较火
纯技术文章,看不懂,哈哈
纯技术文章,看不懂,哈哈