Хорошо, я понял, как использовать веб-сервис с использованием 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);
Это было обновлено и работает. Сейчас я получаю ответ, что имя пользователя и пароль неверны. Пока я не получаю известие от компании, предоставляющей веб-услуги, о правильных учетных данных, я думаю, что зашел настолько далеко, насколько смог.
Спасибо за предложения!