获取所有发票时关闭连接

时间:2014-02-19 23:48:01

标签: vb.net web-services wcf intuit-partner-platform intuit

我有一个与API v3通信的Web服务。我有一个与我的Web服务通信的客户端应用程序。我正在我的客户端应用程序中开发票。我无法访问客户端应用程序中的Intuit.Ipp.Data.SalesItemLineDetail类。因此,我无法将发票从我的Web服务传递到我的客户端,也正因为如此,我无法在客户端应用程序中创建发票以传递给我的Web服务。

Web服务将从intuit检索所有发票,但在将readonlycollection(发票)传递回我的客户端应用程序时失败。

当我打电话给getAll(发票)时,我在客户端应用程序中获取的是: System.ServiceModel.CommunicationException:基础连接已关闭

来自我的Web服务中的xml日志的内部异常错误消息如下: 尝试序列化参数http://tempuri.org/:GetInvoicesResult时出错。 InnerException消息是'Type'Intuit.Ipp.Data.SalesItemLineDetail',不期望数据协定名称为'SalesItemLineDetail:http://schemas.datacontract.org/2004/07/Intuit.Ipp.Data'。考虑使用DataContractResolver或将任何静态未知的类型添加到已知类型列表中 - 例如,通过使用KnownTypeAttribute属性或将它们添加到传递给DataContractSerializer的已知类型列表中。有关详细信息,请参阅InnerException。

在这种情况下,其他人做了什么?这是Web服务的问题吗?我可以通过Web服务以某种方式将数据类型传递给我的客户端吗?

1 个答案:

答案 0 :(得分:0)

我确实找到了解决这种情况的方法。我无法从服务中传递实际发票,因此我必须在服务中创建一个sudo-invoice,它只包含我需要的特定数据并将其传递给我的客户。

似乎发票对象太大而服务无法传递,所以我不得不走这条路来获取我需要的数据。