【问题标题】:connection closing when getting all invoices获取所有发票时连接关闭
【发布时间】:2014-02-19 23:48:00
【问题描述】:

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

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

当我调用 getAll(invoice) 时,我在客户端应用程序中得到的 ex 是: 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。

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

【问题讨论】:

  • 尝试更新服务参考 - 听起来合同可能已更改。
  • 谢谢,但服务参考是最新的。

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


【解决方案1】:

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

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

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2023-03-18
    • 1970-01-01
    • 2013-02-01
    • 1970-01-01
    • 1970-01-01
    • 2013-11-30
    • 1970-01-01
    相关资源
    最近更新 更多