2013-10-17 5 views
10

मैं एक एएसपी.नेट आवेदन के साथ क्विकबुक (डेस्कटॉप संस्करण) को एकीकृत कर रहा हूं। इसके लिए मैं क्विकबुक वेब कनेक्टर का उपयोग कर रहा हूं। मैं अपनी कस्टम वेब सेवा के लिए .qwc फ़ाइल कैसे बना सकता हूं?क्विकबुक वेब कनेक्टर के लिए .qwc फ़ाइल कैसे बनाएं?

उत्तर

18

वेब कनेक्टर वास्तव में केवल एक प्रॉक्सी या रिले है जो QuickBooks और आपके अपने एप्लिकेशन के बीच बैठता है।

एक सिंहावलोकन के रूप में - मूल रूप से, आप एक एसओएपी सर्वर/वेब सेवा बनाते हैं जो विधियों का एक विशिष्ट सेट बोलता है। वेब कनेक्टर तब मशीन चलाने वाले क्विकबुक पर स्थापित है, और आपकी वेब सेवा को "हे, मुझे कुछ करने के लिए कुछ मिला है?" आपकी वेब सेवा तब qbXML अनुरोध (examples of qbXML here) के साथ प्रतिक्रिया दे सकती है जो वेब कनेक्टर को बताती है "इस ग्राहक को जोड़ें : ... "या" मुझे चालान भेजें जो मेल खाता है: ... "या इत्यादि आदि। वेब कनेक्टर तब उन अनुरोधों को क्विकबुक पर रिले करता है, क्विकबुक उन्हें संसाधित करता है, और प्रतिक्रिया आपकी वेब सेवा पर वापस आती है। आपकी वेब सेवा किसी भी तरह प्रतिक्रिया को संसाधित कर सकती है, और उसके बाद अगला अनुरोध वेब कनेक्टर को भेज सकता है।

एक बड़ा overview of the Web Connector here है या यदि आप QuickBooks SDK डाउनलोड करते हैं तो इसमें 100+ पृष्ठ पीडीएफ है जो विस्तार से इस पर जाता है।

आप शायद भी QuickBooks एसडीके स्थापित करने के बाद इस उदाहरण को देखने के लिए चाहते हैं:

  • C: \ Program Files (x86) \ Intuit \ आईडीएन \ QBSDK12.0 \ नमूने \ qbdt \ सी तेज \ qbXML \ WCWebService

वेब कनेक्टर SOAP कार्यान्वयन का एक पूर्ण कार्य उदाहरण कौन सा है।

