C# 调用使用 Java 编写的带用户名密码验证的 WebService

最近项目里面需要调用一个接口,开发方是使用 Java 开发的,而我这边是使用 C# 编写的代码。在添加了服务引用以后,并没有在提供的方法或属性里面找到输入用户名和密码的地方。

结果研究了两天发现,只需要按照接口开发方提供的字段名称,把 Headers 写在自动生成的 app.config 中 endpoint 节点即可。

这是接口开发方给的部分代码:

System.out.println("开始查找用户信息");
List<Header> headers = sope.getHeaders();
if (headers == null || headers.size() < 1) {
    throw new Fault(new IllegalArgumentException("找不到 Header。"));
}
Header header = headers.get(0);
Element el = (Element)header.getObject();
NodeList users = el.getElementByTagName("username");
NodeList passwords = el.getElementByTagName("password");
if (users.getLength() < 1) {
    throw new Fault(new IllegalArgumentException("找不到用户信息。"));
}
String username = users.item(0).getTextContent().Trim();
if (passwords.getLength() < 1) {
    throw new Fault(new IllegalArgumentException("找不到用户密码。"));
}
String password = passwords.item(0).getTextContent().Trim();

我这边的 app.config 文件如下:

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值