Входная строка была не в правильном формате - PullRequest
2 голосов
/ 13 мая 2011

У меня есть две функции веб-службы, которые имеют точно такой же интерфейс (вызов из приложения C # / Winform):

string[] f1(int, string[]) и string[] f2(int, string[])

, на который я отправляюточно такие же данные.Когда я вызываю f1, он работает просто отлично и возвращает строку [], однако, когда я вызываю f2, я получаю SOAPException, говоря, что «входная строка не является правильным форматом».

Что может быть причиной того, что один из них работает, а другой не работает?

    private void backgroundWorkerUploadNew_DoWork(object sender, DoWorkEventArgs e)
    {
        List<String> submittedList = new List<String>();
        StreamReader reader = new StreamReader(this.textBoxFilename.Text);
        String data;

        while ((data = reader.ReadLine()) != null)
        {
            submittedList.Add(data);
        }
        reader.Close();
        // Send array of handset names to service
        int channelId = 0;
        string[] listToSubmit = submittedList.ToArray();
        channelId = AppStatus.CurrentChannel.ChannelID;
        String[] newHandsetsList = service.Function2(channelId, listToSubmit);
        ...
    }

Метод веб-службы

public List<String> Function2(int integer, List<String> strings)
{
    List<String> newList = new List<string>();
    DataTable tempDt = null;
    foreach (String s in strings)
    {
        String q = @"** SOME QUERY **";
        tempDt = Database.RunSql(q);
        ...
    }
    return newList;
}

1 Ответ

2 голосов
/ 13 мая 2011

Это сообщение приходит от метода Parse (для числовых типов, DateTime и т. Д.). Если компьютеры используют разные культуры, правильный формат будет другим. Если это проблема, вы можете решить ее, используя инвариантную культуру.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...