Меню

Ошибка при десериализации ответа

Ошибка при десериализации ответа.
 XML


Индекс форума
» Компонент МЕРКУРИЙ
Автор Сообщение

[Post New]20/12/2019 12:09:19

    

Тема: Ошибка при десериализации ответа.

[Up]

Гасан

Зарегистрирован: 11/11/2017 13:13:22
Сообщений: 69

Оффлайн



Ошибка при десериализации ответа модуль выдает ошибку. У кого то было такая ошибка или кто знает ?


[Post New]20/12/2019 12:23:06

    

Тема: Ошибка при десериализации ответа.

[Up]

egais2018

Зарегистрирован: 08/06/2018 15:12:57
Сообщений: 282

Оффлайн



Это точно кто знает такой ошибка странный. В понятно какой модуле ее вижу. Было у кого-то? XD


[Post New]20/12/2019 12:26:08

    

Тема: Re:Ошибка при десериализации ответа.

[Up]

Гасан

Зарегистрирован: 11/11/2017 13:13:22
Сообщений: 69

Оффлайн



В модуле меркурий начало писать


[Post New]20/12/2019 12:38:21

    

Тема: Re:Ошибка при десериализации ответа.

[Up]

Yoreg07

Зарегистрирован: 21/07/2016 06:41:02
Сообщений: 570

Оффлайн



Ну не знаю … у меня всё работает


[Post New]21/12/2019 15:33:43

    

Тема: Ошибка при десериализации ответа.

[Up]

hawksib

[Avatar]

Зарегистрирован: 04/08/2017 08:44:20
Сообщений: 179

Оффлайн


Гасан wrote:Ошибка при десериализации ответа модуль выдает ошибку. У кого то было такая ошибка или кто знает ?

у меня всякие разные ошибки были, я всё исправил


 


Индекс форума
» Компонент МЕРКУРИЙ

Перейти: 

 

Столкнулся с ошибкой при десериализации ответа от api.vk.com.

static void Main(string[] args)
{
    string url = "https://api.vk.com/method/messages.getChatUsers?chat_id=101&v=5.74&access_token=тут мой токен";

    HttpWebRequest req = WebRequest.Create(url) as HttpWebRequest;
    if (req != null)
    {
        HttpWebResponse res = req.GetResponse() as HttpWebResponse;

        StreamReader stream = new StreamReader(res.GetResponseStream(), Encoding.GetEncoding("utf-8"));

        Console.WriteLine(stream.ReadToEnd());

        var item = JsonConvert.DeserializeObject<RootObject>(stream.ReadToEnd());

        Console.WriteLine(item.users[1]);
    }
    Console.ReadKey();
}
public class RootObject
{
    public List<int> users { get; set; }
}

введите сюда описание изображения