[WebMethod] 
    /// <summary> 
    /// WebMethod - authenticate() 
    /// To verify username and password for the web connector that is trying to connect 
    /// Signature: public string[] authenticate(string strUserName, string strPassword) 
    /// 
    /// IN: 
    /// string strUserName 
    /// string strPassword 
    /// 
    /// OUT: 
    /// string[] authReturn 
    /// Possible values: 
    /// string[0] = ticket 
    /// string[1] 
    /// - empty string = use current company file 
    /// - "none" = no further request/no further action required 
    /// - "nvu" = not valid user 
    /// - any other string value = use this company file 
    /// </summary> 
    public string[] authenticate(string strUserName, string strPassword) 
    { 
     string[] authReturn = new string[2]; 

     // Generate a random session ticket 
     authReturn[0]= System.Guid.NewGuid().ToString(); 

     // For simplicity of sample, a hardcoded username/password is used. 
     string pwd="password"; 

     if (strUserName.Trim().Equals("username") && strPassword.Trim().Equals(pwd)) 
     { 
      // An empty string for authReturn[1] means asking QBWebConnector 
      // to connect to the company file that is currently openned in QB 
      authReturn[1]=""; 
     } 
     else 
     { 
      authReturn[1]="nvu"; 
     } 

     return authReturn; 
    } 

    [ WebMethod(Description="This web method facilitates web service to send request XML to QuickBooks via QBWebConnector",EnableSession=true) ] 
    /// <summary> 
    /// WebMethod - sendRequestXML() 
    /// Signature: public string sendRequestXML(string ticket, string strHCPResponse, string strCompanyFileName, 
    /// string Country, int qbXMLMajorVers, int qbXMLMinorVers) 
    /// 
    /// IN: 
    /// int qbXMLMajorVers 
    /// int qbXMLMinorVers 
    /// string ticket 
    /// string strHCPResponse 
    /// string strCompanyFileName 
    /// string Country 
    /// int qbXMLMajorVers 
    /// int qbXMLMinorVers 
    /// 
    /// OUT: 
    /// string request 
    /// Possible values: 
    /// - “any_string” = Request XML for QBWebConnector to process 
    /// - "" = No more request XML 
    /// </summary> 
    public string sendRequestXML(string ticket, string strHCPResponse, string strCompanyFileName, 
     string qbXMLCountry, int qbXMLMajorVers, int qbXMLMinorVers) 
    { 
     // QuickBooks has asked for your next request 

     ... return a qbXML request here ... 
    } 

    [ WebMethod(Description="This web method facilitates web service to receive response XML from QuickBooks via QBWebConnector",EnableSession=true) ] 
    /// <summary> 
    /// WebMethod - receiveResponseXML() 
    /// Signature: public int receiveResponseXML(string ticket, string response, string hresult, string message) 
    /// 
    /// IN: 
    /// string ticket 
    /// string response 
    /// string hresult 
    /// string message 
    /// 
    /// OUT: 
    /// int retVal 
    /// Greater than zero = There are more request to send 
    /// 100 = Done. no more request to send 
    /// Less than zero = Custom Error codes 
    /// </summary> 
    public int receiveResponseXML(string ticket, string response, string hresult, string message) 
    { 
     // QuickBooks has sent you a qbXML response to your request 

     ... do something with 'response' here ... 
    } 

उदाहरण भी एक उदाहरण .QWC फ़ाइल शामिल है कि:

यह सबसे बुनियादी रूप है, यह इस तरह दिखता है। Here's some .QWC file documentation और यहां एक मूल उदाहरण है:

<?xml version="1.0"?> 
<QBWCXML> 
    <AppName>QuickBooks Integrator</AppName> 
    <AppID></AppID> 
    <AppURL>https://secure.domain.com/quickbooks/server.php</AppURL> 
    <AppDescription></AppDescription> 
    <AppSupport>http://www.domain.com/quickbooks/support.php</AppSupport> 
    <UserName>username</UserName> 
    <OwnerID>{90A44FB7-33D9-4815-AC85-AC86A7E7D1EB}</OwnerID> 
    <FileID>{57F3B9B6-86F1-4FCC-B1FF-967DE1813D20}</FileID> 
    <QBType>QBFS</QBType> 
    <Scheduler> 
     <RunEveryNMinutes>2</RunEveryNMinutes> 
    </Scheduler> 
    <IsReadOnly>false</IsReadOnly> 
</QBWCXML> 
+0

आपके उत्तर के लिए धन्यवाद। अब मैंने क्विकबुक वेब कनेक्टर में क्विकबुक ऐप जोड़ा है। अब मैं अपने एएसपीनेट एप्लिकेशन में क्विकबुक मूल्य कैसे प्राप्त कर सकता हूं? – Golda

+0

क्या आपने ऊपर पोस्ट किए गए किसी भी लिंक या दस्तावेज को पढ़ा था? क्या आपने अपना कोड पोस्ट किया ताकि हम देख सकें कि आप क्या कर रहे हैं? आप QuickBooks को क्या अनुरोध भेज रहे हैं? आप क्या प्रतिक्रिया प्राप्त कर रहे हैं? वेब कनेक्टर से लॉग क्या कहता है? –

+0

हां, मैंने दस्तावेज़ पढ़ा और .qwc फ़ाइल बनाई और https://developer.intuit.com/docs/0025_quickbooksapi/0055_devkits/0250_qb/0050_documentation/sample_code लिंक से वेब-सेवा डाउनलोड की। वेब कनेक्टर में एक एप्लिकेशन जोड़ें बटन का उपयोग करके एक एप्लिकेशन जोड़ा गया और चयनित अपडेट करें। फिर भी हर चीज ठीक है। तो मुझे क्या लगता है? – Golda

संबंधित मुद्दे