Good Morning All,
I am trying to use the .NET XCC interface to invoke an XQuery module
in MLS. To this end, I have created an XDBC server in the admin UI.
On the settings page for this server, I've entered the following
information:
xdbc server name: XDBCServer
library: XDBCLib
port 8085
modules: Documents
database: Documents
etc.
Then, I created a directory called XDBCLib under C:\Program
Files\MarkLogic. In this location, I created a script called foo.xqy
which contains the following code:
define variable $message as xs:string external
data($message)
In my .NET application, I have the following code:
static string InvokeTest(StringBuilder xmlBuffer)
{
var contentSource =
ContentSourceFactory.NewContentSource("192.168.1.43", 8085, "foo",
"bar");
var session = contentSource.NewSession();
var moduleUri = "foo.xqy"; // I've also tried "/XDBCLib/foo.xqy"
which didn't work either.
var queryRequest = session.NewModuleInvoke(moduleUri);
queryRequest.SetNewStringVariable("message", xmlBuffer.ToString());
var results = session.SubmitRequest(queryRequest);
session.Close();
return results.AsString();
}
However, this code throws the following error when SubmitRequest is called:
Marklogic.Xcc.Exceptions.XQueryException was unhandled
Message="Server unable to build program from non-text document"
Source="MarklogicXcc"
Code="XDMP-TEXTNODE"
FormatString="XDMP-TEXTNODE: XDBCLib/XDBCLib/foo.xqy -- Server
unable to build program from non-text document"
Retryable=false
StackTrace:
at Marklogic.Xcc.Impl.SessionImpl.SubmitRequest(Request request)
at Program.InvokeTest(StringBuilder xmlBuffer) in
C:\MLSTest\Program.cs:line 45
at Program.Main(String[] args) in C:\MLSTest\Program.cs:line 20
at System.AppDomain._nExecuteAssembly(Assembly assembly, String[] args)
at System.AppDomain.ExecuteAssembly(String assemblyFile,
Evidence assemblySecurity, String[] args)
at Microsoft.VisualStudio.HostingProcess.HostProc.RunUsersAssembly()
at System.Threading.ThreadHelper.ThreadStart_Context(Object state)
at System.Threading.ExecutionContext.Run(ExecutionContext
executionContext, ContextCallback callback, Object state)
at System.Threading.ThreadHelper.ThreadStart()
InnerException:
If anyone has any ideas on why this might be, I would appreciate the help.
--
Regards,
Travis Spencer
_______________________________________________
General mailing list
[email protected]
http://xqzone.com/mailman/listinfo/general