HighTechTalks DotNet Forums  

Regsvcs error : Specified cast is not valid.

Dotnet Framework (Component Services) microsoft.public.dotnet.framework.component_services


Discuss Regsvcs error : Specified cast is not valid. in the Dotnet Framework (Component Services) forum.



Reply
 
Thread Tools Search this Thread Display Modes
  #1  
Old   
Jim Hsu
 
Posts: n/a

Default Regsvcs error : Specified cast is not valid. - 09-02-2004 , 05:44 AM






it's pretty strange that I will alwasy get an error when using RegSvcs to
register a Serviced Components.

the error is


The following installation error occurred:
1: An unknown error occurred while configuring components.
2: Specified cast is not valid.


code below:

#region Class Attribute for each AA should be modified


[ClassInterface(ClassInterfaceType.AutoDual),

GuidAttribute("28B8558E-EC80-4f32-9595-81783DB5BDB3"),

ProgId("CDPC.Bnkn1"),


Transaction(TransactionOption.Supported),

EventTrackingEnabled(true),


ObjectPooling(Enabled=true,MinPoolSize=0,MaxPoolSi ze=6),

ComVisible(true),

JustInTimeActivation(true)

]


#endregion Class Attribute for each AA should be modified

public class CdpcBnkn: ServicedComponent, IAdapter

{

static readonly LogPack logger = LogPack.GetLogger(typeof(CdpcBnkn));


protected string sProcCode = "CdpcBnkn";

[ComVisible(true)]

public string ProcCode

{

get{ return sProcCode ;}

set{ sProcCode = value;}

}

public CdpcBnkn()

{

logger.Debug("Constructed");

}


public bool bConnected = false;

public bool IsConnected

{

get{ return bConnected; }


}

[ComVisible(true)]

public string SendReceive(string request)

{

DateTime dt1 = DateTime.Now;

logger.Debug("SendReceive( string ) --> request == \n" + request);

//ContextUtil.DeactivateOnReturn = true;


try

{


#region CdpcBnknRq

CdpcBnknRq bnknRq1 = new CdpcBnknRq();


bnknRq1.RqUid = Guid.NewGuid().ToString();

/// need to geneate the STAN by SerialNoMgr

Srnoman srnoman1 = new Srnoman();

srnoman1.bluestarDBConn = const1.BlueStarDBConnectionString;

string stan1 = "0000000";

try

{

stan1 = srnoman1.sNextSerialNo( const1.SerialNoTask);

}

catch(Exception e)

{

logger.Error("SerialNoMgr error on task " + const1.SerialNoTask, e,
gac.SerialNoMgrError);

}

logger.Debug("using Stan " + stan1);

bnknRq1.STAN = stan1;

bnknRq1.TrnStartDateTime = DateTime.Now.ToString("yyyyMMddhhmmss");

if (this.ProcCode != "BNKN")

{

bnknRq1.ProcCode = "BNKN";

}

else

{

bnknRq1.ProcCode = "BNKF";

}


logger.Info("ProcCode is now " + bnknRq1.ProcCode);

#endregion CdpcBnknRq

#region Serialize CdpcBnknRq


//XmlDocument xd1 = new XmlDocument();

//XmlNodeWriter nodeWriter1 = new XmlNodeWriter(xd1, true);

StringBuilder builder1 = new StringBuilder();

StringWriter sw1 = new StringWriter(builder1);

XmlTextWriter writer1 = new XmlTextWriter( sw1);


XmlSerializer cdpcSerializer = new
XmlSerializer(typeof(CdpcBnknRq),const1.BlueStarNa mesapce);

//StringBuilder builder1 = new StringBuilder();

//XmlTextWriter writer1 = new XmlTextWriter( new StringWriter(build1));

//writer1.Formatting = Formatting.Indented;

XmlSerializerNamespaces namespaces1 = new XmlSerializerNamespaces();

namespaces1.Add("", const1.BlueStarNamesapce);

//cdpcSerializer.Serialize( nodeWriter1, bnknRq1);

cdpcSerializer.Serialize( writer1, bnknRq1, namespaces1);

//'nodeWriter1.Flush();

//'nodeWriter1.Close();

writer1.Close();


logger.Debug("Bnkn Request is " + builder1.ToString());





#endregion Serialize CdpcBnknRq

WSMsgHandler.MsgHandler ws1 = new WSMsgHandler.MsgHandler();

ws1.Url = const1.WebSerivceUrl;

ws1.Timeout = const1.WebSerivceTimeOutMiniSec;

//XmlElement responseElement;

string sResponse;

int nWsRet = ws1.SubmitXmlString( builder1.ToString(), out sResponse );

logger.Info(" ** respose is " + sResponse);


StatusMan sman1 = new StatusMan();

sman1.connectionString = const1.BlueStarDBConnectionString;

BlueStarError bluestarStatus1;

bool bMapped = false;

if (nWsRet != 0)

{


//string sStatusCode,sSeverity, sStatusDesc;


//bMapped = sman1.StatusMap( const1.BlueStarStatusSource, nWsRet,
responseElement, out xeMapped, out sStatusCode,

// out sSeverity, out sStatusDesc );

bMapped = sman1.StatusMap("BlueStar", nWsRet.ToString(), out
bluestarStatus1);



if ( bMapped )

{

logger.Info("Mapped Status is " + bluestarStatus1.StatusCode + ", severity =
" +

bluestarStatus1.Severity +

" , StatusDesc = " + bluestarStatus1.StatusDesc );

}


//bluestarStatus1 = new BlueStarError(bnknRq1.MsgName, sStatusCode
,sSeverity ,sStatusDesc);

logger.Info("msgName is " + bluestarStatus1.MsgName );


bluestarStatus1.RqUid = bnknRq1.RqUid ;


bConnected = false;

}

else

{

#region deserialize the bnknRq1

cdpcSerializer = null;

cdpcSerializer = new XmlSerializer(typeof(CdpcBnknRs),
const1.BlueStarNamesapce);

//XmlNodeReader nodeReader1 = new XmlNodeReader(responseElement);

StringReader sr1 = new StringReader( sResponse);

//NameTable nt1 = new NameTable();


XmlTextReader reader1 = new XmlTextReader(sr1);



CdpcBnknRs bnknRs1 = new CdpcBnknRs();

bnknRs1 = ( CdpcBnknRs ) cdpcSerializer.Deserialize(reader1);


logger.Debug(" response = " + bnknRs1.data );

#endregion Deserialize the bnknRq1


bConnected = true;


}


DateTime dt2 = DateTime.Now;

TimeSpan ts1 = dt2.Subtract(dt1);

logger.Info("-------------- Transaction TimeSpan = " + ts1.ToString());



//return responseElement.OuterXml;

logger.Info("response is " + sResponse);

return sResponse;

}

catch(Exception e)

{

logger.Error( "AA error", e, CbfxStatus.AAError);

return e.ToString();

}

}


