C# webservices中的数组-对象引用未设置为对象的实例
我正在发送包含数组的soap消息。我的代码中的数组有问题。它给出了上面的错误,我到处都找过了,甚至一遍又一遍地写和重写我的代码,但我似乎找不到哪里出了问题 如果有人能为我指出正确的方向,我将不胜感激:C# webservices中的数组-对象引用未设置为对象的实例,c#,arrays,web-services,initialization,C#,Arrays,Web Services,Initialization,我正在发送包含数组的soap消息。我的代码中的数组有问题。它给出了上面的错误,我到处都找过了,甚至一遍又一遍地写和重写我的代码,但我似乎找不到哪里出了问题 如果有人能为我指出正确的方向,我将不胜感激: UpdateRatePackages.IService.InventoryServiceClient isc = new UpdateRatePackages.IService.InventoryServiceClient(); UpdateRatePackages.IService.Up
UpdateRatePackages.IService.InventoryServiceClient isc = new UpdateRatePackages.IService.InventoryServiceClient();
UpdateRatePackages.IService.UpdateRatePackagesRequest ureq = new UpdateRatePackages.IService.UpdateRatePackagesRequest();
UpdateRatePackages.IService.UpdateRatePackagesOperationResponse ores = new UpdateRatePackages.IService.UpdateRatePackagesOperationResponse();
受保护的无效页面加载(对象发送方、事件参数e)
{
SendSoapMessage();
}
受保护的void 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);
}
我的问题是在数组中还是与soap消息本身有关
突出显示错误的行:
对于(int i=0;ifor(int i=0;ifor (int i = 0; i < ureq.RatePackages.GetLength(0); i++)
如果错误发生在那里,则
ureq
或RatePackages
是null
。在调试器中逐步执行,查看哪一个是null
。看起来确实是在设置ureq
,但无论如何都应该检查这两个。堆栈跟踪是什么?异常发生在哪一行?在第1行00这是我在quotesOH中粘贴在顶部的一行,明白了…那么ureq
或RatePackages
是null
,您是否尝试过设置断点并检查其中任何一个?是的,RatePackages是null,我如何修复此问题?RatePackages是null,我如何修复此问题?@user1270384查看支持的内容ed设置RetePackages
,并确保它设置为有效值。我不知道你的代码是什么样子,所以我不能告诉你更多。愿原力与你同在!:)好的,谢谢你的帮助。我在上面的代码中可能缺少什么可以帮助你的东西吗?@user1270384这应该很基本c语言的东西…几乎和“hello world”一样基本。至少,您应该初始化数组,这里有一种初始化数组的方法:int[]numbers=new int[10];
填充它是为(int i=0;ifor (int i = 0; i < ureq.RatePackages.GetLength(0); i++)