【发布时间】:2014-09-23 03:19:38
【问题描述】:
我在从外部 Web 服务生成对象时遇到了一些麻烦。
我使用 http://./ucs-ws?requserstatus&user=testuser 之类的 httpRequest 调用 Web 服务
WebserviceClient.cs
public string UserStatus(string userName)
{
string req = "req=userStatus";
string user = "user=" + userName;
string result;
using (WebClient proxy = new WebClient())
{
proxy.Headers["Authorization"] = "Basic " + Convert.ToBase64String(Encoding.Default.GetBytes("br:br"));
proxy.Headers.Add(HttpRequestHeader.Accept, "application/xml");
try
{
var response = proxy.DownloadString(webServiceBasePath + req + "&" + user);
result = response;
}
catch (Exception)
{
return "Web Service not available. Please contact the Administrator";
}
}
return result;
}
我从外部网络服务得到的响应是
<Result>
<UserStatus
Status="34"
StatusFrom="140729143619"
ClientType="4"
LogOnServer="NcoreConnect"
SIPServer="10.16.3.10"
Device="tel:201"
DeviceStatus="0"
DeviceStatusFrom="140729134828"
ServerTime="140731090408"
IsLoggedOn="True"
IsAgent="True"
CallCount="0"
AnsweredCount="0"
Interactions=""
Message=""
SessionID="a123a38d-d00d-47c0-af03-2b63f40fb8a6"
DiversionStatus="0"
DiversionDestination=""
OldMessageCount="0"
NewMessageCount="0">testuser
</UserStatus>
</Result>
我需要创建一个 userStatus 对象,我可以将其添加到列表中。使用来自 userStatus 的变量。
任何人都知道是否有一种聪明的方法可以做到这一点,所以你有这样的课程:
用户状态.cs
public class UserStatus
{
[XmlElement("UserStatus")]
public string UserName; // testuser
public string Status;
public string StatusFrom;
public string ClientType;
public string LogOnServer;
...
}
如果有人可以帮助我或引导我走向正确的方向,那就太好了。
【问题讨论】:
标签: asp.net xml web-services xml-deserialization