I've been able to create my query and include the double quotes, thanks to a reply in the topic linked in my previous response. I'm currently using a rule that concatenates the values provided by the user to create the following query:
<query><filter><like><column name="Name" /><value>%1</value></like></filter></query>
It looks ok and it has been tested: I created a simple Infopath form that calls DBEnum using this filtering query and it works perfectly.
However, in the solution where I allow the user to dynamically change the values, the query fails, with the following error:
The SOAP response indicates that an error occurred on the server:
System.Web.Services.Protocols.SoapException: El servidor no puede procesar la solicitud. ---> System.ArgumentException: Invalid parameter
Nombre del parámetro: queryXml ---> System.Xml.XmlException: Los datos del nivel de raíz no son válidos. Línea 1, posición 1.
en System.Xml.XmlTextReaderImpl.Throw(Exception e)
en System.Xml.XmlTextReaderImpl.Throw(String res, String arg)
en System.Xml.XmlTextReaderImpl.Throw(Int32 pos, String res)
en System.Xml.XmlTextReaderImpl.ParseDocumentContent()
en System.Xml.XmlTextReaderImpl.Read()
en System.Xml.XmlLoader.Load(XmlDocument doc, XmlReader reader, Boolean preserveWhitespace)
en System.Xml.XmlDocument.Load(XmlReader reader)
en System.Xml.XmlDocument.LoadXml(String xml)
en Qdabra.DataBaseService.DatabaseEnumerationService.GetColumnsForRows2b(String database, String table, String queryXml)
--- Fin del seguimiento de la pila de la excepción interna ---
en Qdabra.DataBaseService.DatabaseEnumerationService.GetColumnsForRows2b(String database, String table, String queryXml)
--- Fin del seguimiento de la pila de la excepción interna ---
If the queryxml works when I insert it manually, why would it fail when the form injects it automatically?