我正尝试在 .Net/C# 中使用其中一些服务。一些服务可以很容易地使用,但对于其他服务我有一个误导性错误。
这部分代码:
input.AcademicProgramOfStudySelectionByName = new AcademicProgramOfStudyByNameQueryMessage_syncAcademicProgramOfStudySelectionByName();
input.AcademicProgramOfStudySelectionByName.AcademicProgramOfStudyName.languageCode = "DE";
我在第二行收到错误“对象引用未设置到对象实例”。 但我已经在第一行创建了对象!
相同的代码在其他一些服务中也有效!
最佳答案
您创建了对象
input.AcademicProgramOfStudySelectionByName
,但您没有创建其成员 input.AcademicProgramOfStudySelectionByName.AcademicProgramOfStudyName
。看起来,类 AcademicProgramOfStudyByNameQueryMessage_syncAcademicProgramOfStudySelectionByName
的构造函数不会填充其成员 AcademicProgramOfStudyName
。因此,当您尝试为 AcademicProgramOfStudyName
的成员赋值并且该实例为 NULL
时,您会得到一个异常。
示例代码:
AcademicProgramOfStudyByNameQueryResponse_InClient client =
new AcademicProgramOfStudyByNameQueryResponse_InClient();
client.ClientCredentials.UserName.UserName = "XX";
client.ClientCredentials.UserName.Password = "YY";
AcademicProgramOfStudyByNameQueryMessage_sync input =
new AcademicProgramOfStudyByNameQueryMessage_sync();
input.AcademicProgramOfStudySelectionByName = new AcademicProgramOfStudyByNameQueryMessage_syncAcademicProgramOfStudySelectionByName();
// this is the member that currently is still NULL and has to be created:
input.AcademicProgramOfStudySelectionByName.AcademicProgramOfStudyName = new <insert whatever class is needed here>
// now this should work without throwing an exception
input.AcademicProgramOfStudySelectionByName.AcademicProgramOfStudyName.languageCode = "DE";
AcademicProgramOfStudyByNameResponseMessage_sync output =
new AcademicProgramOfStudyByNameResponseMessage_sync();
output = client.AcademicProgramOfStudyByNameQueryResponse_In(input);
关于c# - SAP 企业服务工作区,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10718910/