使用JACOB,本人曾经用过

解决方案 »

  1.   

    import com.jacob.com.*;
    import com.jacob.activeX.*;public class CustomerVerify
    {
    private String customerName = "";
    private String errorInfo = ""; public CustomerVerify( String branchId, String fundAccount, String password )
    {
    ActiveXComponent hsComm = new ActiveXComponent( "HsCommX.Comm" );
    Object hsComObj = hsComm.getObject();
    Dispatch.call( hsComObj, "Create" );
    int flag = Dispatch.call( hsComObj, "Connect" ).getInt();
    if( flag < 0 )
    {
    errorInfo = "与密码验证服务器的连接失败! ";
    return;
    }
    Dispatch.call( hsComObj, "SetHead", new Variant( Integer.parseInt( branchId ) ), new Variant( 200 ) );
    Dispatch.call( hsComObj, "SetRange", new Variant( 9 ), new Variant( 1 ) );
    Dispatch.call( hsComObj, "AddField", new Variant( "version" ) );
    Dispatch.call( hsComObj, "AddField", new Variant( "op_branch_no" ) );
    Dispatch.call( hsComObj, "AddField", new Variant( "op_station" ) );
    Dispatch.call( hsComObj, "AddField", new Variant( "op_entrust_way" ) );
    Dispatch.call( hsComObj, "AddField", new Variant( "branch_no" ) );
    Dispatch.call( hsComObj, "AddField", new Variant( "input_content" ) );
    Dispatch.call( hsComObj, "AddField", new Variant( "content_type" ) );
    Dispatch.call( hsComObj, "AddField", new Variant( "account_content" ) );
    Dispatch.call( hsComObj, "AddField", new Variant( "password" ) );
    Dispatch.call( hsComObj, "AddValue", new Variant( "1.00" ) );
    Dispatch.call( hsComObj, "AddValue", new Variant( branchId ) );
    Dispatch.call( hsComObj, "AddValue", new Variant( "www.westsecu.com" ) );
    Dispatch.call( hsComObj, "AddValue", new Variant( "" ) );
    Dispatch.call( hsComObj, "AddValue", new Variant( branchId ) );
    Dispatch.call( hsComObj, "AddValue", new Variant( "1" ) );
    Dispatch.call( hsComObj, "AddValue", new Variant( "0" ) );
    Dispatch.call( hsComObj, "AddValue", new Variant( fundAccount ) );
    Dispatch.call( hsComObj, "AddValue", new Variant( password ) ); flag = Dispatch.call( hsComObj, "Send" ).getInt();
    if( flag < 0 )
    {
    errorInfo = "向密码验证服务器传送数据失败! ";
    return;
    }
    Dispatch.call( hsComObj, "freepack" );
    flag = Dispatch.call( hsComObj, "Receive" ).getInt();
    if( flag < 0 )
    {
    errorInfo = "接收密码验证服务器数据失败! ";
    return;
    }
    if( hsComm.getProperty( "Eof" ).getInt() == 0 )
    {
    //Dispatch.call( hsComObj, "FieldByName", new Variant( "error_no" ) );
    errorInfo = Dispatch.call( hsComObj, "FieldByName", new Variant( "error_info" ) ).getString();
    customerName = Dispatch.call( hsComObj, "FieldByName", new Variant( "client_name" ) ).getString();
    }
    Dispatch.call( hsComObj, "Free" );
    } public String getErrorInfo()
    {
    return this.errorInfo;
    } public String getCustomerName()
    {
    return this.customerName;
    } public boolean isValid()
    {
    if( customerName.length() > 0 ) return true;
    return false;
    }}
      

  2.   

    CORBA能和COM通信吗,接口标准不一样呀