[ComVisible(true)]

[AutoComplete(true)]

public string SendReceiveX(string request)

{

return string.Empty;

}


}



Reply With Quote
  #2  
Old   
Jim Hsu
 
Posts: n/a

Default Re: Regsvcs error : Specified cast is not valid. - 09-02-2004 , 11:18 AM






solved. use property intead of attribute,...
strange. I don't remember that was on the document....
appreicate if anyone can provide a document link...

thx
jim

"Jim Hsu" <orice.bug (AT) nospam (DOT) msa.hinet.net> wrote

Quote:
it's pretty strange that I will alwasy get an error when using RegSvcs to
register a Serviced Components.

the error is


The following installation error occurred:
1: An unknown error occurred while configuring components.
2: Specified cast is not valid.


code below:

#region Class Attribute for each AA should be modified


[ClassInterface(ClassInterfaceType.AutoDual),

GuidAttribute("28B8558E-EC80-4f32-9595-81783DB5BDB3"),

ProgId("CDPC.Bnkn1"),


Transaction(TransactionOption.Supported),

EventTrackingEnabled(true),


ObjectPooling(Enabled=true,MinPoolSize=0,MaxPoolSi ze=6),

ComVisible(true),

JustInTimeActivation(true)

]


#endregion Class Attribute for each AA should be modified

public class CdpcBnkn: ServicedComponent, IAdapter

