0

我有一个如下所示的网络服务:

                      POST /mobileservice.asmx HTTP/1.1
Host: services.segwaycommunications.com
Content-Type: text/xml; charset=utf-8
Content-Length: length
SOAPAction: "http://services.segwaycommunications.com/ValidateUser"

<?xml version="1.0" encoding="utf-8"?>
<soap:Envelope xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/">
  <soap:Header>
    <PlatformAuthentication xmlns="http://services.segwaycommunications.com">
      <UserName>string</UserName>
      <Password>string</Password>
    </PlatformAuthentication>
  </soap:Header>
  <soap:Body>
    <ValidateUser xmlns="http://services.segwaycommunications.com">
      <username xmlns="">string</username>
      <password xmlns="">string</password>
      <resellerid xmlns="">int</resellerid>
    </ValidateUser>
  </soap:Body>
</soap:Envelope>

现在,正如我们在这里看到的,soap 标头需要通过类 platformauthentication 进行身份验证。

谁能帮助我如何使用此网络服务在 Windows Phone 7/8 应用程序中进行身份验证?

我搜索了很多,但没有给我一个合适的解决方案。

谢谢,如果有人可以提供帮助。

4

1 回答 1

0

根据我的观点,Json 解析是最好的

所以首先你需要下载 Newtonsoft.Json dll 来解析网络服务

只需按照以下步骤

步骤1:通过右键单击添加引用来添加服务引用。

步骤2:现在将您的Web服务链接放在服务引用上并按go按钮,并添加服务引用的命名空间 在此处输入图像描述

第 3 步:Newtonsoft.Json.Linq;现在在 .cs 文件中 添加使用名称空间

第4步:现在在您的cs文件中添加波纹管代码

 WhatsupServices.WhatsUpServiceSoapClient ws = new WhatsupServices.WhatsUpServiceSoapClient();
ws.ContactUsJSONCompleted += ws_ContactUsJSONCompleted;
ws.ContactUsJSONAsync(txtContactUsName.Text, txtContactUsPhone.Text, txtContactUsEmail.Text, txtContactUsComment.Text);

step6:现在生成你的响应方法

 void ws_ContactUsJSONCompleted(object sender, dynamic e)
        {
            if (e.Error != null)
            {
                MessageBox.Show(LogIn.NetworkBusyMsg, LogIn.MsgHdr, MessageBoxButton.OK);
                busyIndicator.IsRunning = false;
            }
            else
            {
                busyIndicator.IsRunning = false;
                string Result = e.Result;
                JObject obj = JObject.Parse(Result);
                string ResultCode = (string)obj["ResultCode"];
                string ResponceMessage = (string)obj["ResponseMessage"];

                if (ResultCode == "1")
                {
                    MessageBox.Show("Thank you for your message. We'll get back to you soon.", LogIn.MsgHdr, MessageBoxButton.OK);
                    NavigationService.GoBack();
                }
                else
                {

                }
            }
        }

希望它会帮助你。

如果有任何疑问而不是在这里发表评论。我会帮助你

肥皂头认证

肥皂头身份验证解决堆栈溢出问题

使用soap标头的Web服务的自定义身份验证

使用 SOAP 标头验证客户端

于 2013-09-10T10:38:50.003 回答