Сам ответ от API:
{"response":[218803928,317010917,179681066,173431607,356408021,421702993,295920106,121375474,261654407,322744642,307578021,384790605,223522189,141711244,286562711,204691290,343742090,474494798,237102289,478504542,177436279,196611542,66950243,189052497,331084770,421534614,225194958,224984110,204442992,48511162,436569015,253920936,460621648]}

  • Remove From My Forums
  • Question

  • I m consuming a third party WCF service. The get menthod is taking request class object and its return type is a response class object.I m getting the above error when calling the get method.I have increased the
    maxStringContentLength and maxdepth
    to 2147483647 then also i m getting same error.Here is the Stack Trace:

    Thanks in advance…

    Server stack trace:
       at System.ServiceModel.Dispatcher.XmlSerializerOperationFormatter.DeserializeBody(XmlDictionaryReader reader, MessageVersion version, XmlSerializer serializer, MessagePartDescription returnPart, MessagePartDescriptionCollection bodyParts, Object[]
    parameters, Boolean isRequest)
       at System.ServiceModel.Dispatcher.XmlSerializerOperationFormatter.DeserializeBody(XmlDictionaryReader reader, MessageVersion version, String action, MessageDescription messageDescription, Object[] parameters, Boolean isRequest)
       at System.ServiceModel.Dispatcher.OperationFormatter.DeserializeBodyContents(Message message, Object[] parameters, Boolean isRequest)
       at System.ServiceModel.Dispatcher.OperationFormatter.DeserializeReply(Message message, Object[] parameters)
       at System.ServiceModel.Dispatcher.ProxyOperationRuntime.AfterReply(ProxyRpc& rpc)
       at System.ServiceModel.Channels.ServiceChannel.HandleReply(ProxyOperationRuntime operation, ProxyRpc& rpc)
       at System.ServiceModel.Channels.ServiceChannel.Call(String action, Boolean oneway, ProxyOperationRuntime operation, Object[] ins, Object[] outs, TimeSpan timeout)
       at System.ServiceModel.Channels.ServiceChannel.Call(String action, Boolean oneway, ProxyOperationRuntime operation, Object[] ins, Object[] outs)
       at System.ServiceModel.Channels.ServiceChannelProxy.InvokeService(IMethodCallMessage methodCall, ProxyOperationRuntime operation)
       at System.ServiceModel.Channels.ServiceChannelProxy.Invoke(IMessage message)

    Exception rethrown at [0]:
       at System.Runtime.Remoting.Proxies.RealProxy.HandleReturnMessage(IMessage reqMsg, IMessage retMsg)
       at System.Runtime.Remoting.Proxies.RealProxy.PrivateInvoke(MessageData& msgData, Int32 type)
       at ContractName.getmethod(request request)
      

    If anybody here has any ideas that might help
    I would greatly appreciate it.  This is fairly new to me.

Answers

    • Marked as answer by

      Friday, February 3, 2012 9:15 AM

  • Is this 3rd party WCF service workable somewhere else? I mean is this getReport working in some other application or not? I feel like the response object must be having some problem like

    — Some member which cannot be serialized properly.

    You should check with the WCF service provider (vendor)


    ViBi

    • Marked as answer by
      Yi-Lun Luo
      Friday, February 3, 2012 9:15 AM

  • Remove From My Forums
  • Question

  • I m consuming a third party WCF service. The get menthod is taking request class object and its return type is a response class object.I m getting the above error when calling the get method.I have increased the
    maxStringContentLength and maxdepth
    to 2147483647 then also i m getting same error.Here is the Stack Trace:

    Thanks in advance…

    Server stack trace:
       at System.ServiceModel.Dispatcher.XmlSerializerOperationFormatter.DeserializeBody(XmlDictionaryReader reader, MessageVersion version, XmlSerializer serializer, MessagePartDescription returnPart, MessagePartDescriptionCollection bodyParts, Object[]
    parameters, Boolean isRequest)
       at System.ServiceModel.Dispatcher.XmlSerializerOperationFormatter.DeserializeBody(XmlDictionaryReader reader, MessageVersion version, String action, MessageDescription messageDescription, Object[] parameters, Boolean isRequest)
       at System.ServiceModel.Dispatcher.OperationFormatter.DeserializeBodyContents(Message message, Object[] parameters, Boolean isRequest)
       at System.ServiceModel.Dispatcher.OperationFormatter.DeserializeReply(Message message, Object[] parameters)
       at System.ServiceModel.Dispatcher.ProxyOperationRuntime.AfterReply(ProxyRpc& rpc)
       at System.ServiceModel.Channels.ServiceChannel.HandleReply(ProxyOperationRuntime operation, ProxyRpc& rpc)
       at System.ServiceModel.Channels.ServiceChannel.Call(String action, Boolean oneway, ProxyOperationRuntime operation, Object[] ins, Object[] outs, TimeSpan timeout)
       at System.ServiceModel.Channels.ServiceChannel.Call(String action, Boolean oneway, ProxyOperationRuntime operation, Object[] ins, Object[] outs)
       at System.ServiceModel.Channels.ServiceChannelProxy.InvokeService(IMethodCallMessage methodCall, ProxyOperationRuntime operation)
       at System.ServiceModel.Channels.ServiceChannelProxy.Invoke(IMessage message)

    Exception rethrown at [0]:
       at System.Runtime.Remoting.Proxies.RealProxy.HandleReturnMessage(IMessage reqMsg, IMessage retMsg)
       at System.Runtime.Remoting.Proxies.RealProxy.PrivateInvoke(MessageData& msgData, Int32 type)
       at ContractName.getmethod(request request)
      

    If anybody here has any ideas that might help
    I would greatly appreciate it.  This is fairly new to me.

