关于用反射来调用webservice,请高手来帮帮忙了

randomfeel 2010-08-11 12:11:08
情况是这样的,有一个webservice的url,访问需要身份验证,但是我有用户名密码
我不用web引用的方式实现

现在尝试访问url后,动态编译成dll,再用反射读这个dll来调用webservice里的方法
但是不知道怎么设置用户名密码

大概代码如下:


Assembly asm = Assembly.LoadFrom("MyTest.dll");
Type t = asm.GetType("TestWebService.Service1");
Object o = Activator.CreateInstance(t);
MethodInfo method = t.GetMethod("HelloWorld");
//下面这行代码,invoke就报错了,因为没有权限,报http401错误
String result= (String)method.Invoke(o, sPara);


请问这样反射后,怎么配置用户名和密码呢?
...全文
337 43 打赏 收藏 转发到动态 举报
写回复
用AI写文章
43 条回复
切换为时间正序
请发表友善的回复…
发表回复
randomfeel 2010-08-30
  • 打赏
  • 举报
回复
up~~~~~
dengxiao1981 2010-08-27
  • 打赏
  • 举报
回复
不会,帮顶.
randomfeel 2010-08-26
  • 打赏
  • 举报
回复
对方那边就是apache有身份验证
对方提供了用户名和密码了

怎么做?
jeven_xiao 2010-08-26
  • 打赏
  • 举报
回复
那你得知道java的webservice
的验证方式
randomfeel 2010-08-26
  • 打赏
  • 举报
回复
[Quote=引用 35 楼 sq_zhuyi 的回复:]
编译前,在service类的构造函数中添加身份验证

public ServiceClass(){
this.Url = "http://www.domain.com/WebService1.asmx";
this.Credentials = new System.Net.NetworkCredential("webserviceuser", "123456");
}
[/Quote]


service那边不是我写的...
对方只能提供webserviceuser、123456
而不可能把这个写在构造函数里去啊
wwfgu00ing 2010-08-25
  • 打赏
  • 举报
回复
http://blog.csdn.net/xiaolei1982/archive/2008/04/15/2294364.aspx
路人乙e 2010-08-25
  • 打赏
  • 举报
回复
编译前,在service类的构造函数中添加身份验证

public ServiceClass(){
this.Url = "http://www.domain.com/WebService1.asmx";
this.Credentials = new System.Net.NetworkCredential("webserviceuser", "123456");
}
bourbon1795 2010-08-23
  • 打赏
  • 举报
回复
不懂,友情帮顶。
qwerrewq888 2010-08-17
  • 打赏
  • 举报
回复
挺深奥的啊
winner2050 2010-08-17
  • 打赏
  • 举报
回复
动态调用 webservice 我也搞过,最后失败了。

先坐下来围观再说。
jrl5365 2010-08-17
  • 打赏
  • 举报
回复
[Quote=引用 13 楼 wylp_19 的回复:]
我承认我是帮顶的
[/Quote]
randomfeel 2010-08-17
  • 打赏
  • 举报
回复
回wanghui0380

webclient那里加Credentials 我也知道
这里是应该这么做

但是下面呢
System.Reflection.Assembly assembly = cr.CompiledAssembly;
Type t = assembly.GetType(@namespace + "." + ClassName, true, true);
object obj = Activator.CreateInstance(t);
System.Reflection.MethodInfo mi = t.GetMethod(MethodName);
return mi.Invoke(obj, args);

这里invoke会报错,这里需要身份认真,怎么写?
randomfeel 2010-08-17
  • 打赏
  • 举报
回复
用soapheader是服务端和客户端相匹配的吧?
问题是我需要的是.net调用别人java的webservice
服务端不受我控制的
chinawes 2010-08-17
  • 打赏
  • 举报
回复
反射不是很明白,帮顶。
inetfuture 2010-08-17
  • 打赏
  • 举报
回复
一直用SoapHeader,帮顶……
凤凰涅檠 2010-08-17
  • 打赏
  • 举报
回复
mark up+关注
randomfeel 2010-08-17
  • 打赏
  • 举报
回复
多谢帮顶呀~

再等等看有没有好的办法既能动态调用又能解决身份认证的问题
wanghui0380 2010-08-12
  • 打赏
  • 举报
回复
代理类.Credentials = new System.Net.NetworkCredential("user", "password");
wanghui0380 2010-08-12
  • 打赏
  • 举报
回复
上面既然使用了WebClient做访问,那么直接使用webclient的身份认证就可以了
长汕 2010-08-12
  • 打赏
  • 举报
回复
给你个链接看看 http://blog.csdn.net/xiaolei1982/archive/2008/04/15/2294364.aspx
加载更多回复(9)

62,041

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术交流专区
javascript云原生 企业社区
社区管理员
  • ASP.NET
  • .Net开发者社区
  • R小R
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

.NET 社区是一个围绕开源 .NET 的开放、热情、创新、包容的技术社区。社区致力于为广大 .NET 爱好者提供一个良好的知识共享、协同互助的 .NET 技术交流环境。我们尊重不同意见,支持健康理性的辩论和互动,反对歧视和攻击。

希望和大家一起共同营造一个活跃、友好的社区氛围。

试试用AI创作助手写篇文章吧