C#调用WebService的方式有很多:
1、直接在项目中添加WebService引用,这种方式比较简单,但不是动态的,即每次服务地址或者内容变了之后都要重新添加引用。
2、使用SoapHttpClientProtocol,这种方式需要把添加WebService引用生成的Reference.cs类中服务接口,集成进自己定义的服务调用类中,服务调用类继承自SoapHttpClientProtocol,如果服务接口发生了改变,需要修改服务调用类。示例代码如下:
public class MySoapHttpClientProtocol : SoapHttpClientProtocol
{
public MySoapHttpClientProtocol(string url)
{
Url = url;
}
[SoapHeader("ClientContext")]
[System.Web.Services.Protocols.SoapDocumentMethodAttribute("", RequestNamespace = MyNamespace,
ResponseNamespace = MyNamespace, Use = System.Web.Services.Description.SoapBindingUse.Literal,
ParameterStyle = System.Web.Servi