Передать XML из файла в WCF: загрузить как переменные или передать как строку? - PullRequest
0 голосов
/ 25 февраля 2012

Хорошо, я понял, как использовать веб-сервис с использованием WCF. Я использую XMLReader для чтения данных XML в переменные. Затем я использую вызов метода сервиса для передачи переменных. Тем не менее, я получаю предупреждение о том, что «Обнаружен недоступный код». Я использую Visual Web Developer 2010 Express и приложение на C #.

Я хочу, чтобы переменные были доступны вне регистра переключателя XMLreader. Может кто-нибудь сказать мне, как это сделать? Или вы можете показать мне пример того, что было бы лучше использовать? Я искал, но не могу найти хороший учебник, сочетающий передачу XML из файла в виде строки с использованием WCF. Спасибо !!

using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Web.UI;
using System.Web.UI.WebControls;
using System.Web.UI.WebControls.WebParts;
using System.Web.UI.HtmlControls;
using System.Text;
using System.Xml;
using System.Net;
using System.Threading;
using System.Data;
using System.IO;
using System.Drawing;
using System.ComponentModel;
using System.Configuration;
using System.Xml.Linq;
using ws = wsCallData;



public partial class _Default : System.Web.UI.Page
{
protected void Page_Load(object sender, EventArgs e)
{

}
protected void Button1_Click(object sender, EventArgs e)
{
    string FName; string LName; string Email;


    ws.AuthenHead header = new ws.AuthenHead();
    header.Username = ""; header.Password = "";

    ws.Importer myService = new ws.Importer();
    myService.AuthenHead = header;

    ws.SoapClient serv = new ws.SoapClient();

    string path = "C:\\Websites\\SOAPClient\\order.xml";

    using (XmlReader reader = XmlReader.Create(path))
    {
        while (reader.Read())
        {
            // Only detect start elements.
            if (reader.IsStartElement())
            {
                // Get element name and switch on it.
                switch (reader.Name)
                {
                    case "FName":
                        // Detect this element.
                        //Console.WriteLine("Start <perls> element.");
                        if (reader.Read())
                        {
                            FName = reader.Value.Trim();
                            lbNodes.Items.Add(FName);
                            myService.FName = FName;
                        }
                        break;
                    case "LName":
                        // Detect this article element.
                        // Next read will contain text.
                        if (reader.Read())
                        {
                            //Console.WriteLine("  Text node: " + reader.Value.Trim());
                            //MessageBox.Show("LName valude: " + reader.Value.Trim());
                            LName = reader.Value.Trim();
                            lbNodes.Items.Add(LName);
                            myService.LName = LName;

                        }
                        break;
                    case "Email":
                        // Detect this element.
                        if (reader.Read())
                        {
                            Email = reader.Value.Trim();
                            lbNodes.Items.Add(Email);
                            myService.Email = Email;
                        }
                        break;



                        myService.AuthenHead = header;
                        header = myService.AuthenHead;
                        FName = myService.FName;
                        LName = myService.LName;
                        Email = myService.Email;


                        lbNodes.Items.Add("TEST: " + FName + " " + LName);
                        string response;
                        response = serv.ImportLead(header, FName, LName, Email);

                        Label1.Text = response;

                        break;

                }

            }



        }
        reader.Close();

       //To DELETE the XML file after successful transmission uncomment the following line
        //File.Delete(path);

Это было обновлено и работает. Сейчас я получаю ответ, что имя пользователя и пароль неверны. Пока я не получаю известие от компании, предоставляющей веб-услуги, о правильных учетных данных, я думаю, что зашел настолько далеко, насколько смог.

Спасибо за предложения!

...