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

时间:2018-01-08 14:46:42

标签: c# soap nullpointerexception client

我正在编写一个简单的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>

在我的代码中,我可以通过编写以下内容来指定用于产品代码的值:

createOrder.ProductCode = "RX888";

当我尝试为OrderAmount指定一个值时,如果我执行`createOrder.OrderAmount =“5.99”;

,我会得到一个nullpointer异常

如果我尝试为OrderRef指定一个值,我也会这样做。

有人可以帮助我让这个工作吗?!

1 个答案:

答案 0 :(得分:1)

根据您的xml,似乎 没有createOrder.OrderAmount

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

由于您获得了NRE,最简单的解释是您从未实例化过List,这意味着它是null

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

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

当然,请根据CreateOrderRequest

中的实际定义进行调整
相关问题