Answers

    • Marked as answer by

      Friday, February 3, 2012 9:15 AM

  • Is this 3rd party WCF service workable somewhere else? I mean is this getReport working in some other application or not? I feel like the response object must be having some problem like

    — Some member which cannot be serialized properly.

    You should check with the WCF service provider (vendor)


    ViBi

    • Marked as answer by
      Yi-Lun Luo
      Friday, February 3, 2012 9:15 AM

  • Remove From My Forums
  • Question

  • Hi, I am developing an app which user WCF data service. The JSON response contains «&id» and «$ref» keywords. I want to deserialize that JSON with NewtonSoft lib. So I tried to develop classes for JSON so I used www.json2csharp.com
    but it doesn’t give me proper class structures. So I update classes with this

    [DataMember(Name = "$id", EmitDefaultValue = false)]
    public string Id { get; set; }

    Then also not working. While searching I found
    a way, but it uses JavaScript. So please help to solve my this problem. Web service uses entity framework and it’s WCF Service Library project. The sample JSON response is like
    this.

    • Changed type

      Monday, February 4, 2013 11:12 AM

Answers

  • I am not having problem with @, & and $ chars but I was facing problems when there is foreign key reference is in JSON response. I need class definitions for
    that so I added entity framework’s class definition DLL but it didn’t support in Windows Store App. Then I added manually classes but then I get to know that 
    System.Collections.Generic.List<T>
    ForEach method is missing in Windows 8 Runtime, hence I added the extension method and it is working now. I will post here if I found any other error.

    • Marked as answer by
      Matt SmallMicrosoft employee, Moderator
      Tuesday, February 12, 2013 4:49 PM

  • Remove From My Forums
  • Question

  • Hi, I am developing an app which user WCF data service. The JSON response contains «&id» and «$ref» keywords. I want to deserialize that JSON with NewtonSoft lib. So I tried to develop classes for JSON so I used www.json2csharp.com
    but it doesn’t give me proper class structures. So I update classes with this

    [DataMember(Name = "$id", EmitDefaultValue = false)]
    public string Id { get; set; }

    Then also not working. While searching I found
    a way, but it uses JavaScript. So please help to solve my this problem. Web service uses entity framework and it’s WCF Service Library project. The sample JSON response is like
    this.

    • Changed type

      Monday, February 4, 2013 11:12 AM

Answers

  • I am not having problem with @, & and $ chars but I was facing problems when there is foreign key reference is in JSON response. I need class definitions for
    that so I added entity framework’s class definition DLL but it didn’t support in Windows Store App. Then I added manually classes but then I get to know that 
    System.Collections.Generic.List<T>
    ForEach method is missing in Windows 8 Runtime, hence I added the extension method and it is working now. I will post here if I found any other error.

    • Marked as answer by
      Matt SmallMicrosoft employee, Moderator
      Tuesday, February 12, 2013 4:49 PM

MakcPletnev

41 / 37 / 9

Регистрация: 01.02.2014

Сообщений: 825

1

Ошибка десериализации объекта

05.04.2016, 00:24. Показов 5630. Ответов 9

Метки нет (Все метки)


Ошибка десериализации объекта типа RespGroup1. Символы с шестнадцатеричными значениями 0xFFFE и 0xFFFF являются недопустимыми

В общем, не может дисериализировать такой вот JSON (Именно этот пример, плейлист большинства дисериализирует без проблем, 1 раз такая проблема):