{

static readonly LogPack logger = LogPack.GetLogger(typeof(CdpcBnkn));


protected string sProcCode = "CdpcBnkn";

[ComVisible(true)]

public string ProcCode

{

get{ return sProcCode ;}

set{ sProcCode = value;}

}

public CdpcBnkn()

{

logger.Debug("Constructed");

}


public bool bConnected = false;

public bool IsConnected

{

get{ return bConnected; }


}

[ComVisible(true)]

public string SendReceive(string request)

{

DateTime dt1 = DateTime.Now;

logger.Debug("SendReceive( string ) --> request == \n" + request);

//ContextUtil.DeactivateOnReturn = true;


try

{


#region CdpcBnknRq

CdpcBnknRq bnknRq1 = new CdpcBnknRq();


bnknRq1.RqUid = Guid.NewGuid().ToString();

/// need to geneate the STAN by SerialNoMgr

Srnoman srnoman1 = new Srnoman();

srnoman1.bluestarDBConn = const1.BlueStarDBConnectionString;

string stan1 = "0000000";

try

{

stan1 = srnoman1.sNextSerialNo( const1.SerialNoTask);

}

catch(Exception e)

{

logger.Error("SerialNoMgr error on task " + const1.SerialNoTask, e,
gac.SerialNoMgrError);

}

logger.Debug("using Stan " + stan1);

bnknRq1.STAN = stan1;

bnknRq1.TrnStartDateTime = DateTime.Now.ToString("yyyyMMddhhmmss");

if (this.ProcCode != "BNKN")

{

bnknRq1.ProcCode = "BNKN";

}

else

{

bnknRq1.ProcCode = "BNKF";

}


logger.Info("ProcCode is now " + bnknRq1.ProcCode);

#endregion CdpcBnknRq

#region Serialize CdpcBnknRq


//XmlDocument xd1 = new XmlDocument();

//XmlNodeWriter nodeWriter1 = new XmlNodeWriter(xd1, true);

StringBuilder builder1 = new StringBuilder();

StringWriter sw1 = new StringWriter(builder1);

XmlTextWriter writer1 = new XmlTextWriter( sw1);


XmlSerializer cdpcSerializer = new
XmlSerializer(typeof(CdpcBnknRq),const1.BlueStarNa mesapce);

//StringBuilder builder1 = new StringBuilder();

//XmlTextWriter writer1 = new XmlTextWriter( new StringWriter(build1));

//writer1.Formatting = Formatting.Indented;

XmlSerializerNamespaces namespaces1 = new XmlSerializerNamespaces();

namespaces1.Add("", const1.BlueStarNamesapce);

//cdpcSerializer.Serialize( nodeWriter1, bnknRq1);

cdpcSerializer.Serialize( writer1, bnknRq1, namespaces1);

//'nodeWriter1.Flush();

//'nodeWriter1.Close();

writer1.Close();


logger.Debug("Bnkn Request is " + builder1.ToString());





#endregion Serialize CdpcBnknRq

WSMsgHandler.MsgHandler ws1 = new WSMsgHandler.MsgHandler();

ws1.Url = const1.WebSerivceUrl;

ws1.Timeout = const1.WebSerivceTimeOutMiniSec;

//XmlElement responseElement;

string sResponse;

int nWsRet = ws1.SubmitXmlString( builder1.ToString(), out sResponse );

logger.Info(" ** respose is " + sResponse);


StatusMan sman1 = new StatusMan();

sman1.connectionString = const1.BlueStarDBConnectionString;

BlueStarError bluestarStatus1;

bool bMapped = false;

if (nWsRet != 0)

{


//string sStatusCode,sSeverity, sStatusDesc;


//bMapped = sman1.StatusMap( const1.BlueStarStatusSource, nWsRet,
responseElement, out xeMapped, out sStatusCode,

// out sSeverity, out sStatusDesc );

bMapped = sman1.StatusMap("BlueStar", nWsRet.ToString(), out
bluestarStatus1);



if ( bMapped )

{

logger.Info("Mapped Status is " + bluestarStatus1.StatusCode + ", severity
= " +

bluestarStatus1.Severity +

" , StatusDesc = " + bluestarStatus1.StatusDesc );

}


//bluestarStatus1 = new BlueStarError(bnknRq1.MsgName, sStatusCode
,sSeverity ,sStatusDesc);

logger.Info("msgName is " + bluestarStatus1.MsgName );


bluestarStatus1.RqUid = bnknRq1.RqUid ;


bConnected = false;

}

else

{

#region deserialize the bnknRq1

cdpcSerializer = null;

cdpcSerializer = new XmlSerializer(typeof(CdpcBnknRs),
const1.BlueStarNamesapce);

//XmlNodeReader nodeReader1 = new XmlNodeReader(responseElement);

StringReader sr1 = new StringReader( sResponse);

//NameTable nt1 = new NameTable();


XmlTextReader reader1 = new XmlTextReader(sr1);



CdpcBnknRs bnknRs1 = new CdpcBnknRs();

bnknRs1 = ( CdpcBnknRs ) cdpcSerializer.Deserialize(reader1);


logger.Debug(" response = " + bnknRs1.data );

#endregion Deserialize the bnknRq1


bConnected = true;


}


DateTime dt2 = DateTime.Now;

TimeSpan ts1 = dt2.Subtract(dt1);

logger.Info("-------------- Transaction TimeSpan = " + ts1.ToString());



//return responseElement.OuterXml;

logger.Info("response is " + sResponse);

return sResponse;

}

catch(Exception e)

{

logger.Error( "AA error", e, CbfxStatus.AAError);

return e.ToString();

}

}


[ComVisible(true)]

[AutoComplete(true)]

public string SendReceiveX(string request)

{

return string.Empty;

}


}





Reply With Quote
Reply




Thread Tools Search this Thread
Search this Thread:

Advanced Search
Display Modes

Posting Rules
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

vB code is On
Smilies are On
[IMG] code is On
HTML code is Off



Powered by vBulletin Version 3.5.4
Copyright ©2000 - 2008, Jelsoft Enterprises Ltd.