代码之家  ›  专栏  ›  技术社区  ›  Derrick Hammond

获取所有发票时关闭连接

  •  0
  • Derrick Hammond  · 技术社区  · 11 年前

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

    web服务将从intuit检索所有发票,但当它将(发票的)只读集合传递回我的客户端应用程序时失败。

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

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

    1 回复  |  直到 11 年前
        1
  •  0
  •   Derrick Hammond    10 年前

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

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