2013-10-17 14 views

答えて

18

Web Connectorは、実際にはQuickBooksとあなた自身のアプリケーションの間にあるプロキシまたはリレーです。

概要として、基本的には、特定の一連のメソッドを話すSOAPサーバー/ Webサービスを構築します。その後、Web ConnectorはQuickBooksを実行しているマシンにインストールされ、Webサービスをポーリングして「おい、何かできますか」と尋ねると、WebサービスはqbXMLリクエスト(examples of qbXML here) Web Connectorはこれらの要求をQuickBooksに中継し、QuickBooksがそれらを処理し、応答がWebサービスに中継されます。その後、Webサービスが何とか応答を処理した後、次の要求をWeb Connectorに送信することがあります。

overview of the Web Connector hereがあります。または、QuickBooks SDKをダウンロードした場合は、100+ページのPDFがあります。詳しくはこちらをご覧ください。

あなたはおそらくもQuickBooksのSDKをインストールした後、この例を見てみたい:

  • C:\プログラムファイル(x86の)インテュイット\ IDN \ QBSDK12.0 \サンプル\ \ qbdt \ C-鋭い\ qbXML \ WCWebService

Web Connector SOAP実装の完全な実例です。例はまた、例えば.QWCファイルが含まれていることを

[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 ... 
    } 

:それは最も基本的な形だ時

が、それは次のようになります。 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

ありがとうございます。今Quickbooks Webコネクタにquickbooksアプリケーションを追加しました。では、どうすれば私のasp.netアプリケーションにquickbooksの値を取得できますか? – Golda

+0

上記のリンクやドキュメントを読んだことがありますか?あなたがしていることを見ることができるようにコードを投稿しましたか?どのリクエストをQuickBooksに送信していますか?戻ってくる回答は何ですか? Web Connectorからのログは何を表していますか? –

+0

はい、ドキュメントを読み込んで.qwcファイルを作成し、https://developer.intuit.com/docs/0025_quickbooksapi/0055_devkits/0250_qb/0050_documentation/sample_codeリンクからWebサービスをダウンロードしました。 Webコネクターでは、「アプリケーションを追加」ボタンを使用してアプリケーションを追加し、選択したものを更新します。それでもすべてのものは大丈夫です。それから私は何をすると思いますか? – Golda

関連する問題