JSON
1
http://rghost.ru/private/6f7ljsrHg/3a189b713a9234a1c8060046ce5eb779 - на форум не влезло...

Код:

C#
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
[DataContract]
        public class RespGroup1
        {
            [DataMember(Name = "response")]
            public RespGroup2[] response { get; set; }
        }
        [DataContract]
        public class RespGroup2
        {
            [DataMember(Name = "count")]
            public string count { get; set; }
            [DataMember(Name = "items")]
            public Person[] items { get; set; }
        }
        [DataContract]
        public class Person
        {
            /*[DataMember(Name = "id")]
            public string id { get; set; }*/
 
            [DataMember(Name = "owner_id")]
            public string owner_id { get; set; }
            [DataMember(Name = "artist")]
            public string artist { get; set; }
            [DataMember(Name = "title")]
            public string title { get; set; }
 
            /*[DataMember(Name = "duration")]
            public string duration { get; set; }
            [DataMember(Name = "date")]
            public string date { get; set; }
            [DataMember(Name = "url")]
            public string url { get; set; }
            [DataMember(Name = "lyrics_id")]
            public string lyrics_id { get; set; }
            [DataMember(Name = "genre_id")]
            public string genre_id { get; set; }*/
        }
 
DataContractJsonSerializer json = new DataContractJsonSerializer(typeof(RespGroup1));
RespGroup1 person = (RespGroup1)json.ReadObject(new System.IO.MemoryStream(Encoding.Unicode.GetBytes(html)));

Помогите пожалуйста, добрые люди)

Добавлено через 13 секунд
Кому не сложно, подскажите…

Добавлено через 9 минут
Ev_Hyper, была бы очень кстати твоя помощь сейчас)

__________________
Помощь в написании контрольных, курсовых и дипломных работ, диссертаций здесь



0



Jason

525 / 487 / 98

Регистрация: 25.12.2011

Сообщений: 1,176

05.04.2016, 00:37

2

Просили — помогаю . Да вроде ничего сложного, Items — будет массив классов:

C#
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
        static void Main(string[] args)
        {
            DataContractJsonSerializer json = new DataContractJsonSerializer(typeof(Music));
            string fileContent = System.IO.File.ReadAllText(@"E:1.txt");
            Music music = (Music)json.ReadObject(new System.IO.MemoryStream(Encoding.UTF8.GetBytes(fileContent)));
            Console.WriteLine(music.items[1].artist);
            Console.ReadLine();
        }
 
        [DataContract]
        public class Music
        {
            [DataMember(Name = "count")]
            public string count { get; set; }
            [DataMember(Name = "items")]
            public Item[] items { get; set; }
 
            [DataContract]
            public class Item
            {
                [DataMember(Name = "id")]
                public string id { get; set; }
                [DataMember(Name = "owner_id")]
                public string owner_id { get; set; }
                [DataMember(Name = "artist")]
                public string artist { get; set; }
                [DataMember(Name = "title")]
                public string title { get; set; }
                [DataMember(Name = "duration")]
                public string duration { get; set; }
                [DataMember(Name = "date")]
                public string date { get; set; }
                [DataMember(Name = "url")]
                public string url { get; set; }
                [DataMember(Name = "lyrics_id")]
                public string lyrics_id { get; set; }
                [DataMember(Name = "genre")]
                public string genre { get; set; }
            }
        }

P.S. Только я удалил — {«response»:[ в начале и ]} в конце (для удобства).



0



41 / 37 / 9

Регистрация: 01.02.2014

Сообщений: 825

05.04.2016, 00:44

 [ТС]

3

Jason, попробуй это: https://yadi.sk/d/YG60-YYiqjhe9
Вот тут точно выбьет ошибку… Только что выковырнул кусок

Добавлено через 4 минуты
p.sы, там несколько блоков



0



525 / 487 / 98

Регистрация: 25.12.2011

Сообщений: 1,176

05.04.2016, 00:45

4

