C# 调用Java Webservice 加入SoapHeader 验证信息

时间:2023-03-09 05:11:55
C# 调用Java Webservice 加入SoapHeader 验证信息

C#调用java 编写的webservice时不会自动生成 soapheader 类接口的,需要改动Reference.cs
在生成的代理类referende.cs中进行如下操作:

一、在声明public new string Url{....}前声明 public AuthenticationToken header { get; set; },然后在相应位置添加

/// <remarks/>
[System.CodeDom.Compiler.GeneratedCodeAttribute("System.Xml", "4.0.30319.17929")]
[System.SerializableAttribute()]
[System.Diagnostics.DebuggerStepThroughAttribute()]
[System.ComponentModel.DesignerCategoryAttribute("code")]
public class AuthenticationToken : System.Web.Services.Protocols.SoapHeader
{
/// <remarks/>
public string Username{ get; set; } //要传入的账号 /// <remarks/>
public string Password { get; set; } //要传入的密码
}
二、  在要调用的接口的方法前添加(注:Referende.cs 中的方法)
        /// <remarks/>
[System.Web.Services.Protocols.SoapHeaderAttribute("header")]
三、页面中调用用方法
 GuestService gs = new GuestService(); //引用的服务
AuthenticationToken t = new AuthenticationToken();
t.Username = "admin123";
t.Password = "admin123";
gs.header = t;
gs.methodName();