1 package org.jinterop.dcom.test; 2 3 import java.net.UnknownHostException ; 4 5 import org.jinterop.dcom.common.JIException; 6 import org.jinterop.dcom.common.JIInterfaceDefinition; 7 import org.jinterop.dcom.common.JIJavaCoClass; 8 import org.jinterop.dcom.common.JIMethodDescriptor; 9 import org.jinterop.dcom.core.IJIComObject; 10 import org.jinterop.dcom.core.IJIUnknown; 11 import org.jinterop.dcom.core.JIComServer; 12 import org.jinterop.dcom.core.JIFlags; 13 import org.jinterop.dcom.core.JIInterfacePointer; 14 import org.jinterop.dcom.core.JIParameterObject; 15 import org.jinterop.dcom.core.JIProgId; 16 import org.jinterop.dcom.core.JISession; 17 import org.jinterop.dcom.core.JIString; 18 import org.jinterop.dcom.core.JIVariant; 19 import org.jinterop.dcom.win32.ComFactory; 20 import org.jinterop.dcom.win32.IJIDispatch; 21 22 public class Test_ITestServer2_Impl { 23 24 public void Execute(JIString str) 25 { 26 System.out.println(str.getString()); 27 } 28 31 public static void main(String [] args) { 32 33 if (args.length < 4) 34 { 35 System.out.println("Please provide address domain username password"); 36 return; 37 } 38 39 40 41 try { 42 JISession session1 = JISession.createSession(args[1],args[2],args[3]); 43 JISession session2 = JISession.createSession(args[1],args[2],args[3]); 44 JIComServer testServer1 = new JIComServer(JIProgId.valueOf(session1,"TestJavaServer.TestServer1"),args[0],session1); 45 IJIUnknown unkTestServer1 = testServer1.createInstance(); 46 IJIDispatch dispatch1 = (IJIDispatch)ComFactory.createCOMInstance(IJIDispatch.IID,(IJIComObject)unkTestServer1); 47 48 JIComServer testServer2 = new JIComServer(JIProgId.valueOf(session2,"TestJavaServer.TestServer2"),args[0],session2); 51 IJIUnknown unkTestServer2 = testServer2.createInstance(); 52 IJIComObject iTestServer2 = (IJIComObject)unkTestServer2.queryInterface("9CCC5120-457D-49F3-8113-90F7E97B54A7"); 54 dispatch1.callMethod("Call_TestServer2_Java", new Object []{new JIVariant(iTestServer2)}); 56 57 58 JIInterfaceDefinition interfaceDefinition = new JIInterfaceDefinition("9CCC5120-457D-49F3-8113-90F7E97B54A7"); 61 JIParameterObject parameterObject = new JIParameterObject(); 64 parameterObject.addInParamAsObject(new JIString(JIFlags.FLAG_REPRESENTATION_STRING_BSTR),JIFlags.FLAG_REPRESENTATION_STRING_BSTR); 65 JIMethodDescriptor methodDescriptor = new JIMethodDescriptor("Execute",parameterObject); 66 interfaceDefinition.addMethodDescriptor(methodDescriptor); 67 JIJavaCoClass _testServer2 = new JIJavaCoClass(interfaceDefinition,new Test_ITestServer2_Impl()); 69 IJIComObject __testServer2 = ComFactory.createCOMInstance((IJIComObject)unkTestServer2,JIInterfacePointer.getInterfacePointer(session1,_testServer2)); 71 dispatch1.callMethod("Call_TestServer2_Java", new Object []{new JIVariant(__testServer2)}); 73 74 } catch (UnknownHostException e) { 75 e.printStackTrace(); 76 } catch (JIException e) { 77 e.printStackTrace(); 78 } 79 80 81 } 82 83 } 84 | Popular Tags |