如何为QuickBooks Web连接器创建.qwc文件?
我正在将QuickBooks(桌面版)与ASP.NET应用程序集成。为此,我使用QuickBooks Web连接器。如何为自定义web服务创建.qwc文件?web连接器实际上只是一个代理或中继,位于QuickBooks和您自己的应用程序之间 作为一个概述——基本上,您构建了一个SOAP服务器/Web服务,它讲述了一组特定的方法。然后,Web连接器安装在运行QuickBooks的计算机上,并轮询您的Web服务,询问“嘿,有什么要我做的吗?”然后您的Web服务可以使用qbXML请求()进行响应,这些请求告诉Web连接器“添加此客户:…”或“向我发送匹配的发票:…”或者等等。然后Web连接器将这些请求转发给QuickBooks,QuickBooks处理这些请求,并将响应转发回您的Web服务。然后,您的web服务可能会以某种方式处理响应,然后将下一个请求发送到web连接器 有一个更大的,或者,如果你下载了,它有一个100多页的PDF,详细介绍了这一点 在安装QuickBooks SDK之后,您可能还想看看这个示例:如何为QuickBooks Web连接器创建.qwc文件?,quickbooks,qbxml,qbwc,Quickbooks,Qbxml,Qbwc,我正在将QuickBooks(桌面版)与ASP.NET应用程序集成。为此,我使用QuickBooks Web连接器。如何为自定义web服务创建.qwc文件?web连接器实际上只是一个代理或中继,位于QuickBooks和您自己的应用程序之间 作为一个概述——基本上,您构建了一个SOAP服务器/Web服务,它讲述了一组特定的方法。然后,Web连接器安装在运行QuickBooks的计算机上,并轮询您的Web服务,询问“嘿,有什么要我做的吗?”然后您的Web服务可以使用qbXML请求()进行响应,这些
- C:\Program Files(x86)\Intuit\IDN\QBSDK12.0\samples\qbdt\C-sharp\qbXML\WCWebService
[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 ...
}
[WebMethod]
///
///WebMethod-authenticate()
///验证尝试连接的web连接器的用户名和密码
///签名:公共字符串[]身份验证(字符串strUserName、字符串strPassword)
///
///在:
///字符串结构名
///字符串strPassword
///
///输出:
///字符串[]authReturn
///可能值:
///字符串[0]=票证
///字符串[1]
///-空字符串=使用当前公司文件
///-“无”=无进一步请求/无需采取进一步行动
///-“nvu”=无效用户
///-任何其他字符串值=使用此公司文件
///
公共字符串[]身份验证(字符串strUserName、字符串strPassword)
{
字符串[]authReturn=新字符串[2];
//生成随机会话票证
authReturn[0]=System.Guid.NewGuid().ToString();
//为了简化示例,使用了硬编码的用户名/密码。
字符串pwd=“密码”;
if(strUserName.Trim().Equals(“用户名”)&&strPassword.Trim().Equals(pwd))
{
//authReturn[1]的空字符串表示询问QBWebConnector
//连接到当前在QB中打开的公司文件
authReturn[1]=“”;
}
其他的
{
authReturn[1]=“nvu”;
}
返回authReturn;
}
[WebMethod(Description=“此web方法有助于web服务通过QBWebConnector向QuickBooks发送请求XML”,EnableSession=true)]
///
///WebMethod-sendRequestXML()
///签名:公共字符串sendRequestXML(字符串票证、字符串strhcrpresponse、字符串strCompanyFileName、,
///字符串国家/地区,int-qbxmlmmajorvers,int-qbXMLMinorVers)
///
///在:
///int qbXMLMajorVers
///int-qbXMLMinorVers
///串票
///字符串strhcrpresponse
///字符串strCompanyFileName
///弦国
///int qbXMLMajorVers
///int-qbXMLMinorVers
///
///输出:
///字符串请求
///可能值:
///-“any_string”=QBWebConnector要处理的请求XML
///-“”=不再请求XML
///
公共字符串sendRequestXML(字符串票证、字符串strhcrpresponse、字符串strCompanyFileName、,
字符串qbXMLCountry、int-qbXMLMajorVers、int-qbXMLMinorVers)
{
//QuickBooks已请求您的下一个请求
…在此返回qbXML请求。。。
}
[WebMethod(Description=“此web方法有助于web服务通过QBWebConnector从QuickBooks接收响应XML”,EnableSession=true)]
///
///WebMethod-ReceiverResponseXML()
///签名:public int receiveResponseXML(字符串票据、字符串响应、字符串hresult、字符串消息)
///
///在:
///串票
///字符串响应
///字符串hresult
///字符串消息
///
///输出:
///内部检索
///大于零=有更多的请求要发送
///100=完成。不再发送请求
///小于零=自定义错误代码
///
public int receiveResponseXML(字符串票据、字符串响应、字符串hresult、字符串消息)
{
//QuickBooks已向您发送了对您的请求的qbXML响应
…在这里用“回应”做点什么。。。
}
该示例还包括一个example.QWC文件。下面是一个基本的例子:
<?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>
QuickBooks积分器
https://secure.domain.com/quickbooks/server.php
http://www.domain.com/quickbooks/support.php
用户名
{90A44FB7-33D9-4815-AC85-AC86A7E7D1EB}
{57F3B9B6-86F1-4FCC-B1FF-967DE1813D20}
QBFS
2.
假的
谢谢您的回答。现在,我已将quickbooks应用程序添加到Quickbook web连接器。现在,我如何将quickbooks值获取到我的asp.net应用程序?您是否阅读了我上面发布的任何链接或文档?你有没有发布你的代码以便我们能看到你在做什么?您向QuickBooks发送了什么请求?你得到的回应是什么?Web连接器中的日志显示了什么?是的,我阅读了文档,创建了.qwc文件,并从链接下载了Web服务。在web connector中,使用“添加应用程序”按钮添加应用程序,并更新选定的。但一切都很好。那么我该怎么办呢?那么您可以从sendRequestXML方法返回InvoiceQueryRq,然后在ReceiverResponseXML方法中返回发票列表。下面是一些qbXML示例: