动态调用webservice时如何验证身份?

zqsntws 2011-10-14 10:27:07
原文:http://www.cnblogs.com/RainWaterLily/archive/2008/01/27/1055099.html
的确很牛,可以实现动态调用webservice。但有个问题:如何设置身份验证?哪位达人可以告知,谢谢!
VB中实现的代码如下:
定义个类:clsSoapHeaderHandler

Implements IHeaderHandler
Option Explicit

'used for verification in webservice
Public AuthUser As String 'user name
Public AuthPassword As String 'user password
Private Function IHeaderHandler_readHeader(ByVal par_Reader As MSSOAPLib30.ISoapReader, ByVal par_HeaderNode As MSXML2.IXMLDOMNode, ByVal par_Object As Object) As Boolean
IHeaderHandler_readHeader = False
End Function
Private Function IHeaderHandler_WillWriteHeaders() As Boolean
IHeaderHandler_WillWriteHeaders = True
End Function
Private Sub IHeaderHandler_writeHeaders( _
ByVal pSerializer As SoapSerializer30, _
ByVal pObject As Object)

'generate SOAP XML request message
pSerializer.StartHeaderElement "Authentication", "http://www.ibm.com"

pSerializer.StartElement "Username" 'Matching with SERVICE code
pSerializer.WriteString AuthUser
pSerializer.EndElement

pSerializer.StartElement "Password"
pSerializer.WriteString AuthPassword
pSerializer.EndElement

pSerializer.EndHeaderElement
End Sub

调用的地方:

dim objHeaderHandler as New clsSoapHeaderHandler
dim mysoapClient as SoapClient30

objHeaderHandler.AuthUser = "username"
objHeaderHandler.AuthPassword = "pws"
Set mysoapClient.HeaderHandler = objHeaderHandler
这样就可以把验证信息传给服务器,动态调用webservice时如何把这段转成C#代码?
...全文
159 4 打赏 收藏 转发到动态 举报
写回复
用AI写文章
4 条回复
切换为时间正序
请发表友善的回复…
发表回复
ji85907 2011-10-14
  • 打赏
  • 举报
回复
网上有C#版的 动态调用webservice ,你百度下
zqsntws 2011-10-14
  • 打赏
  • 举报
回复
to HHQSY:那请问如何添加呢?
  • 打赏
  • 举报
回复
除了用户名和密码,还要有别的信息,systemcode 和密码
zqsntws 2011-10-14
  • 打赏
  • 举报
回复
我找到了提到的那篇文章,就是动态调用的,可以实现。现在是动态调用时如何验证身份?应该加个soap头信息,不知如何写?

110,534

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术 C#
社区管理员
  • C#
  • Web++
  • by_封爱
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

让您成为最强悍的C#开发者

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