Это уже издевательство, был пример выше, я его разобрал, а тут на 6 метров не пойми чего, я это нормально даже прочитать не могу.



0



41 / 37 / 9

Регистрация: 01.02.2014

Сообщений: 825

05.04.2016, 00:46

 [ТС]

5

Jason, это тот же самый json , с описанием из шапки. Фишка в том, что выдает ошибку
«Символы с шестнадцатеричными значениями 0xFFFE и 0xFFFF являются недопустимыми», надо решить вопрос именно с ней…



0



Jason

525 / 487 / 98

Регистрация: 25.12.2011

Сообщений: 1,176

05.04.2016, 01:59

6

Вот так нужно было урезать структуру:

JSON
1
{"response":[{"count":1,"items":[{"id":456239020,"owner_id":35541739,"artist":"Response 1 - 1","title":"Du bist nicht allein","duration":241,"date":1459553197,"url":"http://cs4505.vk.me/u690598/audios/f1f28c909424.mp3?extra=fSUfByfOF6k73qvvAYQ6YdFm0hz-srnBbJtn1VsuTJQTMkm0O-Sw1HNGmM17MQoXoEpuNVSnGlRWpSFwxVH4OYJGY7SSGX6iZFFzTPFIdYoHK77MCKZFLm-AVxt6CX0SvMAoYRbvHDwQ","genre_id":18}]},{"count":2,"items":[{"id":456239020,"owner_id":35541739,"artist":"Response 2 - 1","title":"Du bist nicht allein","duration":241,"date":1459553197,"url":"http://cs4505.vk.me/u690598/audios/f1f28c909424.mp3?extra=fSUfByfOF6k73qvvAYQ6YdFm0hz-srnBbJtn1VsuTJQTMkm0O-Sw1HNGmM17MQoXoEpuNVSnGlRWpSFwxVH4OYJGY7SSGX6iZFFzTPFIdYoHK77MCKZFLm-AVxt6CX0SvMAoYRbvHDwQ","genre_id":18},{"id":456239020,"owner_id":35541739,"artist":"Response 2 - 2","title":"Du bist nicht allein","duration":241,"date":1459553197,"url":"http://cs4505.vk.me/u690598/audios/f1f28c909424.mp3?extra=fSUfByfOF6k73qvvAYQ6YdFm0hz-srnBbJtn1VsuTJQTMkm0O-Sw1HNGmM17MQoXoEpuNVSnGlRWpSFwxVH4OYJGY7SSGX6iZFFzTPFIdYoHK77MCKZFLm-AVxt6CX0SvMAoYRbvHDwQ","genre_id":18}]}]}

Так, а теперь код:

C#
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
        static void Main(string[] args)
        {
            DataContractJsonSerializer json = new DataContractJsonSerializer(typeof(Music));
            string fileContent = System.IO.File.ReadAllText(@"E:1.txt");
            Music music = (Music)json.ReadObject(new System.IO.MemoryStream(Encoding.UTF8.GetBytes(fileContent)));
            Console.WriteLine(music.response[0].items[0].artist);
            Console.WriteLine(music.response[1].items[1].artist);
            Console.ReadLine();
        }
 
        [DataContract]
        public class Music
        {
 
            [DataMember(Name = "response")]
            public Response[] response { get; set; }
 
            [DataContract]
            public class Response
            {
                [DataMember(Name = "count")]
                public string count { get; set; }
                [DataMember(Name = "items")]
                public Item[] items { get; set; }
 
                [DataContract]
                public class Item
                {
                    [DataMember(Name = "id")]
                    public string id { get; set; }
                    [DataMember(Name = "owner_id")]
                    public string owner_id { get; set; }
                    [DataMember(Name = "artist")]
                    public string artist { get; set; }
                    [DataMember(Name = "title")]
                    public string title { get; set; }
                    [DataMember(Name = "duration")]
                    public string duration { get; set; }
                    [DataMember(Name = "date")]
                    public string date { get; set; }
                    [DataMember(Name = "url")]
                    public string url { get; set; }
                    [DataMember(Name = "lyrics_id")]
                    public string lyrics_id { get; set; }
                    [DataMember(Name = "genre")]
                    public string genre { get; set; }
                }
            }
        }

