Quickbooks Quickbook web连接器:QBWC1042:ReceiverResponseXML失败错误消息:请求失败,HTTP状态为413:请求实体太大

Quickbooks Quickbook web连接器:QBWC1042:ReceiverResponseXML失败错误消息:请求失败,HTTP状态为413:请求实体太大,quickbooks,Quickbooks,我尝试从WCF发送[qbxml请求][1]时遇到异常…我使用web连接器从WCF服务向quick book desktop发送qbxml请求,以获取报告摘要和使用的GeneralDetailReportQueryRq查询xml。但是获取“QBWC1042:ReceiverResponseXML”失败 错误消息:请求失败,HTTP状态为413:request Entity To Large“web连接器上出现错误消息,已检查日志并在详细日志中找到所有响应,但web连接器显示[1]“QBWC1042

我尝试从WCF发送[qbxml请求][1]时遇到异常…我使用web连接器从WCF服务向quick book desktop发送qbxml请求,以获取报告摘要和使用的GeneralDetailReportQueryRq查询xml。但是获取“QBWC1042:ReceiverResponseXML”失败 错误消息:请求失败,HTTP状态为413:request Entity To Large“web连接器上出现错误消息,已检查日志并在详细日志中找到所有响应,但web连接器显示[1]“QBWC1042:ReceiverResponseXML failed”

这是qbxml请求

 <?xml version="1.0" encoding="UTF-8"?>
<?qbxml version="13.0"?>
<QBXML>
   <QBXMLMsgsRq onError="continueOnError">
      <GeneralDetailReportQueryRq>
         <GeneralDetailReportType>OpenInvoices</GeneralDetailReportType>
         <ReportDateMacro>Today</ReportDateMacro>
         <IncludeColumn>TxnID</IncludeColumn>
         <IncludeColumn>TxnNumber</IncludeColumn>
         <IncludeColumn>RefNumber</IncludeColumn>
         <IncludeColumn>Name</IncludeColumn>
         <IncludeColumn>TxnType</IncludeColumn>
         <IncludeColumn>Date</IncludeColumn>
         <IncludeColumn>Account</IncludeColumn>
         <IncludeColumn>Aging</IncludeColumn>
         <IncludeColumn>Amount</IncludeColumn>
         <IncludeColumn>OpenBalance</IncludeColumn>
         <IncludeColumn>RunningBalance</IncludeColumn>
         <IncludeColumn>Terms</IncludeColumn>
         <IncludeColumn>DueDate</IncludeColumn>
      </GeneralDetailReportQueryRq>
   </QBXMLMsgsRq>
</QBXML>

公开发票
今天
TxnID
TXN编号
参考号
名称
TxnType
日期
账户
老化
数量
开放式天平
运行平衡
条款
到期日
这是登录web连接器

20170720.08:03:33 UTC   : QBWebConnector.SOAPWebService.do_sendRequestXML() : cfn=""
20170720.08:03:33 UTC   : QBWebConnector.SOAPWebService.do_sendRequestXML() : qbNationality="US"
20170720.08:03:33 UTC   : QBWebConnector.SOAPWebService.do_sendRequestXML() : qbXMLMajorVers="13"
20170720.08:03:33 UTC   : QBWebConnector.SOAPWebService.do_sendRequestXML() : qbXMLMinorVers="0"
20170720.08:03:33 UTC   : QBWebConnector.SOAPWebService.do_sendRequestXML() : Received from sendRequestXML() following parameter:
20170720.08:03:33 UTC   : QBWebConnector.SOAPWebService.do_sendRequestXML() : strRequestXML =
20170720.08:03:33 UTC   : QBWebConnector.SOAPWebService.do_sendRequestXML() : XML dump follows: -

<?xml version="1.0" encoding="utf-8"?><?qbxml version="13.0"?><QBXML><QBXMLMsgsRq onError="continueOnError"><GeneralDetailReportQueryRq><GeneralDetailReportType>OpenInvoices</GeneralDetailReportType><ReportDateMacro>Today</ReportDateMacro><IncludeColumn>TxnID</IncludeColumn><IncludeColumn>TxnNumber</IncludeColumn><IncludeColumn>RefNumber</IncludeColumn><IncludeColumn>Name</IncludeColumn><IncludeColumn>TxnType</IncludeColumn><IncludeColumn>Date</IncludeColumn><IncludeColumn>Account</IncludeColumn><IncludeColumn>Aging</IncludeColumn><IncludeColumn>Amount</IncludeColumn><IncludeColumn>OpenBalance</IncludeColumn><IncludeColumn>RunningBalance</IncludeColumn><IncludeColumn>Terms</IncludeColumn><IncludeColumn>DueDate</IncludeColumn></GeneralDetailReportQueryRq></QBXMLMsgsRq></QBXML>

