Я отправляю мыльные сообщения, содержащие массивы. У меня проблемы с массивами в моем коде. Это дает вышеуказанные ошибки, я искал везде, даже писал и переписывал свой код снова и снова, но я не могу найти, где я ошибаюсь.
Был бы так признателен, если бы кто-нибудь мог указать мне в правильном направлении:
UpdateRatePackages.IService.InventoryServiceClient isc = new UpdateRatePackages.IService.InventoryServiceClient();
UpdateRatePackages.IService.UpdateRatePackagesRequest ureq = new UpdateRatePackages.IService.UpdateRatePackagesRequest();
UpdateRatePackages.IService.UpdateRatePackagesOperationResponse ores = new UpdateRatePackages.IService.UpdateRatePackagesOperationResponse();
protected void Page_Load (отправитель объекта, EventArgs e) { SendSoapMessage(); }
защищенная пустота SendSoapMessage() {
Int64 HID = 717759;
Int64 HRID = 85264;
int avail = 6;
// RateDetails.AvailabilityApplicationType val = RateDetails.AvailabilityApplicationType.SET;
for (int i = 0; i < ureq.RatePackages.GetLength(0); i++)
{
ureq.RatePackages[i].RatePackageId = HRID;
for (int j = 0; j < ureq.RatePackages[j].Rates.GetLength(0); j++)
{
ureq.RatePackages[i].Rates[j].Availability = avail;
ureq.RatePackages[i].Rates[j].AvailabilityApplicationType = UpdateRatePackages.IService.AvailabilityApplicationType.SET;
ureq.RatePackages[i].Rates[j].FromDate = Convert.ToDateTime("2012-03-21");
ureq.RatePackages[i].Rates[j].ToDate = Convert.ToDateTime("2012-03-31");
}
// isc.UpdateRatePackages(request);
}
Данные, определенные как в веб-сервисе:
public class UpdateRatePackagesRequest
{
public string Username;
public string Password;
public UpdateRatePackageRequest[] RatePackages;
}
public class UpdateRatePackageRequest
{
public Int64 RatePackageId;
public RateDetails[] Rates;
}
public class RateDetails
{
public decimal Rate;
public enum RateApplicationType { SET, INCREASE, DECREASE, INCREASE_PERCENT, DECREASE_PERCENT } ;
public int Availability;
public enum AvailabilityApplicationType { SET , INCREASE, DECREASE };
public bool StopSell;
public string Inclusions;
public int MinimumNightStay;
public DateTime FromDate;
public DateTime ToDate;
}
public class UpdateRatePackageResult
{
public Int64 RatePackageId;
public Boolean Success;
public string Message;
}
public class UpdateRatePackagesResponse
{
public UpdateRatePackageResult[] Result;
}
Моя проблема в массивах или она как-то связана с самим мыльным сообщением?
строка, в которой выделена ошибка:
for (int i = 0; i ‹ ureq.RatePackages.GetLength(0); i++)
Пожалуйста помоги!
RetePackages
, и убедитесь, что оно устанавливает для него допустимое значение. Я не знаю, как выглядит ваш код, поэтому ничего больше не могу сказать. Да прибудет с тобой сила! :) 27.03.2012RatePackages
. 27.03.2012RatePacakges
, так что достаточно ясно, но кажется, чтоUpdateRatePackagesRequest
заполнено неправильно. Что может быть полезно для вас (а не для меня), так это если вы можете взглянуть на то, что должно устанавливать полеRatePackages
. 27.03.2012UpdateRatePackagesRequest
классом, который вы написали? Где вы заполняете массивRatePackages
? 27.03.2012RatePackages
, прежде чем вы сможете использовать его в цикле for. 27.03.2012int[] numbers = new int[10];
Заполнение — это создание цикла forfor(int i = 0; i < numbers.Length; i++)
и сохранение числа в каждом элементе массива. 28.03.2012