batoha
Active Member
Hello, everybody.
Can anyone list the steps I have to perfom in order to setup XML interoperability on B7333 (Xe) on Windows?
I tried to modify server side jde.ini (KERNEL #6 and #15).
I tried to modify workstation side jde.ini in the same manner.
I get C# code which marshalls strings passed to jdenet.
Nothing helps me to pass through. I always get return code 14 OneWorld connection failed.
Should I create explicit socket connection or should I setup any environment variables? Which port I have to use and do I really have to pay attention to it? What server process I have to start?
I found no information about it. So I got into some kind of vicious circle trying to make it work.
Here is the C# I use to do "CallObject" calls:
///////////////////////////////
[DllImport("xmlinterop.dll",
EntryPoint = "_jdeXMLRequest@20",
CharSet = CharSet.Auto,
ExactSpelling = false,
CallingConvention = CallingConvention.StdCall,
SetLastError = true)]
private static extern IntPtr jdeXMLRequest([MarshalAs(UnmanagedType.LPWStr)] StringBuilder server,
UInt16 port, Int32 timeout, [MarshalAs(UnmanagedType.LPStr)] StringBuilder buf, Int32 length);
[DllImport("xmlinterop.dll",
EntryPoint = "_jdeFreeXMLResponse@4",
CharSet = CharSet.Auto,
ExactSpelling = false,
CallingConvention = CallingConvention.StdCall,
SetLastError = true)]
private static extern void jdeFreeXMLResponse(IntPtr buf);
public static string JdeXmlRequest(XmlDocument xmlInput, StringBuilder sbServerName,
UInt16 intPort, Int32 intTimeout)
{
StringBuilder sbXML = new StringBuilder();
XmlWriter xWriter = XmlWriter.Create(sbXML);
string result;
xmlInput.WriteTo(xWriter);
xWriter.Close();
IntPtr JDEXMLData = jdeXMLRequest(sbServerName, intPort, intTimeout, sbXML, sbXML.Length);
result = Marshal.PtrToStringAnsi(JDEXMLData);
jdeFreeXMLResponse(JDEXMLData);
return result;
}
///////////////////////////////
With respect, Sergey.
Can anyone list the steps I have to perfom in order to setup XML interoperability on B7333 (Xe) on Windows?
I tried to modify server side jde.ini (KERNEL #6 and #15).
I tried to modify workstation side jde.ini in the same manner.
I get C# code which marshalls strings passed to jdenet.
Nothing helps me to pass through. I always get return code 14 OneWorld connection failed.
Should I create explicit socket connection or should I setup any environment variables? Which port I have to use and do I really have to pay attention to it? What server process I have to start?
I found no information about it. So I got into some kind of vicious circle trying to make it work.
Here is the C# I use to do "CallObject" calls:
///////////////////////////////
[DllImport("xmlinterop.dll",
EntryPoint = "_jdeXMLRequest@20",
CharSet = CharSet.Auto,
ExactSpelling = false,
CallingConvention = CallingConvention.StdCall,
SetLastError = true)]
private static extern IntPtr jdeXMLRequest([MarshalAs(UnmanagedType.LPWStr)] StringBuilder server,
UInt16 port, Int32 timeout, [MarshalAs(UnmanagedType.LPStr)] StringBuilder buf, Int32 length);
[DllImport("xmlinterop.dll",
EntryPoint = "_jdeFreeXMLResponse@4",
CharSet = CharSet.Auto,
ExactSpelling = false,
CallingConvention = CallingConvention.StdCall,
SetLastError = true)]
private static extern void jdeFreeXMLResponse(IntPtr buf);
public static string JdeXmlRequest(XmlDocument xmlInput, StringBuilder sbServerName,
UInt16 intPort, Int32 intTimeout)
{
StringBuilder sbXML = new StringBuilder();
XmlWriter xWriter = XmlWriter.Create(sbXML);
string result;
xmlInput.WriteTo(xWriter);
xWriter.Close();
IntPtr JDEXMLData = jdeXMLRequest(sbServerName, intPort, intTimeout, sbXML, sbXML.Length);
result = Marshal.PtrToStringAnsi(JDEXMLData);
jdeFreeXMLResponse(JDEXMLData);
return result;
}
///////////////////////////////
With respect, Sergey.