返回时,SOAP Web服务的值为零

时间:2015-09-21 22:54:03

标签: c# web-services soap

这是一个非常奇怪的问题,我只是想想一些我还没有尝试过的事情。这是一个非常细微的问题,但我会尝试提供尽可能多的信息。

我有一个Web服务,它包含一个函数,该函数接受一个表示订单的对象,然后返回该订单的运费。我已通过Fiddler确认服务器返回的响应确实包含预期的速率值。但是,由于某种原因,在进行API调用之后,从Web服务生成的对象始终包含所有速率的值0。因此,看起来问题必须与Web服务返回的XML如何被反序列化有关。

返回的对象是表示运费的对象数组,奇怪的是ShippingRate对象的大多数其他值都保留了它们的值。一个区别是,这是一个十进制字段,其他是字符串,但我不认为这会导致这种情况发生。

另一个奇怪的事情是,这只发生在这一个网站上,而且只发生在现场网站上。即使数据库中的数据和站点上的文件几乎完全相同,它也不会发生在我们的开发服务器上。我还在使用我们的购物车软件的不同客户的实际网站上进行了测试,并且没有问题。

所以,我意识到,从这个描述中确切地知道究竟发生了什么是不可能的,但是我想知道是否有其他人在反序列化和Web服务方面遇到了类似的问题。老实说,我对Web服务没有那么多经验。

我可以发布任何其他有用的信息。

更新

我忘记提到的一个非常重要的细节(虽然其中一个标签暗示)是我使用.NET。

另外,我最近意识到的另一件事是,不仅仅是费率字段没有被删除。它也是按字母顺序排列的所有值,尽管之前的值按预期返回。因此,看起来在反序列化过程中发生了某些事情,尽管我不确定如何调试它。

关于这一点的一件事真的很奇怪,它只发生在那个服务器上(而不是在我们几乎相同的开发服务器上),所以它看起来像服务器问题,但是回复的XML响应在两种情况下都是正确的(并且基本相同)(这表明问题不在服务器上)。

0 个答案:

没有答案