We are using search&promote for seach on our site.
The usage is prettymuch inline with the OOTB searchpromote components in libs/cq/searchpromote path.
We receive an XML from s&p server.
We now are looking at having facets, I tried putting linklist facet on results page to get facets but it failed, so looking at logs and going through jar I noticed that facet component in its dialog calls a servlet (path+facetList.json) this servlet calls searchpromoteservice's get facetList method.
You should make sure that the XML that it is received is the AEM XML https://marketing.adobe.com/resources/help/en_US/snp/r_gsxmloutputforwem.html, not the normal XML. Also, it is not clear that which version of AEM your are sing . Actually is AEM code calling S&P, so the you should put the question in the AEM forum or contact support. you should not modified the templates in S&P to return JSON and you eed to re-write the AEM components to read them correctly, basically implement all S&P components.