C#Soap客户端产生空指针异常

C#Soap客户端产生空指针异常,c#,soap,nullpointerexception,client,C#,Soap,Nullpointerexception,Client,我正在编写一个简单的C#SOAP客户端来发送API请求,但在尝试发送一个看起来与API请求处于不同“级别”的值时,我收到了一个NullPointerException 我编写了以下代码来创建API请求的实例: CreateOrderRequest createOrder = new CreateOrderRequest(); 使用SOAP UI时,XML请求包含以下摘录: <data:ProductCode>RX888</data:ProductCode> <d

我正在编写一个简单的C#SOAP客户端来发送API请求,但在尝试发送一个看起来与API请求处于不同“级别”的值时,我收到了一个NullPointerException

我编写了以下代码来创建API请求的实例:

CreateOrderRequest createOrder = new CreateOrderRequest();
使用SOAP UI时,XML请求包含以下摘录:

<data:ProductCode>RX888</data:ProductCode>
 <data:Orders>
               <!--Zero or more repetitions:-->
               <data:OrderLine>
                  <!--Optional:-->
                  <data:OrderAmount>157.65</data:OrderAmount>
                  <data:OrderRef>test</data:OrderRef>
               </data:OrderLine>
</data:Orders>
当我尝试为OrderAmount指定一个值时,如果我执行'createOrder.OrderAmount=“5.99”,我会得到一个空指针异常

如果我尝试为OrderRef指定一个值,也会得到相同的结果


有谁能帮我把这个弄到手吗

基于xml,似乎没有
createOrder.OrderAmount

您的xml似乎表示要设置
createOrder.OrderLine[n].OrderAmount
,其中
n
是您的订单行列表(?)中的项目

因为您得到了一个NRE,最简单的解释是您从未实例化您的列表,这意味着它是
null

将其添加到
CreateOrderRequest
的构造函数中应该会有帮助:

this.OrderLines = new List<OrderLine>();
this.OrderLines=new List();

当然,请根据您的
CreateOrderRequest

调用堆栈中的实际定义进行调整。缺少,缺少。感谢您的回复。createOrder由CreateOrderRequest createOrder=new CreateOrderRequest()定义;另外,ProductCode不在“Orders”级别。@REX8对不起,我指的是OrderAmount。我可以看到
new CreateOrderRequest()
,我要指出的是,在该方法中(称为构造函数)应该做一些事情来创建该列表,或者无论您在什么地方有订单行。或者,您可以在创建
createOrder
对象(
createOrder.OrderLines=new List()后执行此操作
或其他任何内容。谢谢,但我仍然无法让它工作……如果您看一下这是一个类似的问题,但答案似乎不适用于我的场景。@REX8只需在您的问题中添加
CreateOrderRequest
的定义,包括其构造函数。我的答案基于假设,没有实际信息,任何人都不能看看为什么会出错。
this.OrderLines = new List<OrderLine>();