![]() | |
![]() |
| | Thread Tools | Search this Thread | Display Modes |
#1
| |||
| |||
|
#2
| |||
| |||
|
|
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; } } |
![]() |
| Thread Tools | Search this Thread |
| Display Modes | |
| |