P.S.

Цитата
Сообщение от MakcPletnev
Посмотреть сообщение

Символы с шестнадцатеричными значениями 0xFFFE и 0xFFFF являются недопустимыми», надо решить вопрос именно с ней…

А на счет этого, не нужно файлы сохранять в формате Юникод и т.п. Сохраните файл в ANSI и проверяем…

Либо пробовать что-то вроде этого:

C#
1
2
3
4
5
6
7
8
9
10
11
        static void Main(string[] args)
        {
            DataContractJsonSerializer json = new DataContractJsonSerializer(typeof(Music));
            string fileContent = System.IO.File.ReadAllText(@"E:1.txt");
            byte[] b = Encoding.Unicode.GetBytes(fileContent);
            b = Encoding.Convert(Encoding.Unicode, Encoding.ASCII, b);
            Music music = (Music)json.ReadObject(new System.IO.MemoryStream(b));
            Console.WriteLine(music.response[0].items[0].artist);
            Console.WriteLine(music.response[1].items[1].artist);
            Console.ReadLine();
        }



0



41 / 37 / 9

Регистрация: 01.02.2014

Сообщений: 825

06.04.2016, 21:04

 [ТС]

7

Jason, из-за этого не поддерживается кириллица, я пробовал уже
Есть еще варианты?

Добавлено через 1 минуту
русские символы отображаются в виде ‘?’



0



975 / 870 / 350

Регистрация: 26.04.2012

Сообщений: 2,647

07.04.2016, 02:36

8

Я большой JSON обычно не десериализую, а использую при при помощи библиотеки Newtonsoft.Json и тамошнего класса JToken.



0



41 / 37 / 9

Регистрация: 01.02.2014

Сообщений: 825

26.07.2016, 11:06

 [ТС]

9

EvilFromHell, может расскажете как?



0



Master of Orion

Эксперт .NET

6094 / 4950 / 905

Регистрация: 10.07.2011

Сообщений: 14,522

Записей в блоге: 5

27.07.2016, 00:06

10

EvilFromHell, забавно, что я в DataContractSerializer при сериализации в XML ловил точно такую же ошибку. Решалось просто вырезанием всего, что не проходит проверку XmlConvert.IsXmlChar. Вполне возможно, что JSON реально не ест эти символы (это именно некорректные символы, а не кириллица, например если суррогатная пара применена с символом, с которой её использование недопустимо). Не уверен, что JSON.Net поможет, хотя я в любом случае его использую во всех случаях работы с JSON. Слишком удобно чтобы отказываться.



1



public class Root    {
        public double ACCESS_BALANCE { get; set; } 
  }
string url = "url";
            HttpWebRequest httpWebRequest = (HttpWebRequest)WebRequest.Create(url);
            HttpWebResponse httpWebResponse = (HttpWebResponse)httpWebRequest.GetResponse();
            string response ;
            using (StreamReader streamReader = new StreamReader(httpWebResponse.GetResponseStream()))
            {
                response = streamReader.ReadToEnd();
            }
            Root myDeserializedClass = JsonConvert.DeserializeObject<Root>(response);

Запрос проходит , ответ в json приходит в виде «ACCESS_BALANCE:555.55»

При попытке десериализации выскакивает ошибка:

