2013-09-21 52 views
-1

我想通过我的.Net应用程序更新客户地址,发票地址等QuickBook Data。我能够通过API获取所有的QuickBook数据,但我没有得到更新QuickBook的数据。.Net应用程序更新QuickBook应用程序信息,如地址

更新功能

StringBuilder strXML = new StringBuilder(string.Empty); 
      XmlDocument inputXMLDoc = new XmlDocument(); 
      inputXMLDoc.AppendChild(inputXMLDoc.CreateXmlDeclaration("1.0", null, null)); 
      inputXMLDoc.AppendChild(inputXMLDoc.CreateProcessingInstruction("qbxml", "version=\"8.0\"")); 
      XmlElement qbXML = inputXMLDoc.CreateElement("QBXML"); 
      inputXMLDoc.AppendChild(qbXML); 

      XmlElement qbXMLMsgsRq = inputXMLDoc.CreateElement("QBXMLMsgsRq"); 
      qbXML.AppendChild(qbXMLMsgsRq); 
      qbXMLMsgsRq.SetAttribute("onError", "stopOnError"); 

      XmlElement custModeRq = inputXMLDoc.CreateElement("CustomerModRq"); 
      qbXMLMsgsRq.AppendChild(custModeRq); 
      custModeRq.SetAttribute("requestID", "15"); 

      XmlElement custMod = inputXMLDoc.CreateElement("CustomerMod"); 
      custModeRq.AppendChild(custMod); 

      XmlElement ListId = inputXMLDoc.CreateElement("ListID"); 
      custMod.AppendChild(ListId); 
      ListId.InnerText = _listID; 

      XmlElement EditSequence = inputXMLDoc.CreateElement("EditSequence"); 
      custMod.AppendChild(EditSequence); 
      EditSequence.InnerText = _editSequence; 

      XmlElement Name = inputXMLDoc.CreateElement("Name"); 
      custMod.AppendChild(Name); 
      Name.InnerText = "Jack Sparrow"; 

      string s = QuickbooksAPI.APIBase.GetQBQueryResponce(inputXMLDoc.OuterXml); 

      return inputXMLDoc.OuterXml; 

Get请求/响应功能

RequestProcessor2 rp = null; 
       string ticket = null; 
       string response = null; 
       try 
       { 
        rp = new RequestProcessor2(); 
        rp.OpenConnection("", "Stamps.com"); 
        //rp.OpenConnection2("", "Stamps.com",QBXMLRPConnectionType.localQBDLaunchUI); 
        ticket = rp.BeginSession("", QBFileMode.qbFileOpenDoNotCare); 
        response = rp.ProcessRequest(ticket, strRequest); 
       } 
       catch (System.Runtime.InteropServices.COMException ex) 
       { 
        //MessageBox.Show("COM Error Description = " + ex.Message, "COM error");      
        return ""; 
       } 
       finally 
       { 
        if (ticket != null) 
        { 
         rp.EndSession(ticket); 
        } 
        if (rp != null) 
        { 
         rp.CloseConnection(); 
        } 
       }; 

感谢提前。

+1

发布您的代码,上传你发送到QuickBooks的XML请求,并张贴你找回XML响应。没有人可以帮助你,如果你不发布任何细节。 –

回答

1

设置请求XML以下。

XML格式:

<?xml version="1.0"?> 

<?qbxml version="8.0"?> 
<QBXML> 
    <QBXMLMsgsRq onError="stopOnError"> 
    <CustomerModRq requestID="15"> 
     <CustomerMod> 
     <ListID>9D84-1182061418</ListID> 
     <EditSequence>1481791846</EditSequence> 
     <BillAddress> 
      <Addr1>addr1</Addr1> 
      <Addr2>addr2</Addr2> 
      <City>City</City> 
      <State>State</State> 
      <PostalCode>382007</PostalCode> 
     </BillAddress> 
     </CustomerMod> 
    </CustomerModRq> 
    </QBXMLMsgsRq> 
</QBXML> 
相关问题