dotnet调java webservice C#调java webservice 头部验证 SoapHeader
2012-05-15 13:48
387 查看
这几天帮朋友弄一个dotnet 的webservice调用java webservice程序,java这方为服务器端,提供服务,使用XFire写的,客户端用的是dotnet,我们都知道,webservice是用soap协议传输的,不同语言都支持这个协议dotnet更不用说了,dotnet可以根据提供的wsdl描述语言来生成调用程序,这一步肯定是没有问题的。但wsdl指令并不能生成头部,需要程序员自己手动添加。
问题就出在这个头部信息,先来看一个代码
声明自己携带的头部,这个成员变量作为客户端动态调用程序的一部分
为服务方法声明头部
声明自己的头部类:
username和password是需要验证的参数名称,这个名称必须与提供服务代码的名称一致,
注意红色的字体,这些地方必须和提供服务的那一方一致,否则就不能连接上服务器,并且会产生很多莫名其妙的错误,这些红色的地方区分大小写,以上头部信息产生的xml为:
这个格式必须和服务端的一致,否则请求将会失败
问题就出在这个头部信息,先来看一个代码
声明自己携带的头部,这个成员变量作为客户端动态调用程序的一部分
public MySoapHeader header;
为服务方法声明头部
[System.Web.Services.Protocols.SoapHeaderAttribute("header")] public string method([System.Xml.Serialization.XmlElementAttribute(IsNullable = true)] string p0, [System.Xml.Serialization.XmlElementAttribute(IsNullable = true)] string p0, [System.Xml.Serialization.XmlElementAttribute(IsNullable = true)] string p2)
声明自己的头部类:
[System.Xml.Serialization.XmlTypeAttribute(Namespace = "")] [System.Xml.Serialization.XmlRootAttribute(ElementName = "token", IsNullable = false)] public class MySoapHeader : System.Web.Services.Protocols.SoapHeader { /// <remarks/> public string username; /// <remarks/> public string password; }
username和password是需要验证的参数名称,这个名称必须与提供服务代码的名称一致,
注意红色的字体,这些地方必须和提供服务的那一方一致,否则就不能连接上服务器,并且会产生很多莫名其妙的错误,这些红色的地方区分大小写,以上头部信息产生的xml为:
<header > <token> <username>aaa</username> <password>pp</password> </token> </header>
这个格式必须和服务端的一致,否则请求将会失败
相关文章推荐
- C# 调用Java Webservice 加入SoapHeader 验证信息
- java webservice 用户验证 (服务端 + 客户端)
- java webservice 用户验证 (服务端 + 客户端)
- [已解决]:java webservice 用户验证 (服务端 + 客户端)
- [已解决]:java webservice 用户验证 (服务端 + 客户端)
- c# 调用java webservice带有soapheader
- java webservice 调用
- javaweb发送邮箱验证
- C++调用Java web service帮助文档
- java web 程序---登陆验证注销/重定向session_login.jsp/
- java代码进行post请求带X-WSSE头部验证示例
- java web 程序---登陆验证4个页面
- java webservice小例子
- java web service实例
- java webservice AXIS安装及应用
- [JavaWeb]表单提交的验证(onSubmit和function的应用)
- Silverlight访问Java Webservice策略文件安放位置
- Java WebService 简单实例
- weblogic 9.2 与CXF Service,java.lang.NoSuchMethodError: javax.jws.WebService.portName()Ljava/lan g/String
- java 调用.net web service