Unhandled exception. Newtonsoft.Json.JsonReaderException: Unexpected character encountered while parsing value: A. Path '', line 0, position 0.
   at Newtonsoft.Json.JsonTextReader.ParseValue()
   at Newtonsoft.Json.JsonReader.ReadAndMoveToContent()
   at Newtonsoft.Json.JsonReader.ReadForType(JsonContract contract, Boolean hasConverter)
   at Newtonsoft.Json.Serialization.JsonSerializerInternalReader.Deserialize(JsonReader reader, Type objectType, Boolean checkAdditionalContent)
   at Newtonsoft.Json.JsonSerializer.DeserializeInternal(JsonReader reader, Type objectType)
   at Newtonsoft.Json.JsonSerializer.Deserialize(JsonReader reader, Type objectType)
   at Newtonsoft.Json.JsonConvert.DeserializeObject(String value, Type type, JsonSerializerSettings settings)
   at Newtonsoft.Json.JsonConvert.DeserializeObject[T](String value, JsonSerializerSettings settings)
   at Newtonsoft.Json.JsonConvert.DeserializeObject[T](String value)
   at Project.NewBaseType.Main(String[] args)

  1. На главную

  2. How

  3. Ошибка десериализации тела сообщения запроса на операцию

Ошибка десериализации тела сообщения запроса на операцию

  • 2023
  • Редактор:
    Christopher Sullivan |
    Написать мне

Я пишу адаптер службы для использования веб-служб, размещенных другим поставщиком (Pega). Я не могу сменить эту услугу. Когда я вызываю метод, я получаю сообщение об ошибке:

«Ошибка десериализации тела сообщения запроса на операцию»

Я пробовал увеличить maxStringContentLength и все такое. Ничего не получилось. Изучая ответ XML, я вижу пустые значения для нескольких переменных типа long и int, я считаю, что это причина.

Есть ли какое-нибудь исправление для этого?

  • 1 Выполняется десериализация. Извините за автокоррекцию.
  • Эта ссылка может быть вам полезна marcipsen.wordpress.com/2009/02/25/…
  • Спасибо, Картик, но я уже пытался изменить настройки в app.config. Как я уже упоминал, я считаю, что причиной могут быть пустые значения для нескольких переменных типа long и int в ответном XML. Требуется исправление для этого со стороны клиента.
  • Есть ли внутреннее исключение с более подробной информацией?
  • Единственное, что имеет смысл: в System.Number.ParseInt64 (значение String, параметры NumberStyles, NumberFormatInfo numfmt) в System.Xml.XmlConvert.ToInt64 (String s)

Это было решено после удаления пустых тегов со стороны службы. На стороне клиента .Net решение не найдено.

  • У меня конец службы настроен на отправку 0 вместо нулевого элемента.
  • Спасибо. Я исправил свою проблему двумя вещами: 1) изменил тип возвращаемого значения операции с простого строкового типа на пользовательский тип класса, украшенный DataContractAttribute. 2) Я удалил HttpWatch 7.0.22, который мешает вызову jQuery. Именно HttpWatch заблокировал отправку аргумента операции.
  • @PAVITRA — У меня та же проблема, и я не мог понять, как решить, следуя вашим инструкциям: как вы на самом деле это сделали? Какие пустые теги? Из какого файла?
  • В ответ у меня были пустые значения для нескольких полей типа long и int, не допускающих значения NULL. Обычно этого не должно происходить. При попытке десериализации этого ответа возникла ошибка. Не удалось найти исправления от .NET для этого. Поэтому моим последним вариантом было изменить стороннюю службу. Я изменил его, чтобы отправлять 0 вместо пустых тегов для длинных полей int.

Я решил эту проблему, изменив формат одного из параметров запроса. Дата была передана в виде текста, и службе не удалось проанализировать предоставленный формат даты.

Не уверен, почему служба ожидала дату в виде строки, но в то время это выходило за рамки.

0 0 голоса
Рейтинг статьи
Подписаться
Уведомить о
guest

0 комментариев
Старые
Новые Популярные
Межтекстовые Отзывы
Посмотреть все комментарии

А вот еще интересные материалы:

  • Яшка сломя голову остановился исправьте ошибки
  • Ясность цели позволяет целеустремленно добиваться намеченного исправьте ошибки
  • Ясность цели позволяет целеустремленно добиваться намеченного где ошибка
  • Ошибка при загрузке голосового сообщения вк на компьютер
  • Ошибка при десериализации json