20170720.08:03:33 UTC   : QBWebConnector.SOAPWebService.do_sendRequestXML() : Request xml received.
20170720.08:03:33 UTC   : QBWebConnector.SOAPWebService.ProcessRequestXML() : Processing request #1
20170720.08:03:33 UTC   : QBWebConnector.SOAPWebService.ProcessRequestXML() : REQUEST: received from application: size (bytes) = 786
20170720.08:03:33 UTC   : QBWebConnector.SOAPWebService.ProcessRequestXML() : Sending request to QuickBooks.
20170720.08:03:37 UTC   : QBWebConnector.SOAPWebService.ProcessRequestXML() : Response received from QuickBooks: size (bytes) = 93980
20170720.08:03:37 UTC   : QBWebConnector.SOAPWebService.ProcessRequestXML() : Sending response back to application.
20170720.08:03:37 UTC   : QBWebConnector.SOAPWebService.do_receiveResponseXML() : *** Calling receiveResponseXML() with following parameters:
20170720.08:03:37 UTC   : QBWebConnector.SOAPWebService.do_receiveResponseXML() : wcTicket="d8bf5ba7-5e03-422a-a8ce-185cb86cf168"
20170720.08:03:37 UTC   : QBWebConnector.SOAPWebService.do_receiveResponseXML() : response =
20170720.08:03:37 UTC   : QBWebConnector.SOAPWebService.do_receiveResponseXML() : XML dump follows: -

<?xml version="1.0" ?>
<QBXML>
<QBXMLMsgsRs>
<GeneralDetailReportQueryRs statusCode="0" statusSeverity="Info" statusMessage="Status OK">
<ReportRet>
<ReportTitle>Open Invoices</ReportTitle>
<ReportSubtitle>As of July 20, 2017</ReportSubtitle>
<ReportBasis>Accrual</ReportBasis>
<NumRows>246</NumRows>
<NumColumns>14</NumColumns>
<NumColTitleRows>1</NumColTitleRows>
<ColDesc colID="1" dataType="STRTYPE">
<ColTitle titleRow="1" />
<ColType>Blank</ColType>
</ColDesc>

<TotalRow rowNumber="246">
<ColData colID="1" value="TOTAL" />
<ColData colID="9" value="1202982.55" />
<ColData colID="10" value="1089736.86" />
<ColData colID="11" value="1202982.55" />
</TotalRow>
</ReportData>
</ReportRet>
</GeneralDetailReportQueryRs>
</QBXMLMsgsRs>
</QBXML>


20170720.08:03:37 UTC   : QBWebConnector.SOAPWebService.do_receiveResponseXML() : hresult=""
20170720.08:03:37 UTC   : QBWebConnector.SOAPWebService.do_receiveResponseXML() : message=""
20170720.08:03:37 UTC   : QBWebConnector.SOAPWebService.do_receiveResponseXML() : QBWC1042: ReceiveResponseXML failed
Error message: The request failed with HTTP status 413: Request Entity Too Large.
More info:
StackTrace =    at System.Web.Services.Protocols.SoapHttpClientProtocol.ReadResponse(SoapClientMessage message, WebResponse response, Stream responseStream, Boolean asyncCall)
   at System.Web.Services.Protocols.SoapHttpClientProtocol.Invoke(String methodName, Object[] parameters)
   at QBWebConnector.localhost.WCWebServiceDoc.receiveResponseXML(String ticket, String response, String hresult, String message)
   at QBWebConnector.localhost.WCWebService.receiveResponseXML(String ticket, String response, String hresult, String message)
   at QBWebConnector.SOAPWebService.receiveResponseXML(String wcTicket, String response, String hresult, String message)
   at QBWebConnector.WebService.do_receiveResponseXML(String wcTicket, String response, String hresult, String message, Boolean& success, Boolean& timeout)
