Ravi,

If you have the QBWC skeleton all set up and ready to go you will need to implement it's functions.  For your example you will want to implement the CustomerQueryRq request within the buildRequest() function.  Here is a sample of adding a CustomerQueryRq to the request.

<code>XmlElement qbXML = inputXMLDoc.CreateElement("QBXML");
			inputXMLDoc.AppendChild(qbXML);
			XmlElement qbXMLMsgsRq = inputXMLDoc.CreateElement("QBXMLMsgsRq");
			qbXML.AppendChild(qbXMLMsgsRq);
			qbXMLMsgsRq.SetAttribute("onError", "stopOnError");
            XmlElement customerQueryRq = inputXMLDoc.CreateElement("CustomerQueryRq");
            qbXMLMsgsRq.AppendChild(customerQueryRq);
            customerQueryRq.SetAttribute("requestID", "1");
            
            XmlElement maxReturned=inputXMLDoc.CreateElement("MaxReturned");
            customerQueryRq.AppendChild(maxReturned).InnerText = "1000000";
            XmlElement activeStatus = inputXMLDoc.CreateElement("ActiveStatus");
            customerQueryRq.AppendChild(activeStatus).InnerText = "All";
			
			strRequestXML = inputXMLDoc.OuterXml;
			req.Add(strRequestXML);</code>

When the QBWC "fires" from the QBWC on your Quickbooks server it will add a Customer Query to the request.  You handle the response in the receiveResponseXML(...) function of the skeleton.  You can use something simple like response.Contains("CustomerQueryRs") to identify the response or can get more complex if you like.  The response is returned as XML and all the details of the response can be seen in the Unified Onscreen Reference of the SDK 7.0 installation.

For your case when this comes back out you will want to populate a database with the customer information that you can then use to keep up to date with the web connector and query to display on your site.  Similarly, using the OSR you can see the XML format to send data into Quickbooks.  I prefer to have a SQL table that has pending input requests that my applications place the appropriate XML into.  Once the QBWC "fires" on it's specified interval I query this table in the build request and add the XML from the records to the request.  This sends them into QB.

I realize that is an incredibly abbreviated answer but the power of the QBWC is that you can pull/push the data as you see fit.  It facilitates the searching/requesting of info on a schedule as well as guaranteeing control over the data going in and out of the QB file to prevent accidental damage to it like you could do with the QODBC connection.  It is much faster too.

The QBWC is just a brige between your QB system and your relational database for the most part.  The QBWC service is registered and called via registering the service on the QB server under the QBWC application (same folder as QB).

Hope that helps.  If you run into trouble or want more elaboration on any of the steps post a reply.