Ссылка на объект не установлена ​​на экземпляр объекта при инициализации элементов для запроса Soap согласно WSDL - PullRequest
0 голосов
/ 27 мая 2018

У меня есть WSDL, который содержит OrderInformation_type класс, состоящий из трех приватных атрибутов, которые сами являются классами: Header_type, PromotionInformation_type и массив ItemInformation_type[] соответственно.Я инициализировал объект OrderInformation_type как «порядок».Кроме того, я инициализировал объекты order.Header_type header и order.PromotionInformation_type, которые успешно инициализированы, и их атрибуты могут быть легко установлены.Но когда я пытаюсь инициализировать объект order.ItemInformation_type[], я получаю сообщение об ошибке во время выполнения, в котором указывается, что ссылка на объект не установлена ​​на экземпляр object.Considering, что OrderInformation_type имеет атрибут ItemInformation_type в виде массива, поэтому я инициализирую егоследующим образом:

WindowsFormsApplication1.ServiceReference1.OrderInformation_type orderinfo = new ServiceReference1.OrderInformation_type();
            orderinfo.Header = new ServiceReference1.Header_type();
            orderinfo.Header.AccountNumber = 496570;
            orderinfo.Header.DistributorIdentifier = ServiceReference1.Header_typeDistributorIdentifier.MBA;

            orderinfo.PromotionInformation = new ServiceReference1.PromotionInformation_type();
            **orderinfo.ItemInformation[0] = new ServiceReference1.ItemInformation_type();**
            orderinfo.ItemInformation[0].ItemID = "95847";
            orderinfo.ItemInformation[0].ItemIDType = ServiceReference1.ItemInformation_typeItemIDType.D;
            orderinfo.ItemInformation[0].Quantity = 1;

Жирным шрифтом обозначена строка, в которой получено сообщение об ошибке.

1 Ответ

0 голосов
/ 27 мая 2018

orderinfo.ItemInformation - это массив.Вы пытаетесь присвоить [0] что-то, что еще не было создано.Добавление

orderinfo.ItemInformation = новый новый ServiceReference1.PromotionInformation_type [];

должно сделать это ...

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