Source = System.Web.Services
20170720.08:03:33 UTC:QBWebConnector.SOAPWebService.do_sendRequestXML():cfn=“”
20170720.08:03:33 UTC:QBWebConnector.SOAPWebService.do_sendRequestXML():qbNationality=“US”
20170720.08:03:33 UTC:QBWebConnector.SOAPWebService.do_sendRequestXML():qbXMLMajorVers=“13”
20170720.08:03:33 UTC:QBWebConnector.SOAPWebService.do_sendRequestXML():qbXMLMinorVers=“0”
20170720.08:03:33 UTC:QBWebConnector.SOAPWebService.do_sendRequestXML():从sendRequestXML()接收以下参数:
20170720.08:03:33 UTC:QBWebConnector.SOAPWebService.do_sendRequestXML():strRequestXML=
20170720.08:03:33 UTC:QBWebConnector.SOAPWebService.do_sendRequestXML():XML转储如下所示:-
开放式发票截止日期txnidtxnnumberrefnumbernametxntypedeaccountingamountpentainebalancerunning balancetermsdudate
20170720.08:03:33 UTC:QBWebConnector.SOAPWebService.do_sendRequestXML():收到请求xml。
20170720.08:03:33 UTC:QBWebConnector.SOAPWebService.ProcessRequestXML():处理请求#1
20170720.08:03:33 UTC:QBWebConnector.SOAPWebService.ProcessRequestXML():请求:从应用程序接收:大小(字节)=786
20170720.08:03:33 UTC:QBWebConnector.SOAPWebService.ProcessRequestXML():向QuickBooks发送请求。
20170720.08:03:37 UTC:QBWebConnector.SOAPWebService.ProcessRequestXML():从QuickBooks收到的响应:大小(字节)=93980
20170720.08:03:37 UTC:QBWebConnector.SOAPWebService.ProcessRequestXML():将响应发送回应用程序。
20170720.08:03:37 UTC:QBWebConnector.SOAPWebService.do_receiveResponseXML():***使用以下参数调用receiveResponseXML():
20170720.08:03:37 UTC:QBWebConnector.SOAPWebService.do_Receiver ResponseXml():wcTicket=“d8bf5ba7-5e03-422a-a8ce-185cb86cf168”
20170720.08:03:37 UTC:QBWebConnector.SOAPWebService.do_ReceiverResponseXml():响应=
20170720.08:03:37 UTC:QBWebConnector.SOAPWebService.do_ReceiverResponseXML():XML转储如下:-
开发票
截至2017年7月20日
增加物
246
14
1.
空白
20170720.08:03:37 UTC:QBWebConnector.SOAPWebService.do_ReceiverResponseXML():hresult=“”
20170720.08:03:37 UTC:QBWebConnector.SOAPWebService.do_ReceiverResponseXML():message=“”
20170720.08:03:37 UTC:QBWebConnector.SOAPWebService.do_ReceiverResponseXml():QBWC1042:ReceiverResponseXml失败
错误消息:请求失败,HTTP状态为413:请求实体太大。
更多信息:
StackTrace=at System.Web.Services.Protocols.SoapHttpClientProtocol.ReadResponse(SoapClientMessage消息、WebResponse响应、Stream responseStream、布尔异步调用)
位于System.Web.Services.Protocols.SoapHttpClientProtocol.Invoke(String methodName,Object[]参数)
在QBWebConnector.localhost.WCWebServiceDoc.ReceiverResponseXML(字符串票证、字符串响应、字符串hresult、字符串消息)
在QBWebConnector.localhost.WCWebService.receiveResponseXML(字符串票证、字符串响应、字符串hresult、字符串消息)
在QBWebConnector.SOAPWebService.ReceiverResponseXML(字符串wcTicket、字符串response、字符串hresult、字符串消息)
在QBWebConnector.WebService.do_receiveResponseXML(字符串wcTicket、字符串response、字符串hresult、字符串消息、布尔值与成功、布尔值与超时)
Source=System.Web.Services

注意:我已经更新了上面的日志并删除了响应数据。我在日志文件中得到了完整的响应,但在web连接器上得到了一些请求的错误


我已经根据doc实施了我的服务。第10章中的ReceiverResponseXML方法。

您的web服务器拒绝HTTP请求,并显示以下消息:

  • 请求失败,HTTP状态为413:请求实体太大
如果您使用谷歌搜索,您会发现默认情况下WCF将请求限制为最大65 KB

QuickBooks希望向您发送的请求是:

QuickBooks:大小(字节)=93980

(或93.98 KB,大约比最大大小大30 KB)

重新配置您的WCF服务/web服务器,以便允许更大的有效负载。以下是方法:


发布日志,发布代码。发布qbXML请求。至少在看不到的情况下,你不可能告诉你任何事情。@KeithPalmerJr。谢谢你的快速回复。我已经发布了qbxml并登录了帖子。所以如果我遗漏了什么,请告诉我们。