Changeset 2545


Ignore:
Timestamp:
Jan 31, 2011, 8:36:36 PM (10 years ago)
Author:
Tim Podeszwa
Message:

code reworked

Location:
trunk/CrypPlugins/WebService
Files:
5 edited

Legend:

Unmodified
Added
Removed
  • trunk/CrypPlugins/WebService/AnimationController.cs

    r639 r2545  
    4141            else
    4242            {
    43                 this.presentation.webService.showWarning("Es sind keine Sicherheitselemente vorhanden");
     43                this.presentation.webService.ShowWarning("Es sind keine Sicherheitselemente vorhanden");
    4444               
    4545            }
     
    100100        public void getSecurityTotalNumber()
    101101        {
    102             wsSecurityElementsCounter = this.presentation.webService.getValidator().getTotalSecurityElementsNumber();
     102            wsSecurityElementsCounter = this.presentation.webService.Validator().GetTotalSecurityElementsNumber();
    103103
    104104     
    105105        }
    106106        public string getSecurityElement(int elementNumber)
    107         {string t=this.presentation.webService.getValidator().getWSSecurityHeaderElement(elementNumber);
     107        {string t=this.presentation.webService.Validator().GetWSSecurityHeaderElement(elementNumber);
    108108        return t;
    109109        }
  • trunk/CrypPlugins/WebService/DecryptionAnimation.cs

    r639 r2545  
    3939        public void initializeAnimation()
    4040        {
    41             totalKeyNumber = this.presentation.webService.getValidator().getEncryptedKeyNumber();
     41            totalKeyNumber = this.presentation.webService.Validator().GetEncryptedKeyNumber();
    4242            actualEncryptedKeyNumber = 0;
    4343            status = 1;
     
    197197                   TreeViewItem tempItem = new TreeViewItem();
    198198                 
    199                    presentation.CopyXmlToTreeView((XmlNode)presentation.webService.getValidator().decryptSingleElement(actualEncryptedKeyNumber), ref tempItem, false);
     199                   presentation.CopyXmlToTreeView((XmlNode)presentation.webService.Validator().DecryptSingleElementByKeyNumber(actualEncryptedKeyNumber), ref tempItem, false);
    200200                 
    201201                   TreeViewItem decryptedDataItem = (TreeViewItem)tempItem.Items[0];
  • trunk/CrypPlugins/WebService/SignatureValidator.cs

    r2541 r2545  
    9797                    catch (Exception e)
    9898                    {
    99                         this._webService.showError(e.Message);
     99                        this._webService.ShowError(e.Message);
    100100                        this._valid = false;
    101101                    }
     
    112112                this._webService.presentation.txtTrace.Text += this._tracer.decryptionTrace;
    113113            }, null);
    114             this._webService.modifiedInput = this._inputDocument;
     114            this._webService.ModifiedInputDocument = this._inputDocument;
    115115        }
    116116
     
    141141            keyInfoElement.AppendChild(encryptedKeyElement);
    142142            XmlElement encryptedDataElement = (XmlElement)referenceElementList[0];
    143             RSACryptoServiceProvider provider = this._webService.provider;
     143            RSACryptoServiceProvider provider = this._webService.RSACryptoServiceProvider;
    144144            XmlDocument doc = new XmlDocument();
    145145            XmlElement root = doc.CreateElement("root");
     
    189189            keyInfoElement.AppendChild(_tempdocument.ImportNode((XmlNode)encryptedKey.GetXml(), true));
    190190            XmlElement encryptedDataElement = (XmlElement)referenceElementList[0];
    191             RSACryptoServiceProvider provider = this._webService.provider;
     191            RSACryptoServiceProvider provider = this._webService.RSACryptoServiceProvider;
    192192            EncryptedXml encXml = new EncryptedXml(this._tempdocument);
    193193            encXml.AddKeyNameMapping("Web Service Public Key", provider);
  • trunk/CrypPlugins/WebService/WebService.cs

    r2334 r2545  
    4242    [Author("Tim Podeszwa", "tim.podeszwa@student.uni-siegen.de", "Uni Siegen", "http://www.uni-siegen.de")]
    4343    [PluginInfo(false, "WebService", "Represents a Web Service", "", "WebService/webservice.png")]
    44     public class WebService:IThroughput
     44    public class WebService : IThroughput
    4545    {
    46         private ISettings settings = new WebServiceSettings();
     46        #region Fields
     47
     48        private ISettings _settings = new WebServiceSettings();
    4749        public WebServicePresentation presentation;
    4850        private WebServiceQuickWatchPresentation quickWatch;
    49         public XmlDocument inputString, outputString, modifiedInput;
    50         public Object service;
    51         public string[] wsdlMethode;
    52         public ServiceDescription serviceDescription;
    53         public XmlDocument wsdlDocument, soapResponse;
    54         public XmlNode node, envelope, body;
    55         public string[] stringArray = new string[5];
    56         public DataSet set;
    57         public string eingabeparameter = "";
    58         public string eingabeparameterString = "";
    59         public string[] rückgabeparameter = new string[5];
    60         public string methodName="";
    61         public string webMethod = "";
    62         private SignedXml signedXml;
    63         private SignatureValidator validator;
    64         private XmlSchemaCollection collection;
    65         private string wsdl,publickey;
    66 
    67         public RSACryptoServiceProvider provider;
     51        private XmlDocument _inputDocument;
     52        private XmlDocument _outputDocument;
     53        private XmlDocument _modifiedInputDocument;
     54        private XmlDocument _wsdlDocument;
     55        private XmlDocument _soapResponse;
     56        private Object _service;
     57        private string[] _wsdlMethod;
     58        private ServiceDescription _serviceDescription;
     59        private XmlNode _node;
     60        private XmlNode _envelope;
     61        private XmlNode _body;
     62        private string[] _stringToCompile = new string[5];
     63        private DataSet _set;
     64        private string _inputParameter = "";
     65        private string _inputParameterString = "";
     66        private string[] _returnParameter = new string[5];
     67        private string _methodName = "";
     68        private SignatureValidator _validator;
     69        private string _publickey;
     70        private RSACryptoServiceProvider _rsaCryptoServiceProvider;
     71
     72        #endregion
     73
     74        #region Properties
     75
     76        public XmlDocument ModifiedInputDocument
     77        {
     78            get
     79            {
     80                return this._modifiedInputDocument;
     81            }
     82            set
     83            {
     84                this._modifiedInputDocument = value;
     85            }
     86        }
     87
     88        public ServiceDescription ServiceDescription
     89        {
     90            get
     91            {
     92                return this._serviceDescription;
     93            }
     94        }
     95
     96        public RSACryptoServiceProvider RSACryptoServiceProvider
     97        {
     98            get
     99            {
     100                return this._rsaCryptoServiceProvider;
     101            }
     102        }
     103
     104        public SignatureValidator Validator()
     105        {
     106            return this._validator;
     107        }
     108
     109        [PropertyInfo(Direction.InputData, "SOAP input", "Input a SOAP message to be processed by the Web Service", "", true, false, QuickWatchFormat.Text, "XmlConverter")]
     110        public XmlDocument InputString
     111        {
     112            get { return this._inputDocument; }
     113            set
     114            {
     115                this._inputDocument = value;
     116                OnPropertyChanged("InputString");
     117            }
     118
     119        }
     120
     121        [PropertyInfo(Direction.OutputData, "WSDL output", "Web Service Description", null)]
     122        public XmlDocument Wsdl
     123        {
     124            get { return this._wsdlDocument; }
     125            set
     126            {
     127                this._wsdlDocument = value;
     128                OnPropertyChanged("Wsdl");
     129            }
     130        }
     131
     132        [PropertyInfo(Direction.OutputData, "Public-Key output", "Encryption Key", null)]
     133        public string PublicKey
     134        {
     135            get { return this._publickey; }
     136            set
     137            {
     138                this._publickey = value;
     139                OnPropertyChanged("PublicKey");
     140            }
     141        }
     142
     143        [PropertyInfo(Direction.OutputData, "SOAP output", "Response from Web Service", "", false, false, QuickWatchFormat.Text, "XmlOutputConverter")]
     144        public XmlDocument OutputString
     145        {
     146            get { return this._outputDocument; }
     147            set
     148            {
     149                this._outputDocument = value;
     150                OnPropertyChanged("OutputString");
     151            }
     152        }
     153
     154        public ServiceDescription Description
     155        {
     156            get { return this._serviceDescription; }
     157            set { this._serviceDescription = value; }
     158        }
     159
     160        public WebServiceSettings WebServiceSettings
     161        {
     162            get { return (WebServiceSettings)this._settings; }
     163            set { this._settings = value; }
     164        }
     165
     166        public Object XmlOutputConverter(Object Data)
     167        {
     168            XmlDocument doc = (XmlDocument)this._outputDocument;
     169            StringWriter stringWriter = new StringWriter();
     170            Object obj = new Object();
     171            try
     172            {
     173                XmlTextWriter xmlWriter = new XmlTextWriter(stringWriter);
     174                xmlWriter.Formatting = Formatting.Indented;
     175                doc.WriteContentTo(xmlWriter);
     176                obj = (Object)stringWriter.ToString();
     177            }
     178            catch (Exception e)
     179            {
     180                Console.WriteLine(e.ToString());
     181
     182            }
     183
     184
     185            return obj;
     186        }
     187
     188        public Object XmlConverter(Object Data)
     189        {
     190            XmlDocument doc = (XmlDocument)this._inputDocument;
     191            StringWriter stringWriter = new StringWriter();
     192            Object obj = new Object();
     193            try
     194            {
     195                XmlTextWriter xmlWriter = new XmlTextWriter(stringWriter);
     196                xmlWriter.Formatting = Formatting.Indented;
     197                doc.WriteContentTo(xmlWriter);
     198                obj = (Object)stringWriter.ToString();
     199            }
     200            catch (Exception e)
     201            {
     202                Console.WriteLine(e.ToString());
     203
     204            }
     205
     206            return obj;
     207        }
     208        #endregion
     209
     210        #region Constructor
     211
    68212        public WebService()
    69213        {
    70 
    71 
    72        
    73          
    74          
    75            
    76             wsdlDocument = new XmlDocument();
    77             modifiedInput = new XmlDocument();
    78           //  XmlSchema soapSchema = new XmlSchema();
    79           //  XmlSchema signatureSchema = new XmlSchema();
    80           //  string soapschema = Resource1.SoapSchema;
    81           //  string signatureschema = Resource1.SignatureSchema;
    82           //  string wsseSchema = Resource1.WSSESchema;
    83           //  collection = new XmlSchemaCollection();
    84           //  StringReader sreader = new StringReader(soapschema);
    85           //  XmlTextReader reader = new XmlTextReader(sreader);
    86           //  collection.Add("http://www.w3.org/2003/05/soap-envelope", reader);
    87           // sreader = new StringReader(signatureschema);
    88           //reader = new XmlTextReader(sreader);
    89           //  collection.Add("http://www.w3.org/2000/09/xmldsig#", reader);
    90           //  sreader = new StringReader(wsseSchema);
    91           //  reader = new XmlTextReader(sreader);
    92           //  collection.Add("http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-wssecurity-secext-1.0.xsd", reader);
    93 
    94 
    95    
    96            
    97            // XmlSchema schema = (XmlSchema)obj;
    98             wsdlMethode = new string[1];
    99             wsdlMethode[0]="\n" + @"   
     214            this._wsdlDocument = new XmlDocument();
     215            this._modifiedInputDocument = new XmlDocument();
     216            this._wsdlMethod = new string[1];
     217            this._wsdlMethod[0] = "\n" + @"   
    100218            public ServiceDescription getWsdl(){
    101219            ServiceDescription s1;
     
    110228            }}";
    111229
    112            
    113          
    114             stringArray[0] = @" using System;
     230            this._stringToCompile[0] = @" using System;
    115231            using System.Web;
    116232            using System.Web.Services;
     
    120236            using System.Xml.Schema;
    121237            using System.IO;";
    122 
    123             stringArray[1] = @"
     238            this._stringToCompile[1] = @"
    124239           
    125240            public class Service : System.Web.Services.WebService
     
    129244     
    130245              }";
    131             stringArray[2] = @"[WebMethod]";
    132             this.PropertyChanged += new PropertyChangedEventHandler(WebService_PropertyChanged);
     246            this._stringToCompile[2] = @"[WebMethod]";
     247            this.PropertyChanged += new PropertyChangedEventHandler(WebServicePropertyChangedEventHandler);
    133248            this.presentation = new WebServicePresentation(this);
    134       //      this.quickWatch = new WebServiceQuickWatchPresentation();
    135             settings.PropertyChanged += new PropertyChangedEventHandler(settings_PropertyChanged);
     249            this._settings.PropertyChanged += new PropertyChangedEventHandler(SettingsPropertyChangedEventHandler);
    136250            this.WebServiceSettings.Test = 1;
    137251            this.WebServiceSettings.Integer = 1;
    138252            this.WebServiceSettings.MethodName = "methodName";
    139             OnGuiLogNotificationOccured += new GuiLogNotificationEventHandler(WebService_OnGuiLogNotificationOccured);
    140253            CspParameters parameters = new CspParameters();
    141254            parameters.KeyContainerName = "Container";
    142             provider = new RSACryptoServiceProvider(parameters);
    143            
    144         }
    145 
    146         void WebService_OnGuiLogNotificationOccured(IPlugin sender, GuiLogEventArgs args)
    147         {
    148             int n =5;
    149         }
    150 
    151         void WebService_PropertyChanged(object sender, PropertyChangedEventArgs e)
     255            this._rsaCryptoServiceProvider = new RSACryptoServiceProvider(parameters);
     256
     257        }
     258
     259        #endregion
     260
     261        #region EventHandlers
     262
     263        private void WebServicePropertyChangedEventHandler(object sender, PropertyChangedEventArgs e)
    152264        {
    153265            if (e.PropertyName == "InputString")
    154266            {
    155                 this.checkSoap();
    156                 if (this.inputString != null)
     267                this.CheckSoap();
     268                if (this._inputDocument != null)
    157269                {
    158270                    presentation.Dispatcher.Invoke(DispatcherPriority.Normal, (SendOrPostCallback)delegate
     
    161273
    162274                        this.presentation.namespacesTable.Clear();
    163                         this.presentation.CopyXmlToTreeView(this.inputString.ChildNodes[1], ref this.presentation.soapInput,false);
    164                        
    165                        
     275                        this.presentation.CopyXmlToTreeView(this._inputDocument.ChildNodes[1], ref this.presentation.soapInput, false);
     276
     277
    166278                        this.presentation.treeView4.Items.Add(this.presentation.soapInput);
    167                         this.presentation.findItem(presentation.soapInput, "Envelope",1).IsExpanded = true;
    168                         this.presentation.findItem(presentation.soapInput,"Header",1).IsExpanded=true;
    169                         this.presentation.findItem(presentation.soapInput, "Security",1).IsExpanded = true;
    170                         this.presentation.findItem(presentation.soapInput, "Signature",1).IsExpanded = true;
    171                         this.presentation.findItem(presentation.soapInput, "Body",1).IsExpanded = true;
     279                        this.presentation.findItem(presentation.soapInput, "Envelope", 1).IsExpanded = true;
     280                        this.presentation.findItem(presentation.soapInput, "Header", 1).IsExpanded = true;
     281                        this.presentation.findItem(presentation.soapInput, "Security", 1).IsExpanded = true;
     282                        this.presentation.findItem(presentation.soapInput, "Signature", 1).IsExpanded = true;
     283                        this.presentation.findItem(presentation.soapInput, "Body", 1).IsExpanded = true;
    172284                        this.presentation.treeView4.Items.Refresh();
    173                        
     285
    174286                    }, null);
    175                    
    176                 }
    177                 }
    178         }
    179         public void createKey()
    180         {
    181             CspParameters parameters= new CspParameters();
    182             parameters.KeyContainerName = "Container";
    183             provider = new RSACryptoServiceProvider(parameters);
    184             EventsHelper.GuiLogMessage(OnGuiLogNotificationOccured, this, new GuiLogEventArgs("Schlüsselpaar erfolgreich erstellt", this, NotificationLevel.Info));
    185 
    186          
    187 
    188         }
    189         public string exportPublicKey()
    190         {
    191             if(provider!=null)
    192             {
    193                 EventsHelper.GuiLogMessage(OnGuiLogNotificationOccured, this, new GuiLogEventArgs("Öffentlicher Schlüssel exportiert", this, NotificationLevel.Info));
    194              return   provider.ToXmlString(false);
    195             }
    196             return "";
    197         }
    198         void settings_PropertyChanged(object sender, PropertyChangedEventArgs e)
    199         {
    200             WebServiceSettings s = (WebServiceSettings)sender;
    201             if(e.PropertyName.Equals("createKey"))
    202             {
    203                 this.createKey();
    204            
     287
     288                }
     289            }
     290        }
     291        private void SettingsPropertyChangedEventHandler(object sender, PropertyChangedEventArgs e)
     292        {
     293            WebServiceSettings webserviceSettings = sender as WebServiceSettings;
     294            if (e.PropertyName.Equals("createKey"))
     295            {
     296                this.CreateRSAKey();
    205297
    206298            }
    207299            if (e.PropertyName.Equals("publishKey"))
    208300            {
    209                 PublicKey = exportPublicKey();
     301                this.PublicKey = this.ExportPublicKey();
    210302            }
    211303            if (e.PropertyName.Equals("exportWSDL"))
    212304            {
    213                 Wsdl = this.wsdlDocument;
     305                this.Wsdl = this._wsdlDocument;
    214306            }
    215307            if (e.PropertyName.Equals("MethodenStub"))
    216308            {
    217                
    218                
    219309                this.WebServiceSettings.Integer = 1;
    220310                this.WebServiceSettings.String = 0;
     
    222312                this.WebServiceSettings.Double = 2;
    223313                this.WebServiceSettings.MethodName = "berechneVerzinsung";
    224              
    225                
     314
    226315                if (presentation.textBlock1.Inlines != null)
    227316                {
    228317                    presentation.textBlock1.Inlines.Clear();
    229318                }
    230              
    231                 this.presentation.textBlock1.Inlines.Add(new Bold(new Run(stringArray[2].ToString()+"\n")));
    232                 this.presentation.visualMethodName(WebServiceSettings.MethodName) ;
     319
     320                this.presentation.textBlock1.Inlines.Add(new Bold(new Run(_stringToCompile[2].ToString() + "\n")));
     321                this.presentation.visualMethodName(WebServiceSettings.MethodName);
    233322                this.presentation.visualReturnParam("double");
    234          
    235                
    236323                this.presentation.richTextBox1.Document.Blocks.Clear();
    237                 this.presentation.richTextBox1.AppendText("double endKapital;\n"+"int laufzeit=intparam1;\n"+"double zinssatz=doubleparam1;\n"+"double startKapital=doubleparam2;\n"+"endKapital=Math.Round(startKapital*(Math.Pow(1+zinssatz/100,laufzeit)));\n"+"return endKapital;") ;
    238            
     324                this.presentation.richTextBox1.AppendText("double endKapital;\n" + "int laufzeit=intparam1;\n" + "double zinssatz=doubleparam1;\n" + "double startKapital=doubleparam2;\n" + "endKapital=Math.Round(startKapital*(Math.Pow(1+zinssatz/100,laufzeit)));\n" + "return endKapital;");
    239325            }
    240326
     
    243329                if (e.PropertyName.Equals("Test"))
    244330                {
    245                     rückgabeparameter[0] = "void";
    246                     rückgabeparameter[1] = "int";
    247                     rückgabeparameter[2] = "string";
    248                     rückgabeparameter[3] = "float";
    249                        rückgabeparameter[4] = "double";
    250                     this.presentation.visualReturnParam(rückgabeparameter[s.Test]);
    251                 }
    252                  
    253              
    254                    
    255              
     331                    this._returnParameter[0] = "void";
     332                    this._returnParameter[1] = "int";
     333                    this._returnParameter[2] = "string";
     334                    this._returnParameter[3] = "float";
     335                    this._returnParameter[4] = "double";
     336                    this.presentation.visualReturnParam(_returnParameter[webserviceSettings.Test]);
     337                }
     338
    256339                if (e.PropertyName.Equals("Integer"))
    257340                {
    258                     if (s.Integer == 1)
    259                     {
    260                        
    261                         this.presentation.visualParam("int",1);
    262                     }
    263                     if (s.Integer == 2)
    264                     {
    265                          this.presentation.visualParam("int",2);
    266                     }
    267                     if (s.Integer == 0)
     341                    if (webserviceSettings.Integer == 1)
     342                    {
     343                        this.presentation.visualParam("int", 1);
     344                    }
     345                    if (webserviceSettings.Integer == 2)
     346                    {
     347                        this.presentation.visualParam("int", 2);
     348                    }
     349                    if (webserviceSettings.Integer == 0)
    268350                    {
    269351                        this.presentation.visualParam("int", 0);
     
    273355                if (e.PropertyName.Equals("String"))
    274356                {
    275                     if (s.String == 1)
     357                    if (webserviceSettings.String == 1)
    276358                    {
    277359                        this.presentation.visualParam("string", 1);
    278360                    }
    279                     if (s.String == 2)
     361                    if (webserviceSettings.String == 2)
    280362                    {
    281363
    282364                        this.presentation.visualParam("string", 2);
    283                         }
    284                    
    285                     if (s.String == 0)
     365                    }
     366
     367                    if (webserviceSettings.String == 0)
    286368                    {
    287369                        this.presentation.visualParam("string", 0);
     
    290372                if (e.PropertyName.Equals("Double"))
    291373                {
    292                     if (s.Double == 1)
     374                    if (webserviceSettings.Double == 1)
    293375                    {
    294376                        this.presentation.visualParam("double", 1);
    295377                    }
    296                     if (s.Double == 2)
     378                    if (webserviceSettings.Double == 2)
    297379                    {
    298380
     
    300382                    }
    301383
    302                     if (s.Double == 0)
     384                    if (webserviceSettings.Double == 0)
    303385                    {
    304386                        this.presentation.visualParam("double", 0);
     
    309391                if (e.PropertyName.Equals("MethodName"))
    310392                {
    311                     this.methodName = s.MethodName;
    312                     this.presentation.visualMethodName(s.MethodName);
    313                 }
    314              
    315                 {
    316                     string komma = "";
    317                     if(!eingabeparameter.Equals("")){
    318                         komma=",";
    319                     }
    320                     if(eingabeparameterString.Equals("")){
    321                         komma="";
    322                     }
    323                     stringArray[3] = @"public" + " " + rückgabeparameter[s.Test] + " " + methodName + "(" + "" + eingabeparameter +komma+ eingabeparameterString+")\n{";
    324 
    325                 } StringBuilder code = new StringBuilder();
    326 
    327                 code.Append(stringArray[0]);
    328                 code.Append(stringArray[1]);
    329                 code.Append(stringArray[2]);
    330                 code.Append(stringArray[3]);
    331              
    332      
    333              
    334             }   
    335         }
    336         public int getSignatureNumber()
    337         {
    338             return this.inputString.GetElementsByTagName("ds:Signature").Count;
    339 
    340         }
    341        
    342         public bool checkSignature()
    343         {
    344             XmlDocument neu = new XmlDocument();
    345         //   this.inputString.Save(@"C:\Users\Tim\Desktop\test.xml");
    346            XmlNodeList signatureElements = this.inputString.GetElementsByTagName("Signature");
    347            XmlElement signaturElement = (XmlElement)signatureElements.Item(0);
    348            SignedXml signedXml = new SignedXml(this.inputString);
    349            signedXml.LoadXml(signaturElement);
    350            bool test = signedXml.CheckSignature();
    351             return test;
    352         }
    353         public void readDescription()
    354         {
    355             set = new DataSet();
    356             XmlSchema paramsSchema = this.serviceDescription.Types.Schemas[0];
    357          //   this.collection.Add(paramsSchema);
     393                    this._methodName = webserviceSettings.MethodName;
     394                    this.presentation.visualMethodName(webserviceSettings.MethodName);
     395                }
     396                string comma = "";
     397                if (!this._inputParameter.Equals(""))
     398                {
     399                    comma = ",";
     400                }
     401                if (this._inputParameterString.Equals(""))
     402                {
     403                    comma = "";
     404                }
     405                this._stringToCompile[3] = @"public" + " " + this._returnParameter[webserviceSettings.Test] + " " + this._methodName + "(" + "" + this._inputParameter + comma + this._inputParameterString + ")\n{";
     406                StringBuilder code = new StringBuilder();
     407
     408                code.Append(_stringToCompile[0]);
     409                code.Append(_stringToCompile[1]);
     410                code.Append(_stringToCompile[2]);
     411                code.Append(_stringToCompile[3]);
     412            }
     413        }
     414
     415        #endregion
     416
     417        #region Methods
     418
     419        private void CreateRSAKey()
     420        {
     421            CspParameters parameters = new CspParameters();
     422            parameters.KeyContainerName = "Container";
     423            this._rsaCryptoServiceProvider = new RSACryptoServiceProvider(parameters);
     424            EventsHelper.GuiLogMessage(OnGuiLogNotificationOccured, this, new GuiLogEventArgs("Key pair created", this, NotificationLevel.Info));
     425        }
     426        private string ExportPublicKey()
     427        {
     428            if (this._rsaCryptoServiceProvider != null)
     429            {
     430                EventsHelper.GuiLogMessage(OnGuiLogNotificationOccured, this, new GuiLogEventArgs("Public key exported", this, NotificationLevel.Info));
     431                return this._rsaCryptoServiceProvider.ToXmlString(false);
     432            }
     433            return "";
     434        }
     435        public int GetSignatureNumber()
     436        {
     437            return this._inputDocument.GetElementsByTagName("ds:Signature").Count;
     438
     439        }
     440        public bool CheckSignature()
     441        {
     442            XmlNodeList signatureElements = this._inputDocument.GetElementsByTagName("Signature");
     443            XmlElement signaturElement = (XmlElement)signatureElements.Item(0);
     444            SignedXml signedXml = new SignedXml(this._inputDocument);
     445            signedXml.LoadXml(signaturElement);
     446            return signedXml.CheckSignature(); ;
     447        }
     448        private void ReadWebServiceDescription()
     449        {
     450            this._set = new DataSet();
     451            XmlSchema paramsSchema = this._serviceDescription.Types.Schemas[0];
    358452            StringWriter schemaStringWriter = new StringWriter();
    359453            paramsSchema.Write(schemaStringWriter);
    360454            StringReader sreader = new StringReader(schemaStringWriter.ToString());
    361455            XmlTextReader xmlreader = new XmlTextReader(sreader);
    362             set.ReadXmlSchema(xmlreader);
    363 
    364         }
    365        // private bool checkSchema()
    366        // {
    367        //     XmlSchema soapSchema = collection["http://www.w3.org/2003/05/soap-envelope"];
    368        //     XmlSchema paramsSchema = collection["http://tempuri.org/"];
    369        //     XmlSchema signatureSchema = collection["http://www.w3.org/2000/09/xmldsig#"];
    370        //     XmlSchema wsseSchema = collection["http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-wssecurity-secext-1.0.xsd"];
    371        //     string xmlString= this.inputString.InnerXml;
    372        //     StringReader stringReader= new StringReader(xmlString);
    373        //     XmlTextReader xmlreader = new XmlTextReader(stringReader);
    374        //     XmlValidatingReader validatingReader = new XmlValidatingReader(xmlreader);
    375        //     validatingReader.Schemas.Add(collection);
    376        //     validatingReader.ValidationEventHandler += new ValidationEventHandler(validatingReader_ValidationEventHandler);
    377        //     validatingReader.ValidationType = System.Xml.ValidationType.Schema;
    378        //     XmlDocument inputStringClone = (XmlDocument)this.inputString.Clone();
    379        //     inputStringClone.Schemas.Add(soapSchema);
    380        //     inputStringClone.Schemas.Add(signatureSchema);
    381        //     inputStringClone.Schemas.Add(wsseSchema);
    382        //     inputStringClone.Schemas.Add(paramsSchema);
    383        //     try
    384        //     {
    385        //         inputStringClone.Load(validatingReader);
    386 
    387        //     inputStringClone.Validate(validatingReader_ValidationEventHandler);
    388        //     }
    389        //     catch (Exception exception)
    390        //     {
    391        //         validatingReader.Close();
    392        //         return false;
    393        //     }
    394        //     validatingReader.Close();
    395        //     return true;
    396        // }
    397 
    398        //void validatingReader_ValidationEventHandler(object sender, ValidationEventArgs e)
    399        // {
    400        //     switch (e.Severity)
    401        //     {
    402        //         case XmlSeverityType.Error:
    403        //             Console.WriteLine("Error: {0}", e.Message);
    404        //             break;
    405        //         case XmlSeverityType.Warning:
    406        //             Console.WriteLine("Warning {0}", e.Message);
    407        //             break;
    408        //     }
    409        // }
    410        private bool compiled()
    411        {
    412            if (serviceDescription == null)
    413            {
    414                EventsHelper.GuiLogMessage(OnGuiLogNotificationOccured, this, new GuiLogEventArgs("Es liegt keine Service Beschreibung vor. Wurde der Web Service nicht kompiliert?", this, NotificationLevel.Error));
    415                return false;
    416            }
    417            return true;
    418        }
    419         public SignatureValidator getValidator()
    420         {
    421             return this.validator;
    422         }
    423         private void checkSoap()
     456            this._set.ReadXmlSchema(xmlreader);
     457
     458        }
     459        private bool Compiled()
     460        {
     461            if (this._serviceDescription == null)
     462            {
     463                EventsHelper.GuiLogMessage(OnGuiLogNotificationOccured, this, new GuiLogEventArgs("There is no Web Service Description available", this, NotificationLevel.Error));
     464                return false;
     465            }
     466            return true;
     467        }
     468        private void CheckSoap()
    424469        {
    425470            bool signatureValid = true;
    426            // this.checkSchema();
    427             this.compiled();
    428             if (this.inputString == null)
     471            this.Compiled();
     472            if (this._inputDocument == null)
    429473                return;
    430             if (this.inputString.GetElementsByTagName("ds:Signature") != null)
    431             {
    432 
    433                 validator = new SignatureValidator(this);
    434             }
    435             signatureValid = validator.valid;
    436          
    437             object test2 = new object();
    438             object[] array = null;
     474            if (this._inputDocument.GetElementsByTagName("ds:Signature") != null)
     475            {
     476                this._validator = new SignatureValidator(this);
     477            }
     478            signatureValid = this._validator.Valid;
     479            object invokedObject = new object();
     480            object[] parameters = null;
    439481            string response;
    440             if (serviceDescription == null)
    441             {
    442                 EventsHelper.GuiLogMessage(OnGuiLogNotificationOccured, this, new GuiLogEventArgs("Es liegt keine Service Beschreibung vor. Wurde der Web Service nicht kompiliert?", this, NotificationLevel.Error));
     482            if (this._serviceDescription == null)
     483            {
     484                EventsHelper.GuiLogMessage(OnGuiLogNotificationOccured, this, new GuiLogEventArgs("There is no Web Service Description available", this, NotificationLevel.Error));
    443485            }
    444486            else
     
    446488                if (!signatureValid)
    447489                {
    448                     EventsHelper.GuiLogMessage(OnGuiLogNotificationOccured, this, new GuiLogEventArgs("Signature Validation failed", this, NotificationLevel.Error));
    449                     goto Abbruch;
    450                 }
    451 
    452                 Types types = this.serviceDescription.Types;
    453                 PortTypeCollection portTypes = this.serviceDescription.PortTypes;
    454                 MessageCollection messages = this.serviceDescription.Messages;
     490                    EventsHelper.GuiLogMessage(OnGuiLogNotificationOccured, this, new GuiLogEventArgs("Signature validation failed", this, NotificationLevel.Error));
     491                    goto Abort;
     492                }
     493
     494                Types types = this._serviceDescription.Types;
     495                PortTypeCollection portTypes = this._serviceDescription.PortTypes;
     496                MessageCollection messages = this._serviceDescription.Messages;
    455497                PortType porttype = portTypes[0];
    456498                Operation operation = porttype.Operations[0];
     
    462504                MessagePart messageInputPart = messageInput.Parts[0];
    463505                XmlSchema xmlSchema = types.Schemas[0];
    464 
    465 
    466506                XmlSchemaElement outputSchema = (XmlSchemaElement)xmlSchema.Elements[messageOutputPart.Element];
    467507                XmlSchemaElement inputSchema = (XmlSchemaElement)xmlSchema.Elements[messageInputPart.Element];
    468 
    469508                XmlSchemaComplexType complexTypeOutput = (XmlSchemaComplexType)outputSchema.SchemaType;
    470509                XmlSchemaSequence sequenzTypeOutput = (XmlSchemaSequence)complexTypeOutput.Particle;
    471 
    472510                XmlSchemaComplexType complexTypeInput = (XmlSchemaComplexType)inputSchema.SchemaType;
    473511                XmlSchemaSequence sequenzTypeInput = (XmlSchemaSequence)complexTypeInput.Particle;
    474 
    475512                Hashtable paramTypesTable = new Hashtable();
    476                 StringWriter twriter = new StringWriter();
    477                 //  TextWriter writer= new TextWriter(twriter);
    478                 xmlSchema.Write(twriter);
    479 
    480                
    481                 set = new DataSet();
    482                 StringReader sreader = new StringReader(twriter.ToString());
     513                StringWriter xmlStringWriter = new StringWriter();
     514                xmlSchema.Write(xmlStringWriter);
     515                this._set = new DataSet();
     516                StringReader sreader = new StringReader(xmlStringWriter.ToString());
    483517                XmlTextReader xmlreader = new XmlTextReader(sreader);
    484                 set.ReadXmlSchema(xmlreader);
     518                this._set.ReadXmlSchema(xmlreader);
    485519                if (sequenzTypeInput != null)
    486520                {
     
    491525                    }
    492526
    493                    
    494 
    495                
    496                    
    497                     XmlDocument t = new XmlDocument();
    498 
    499                
    500                     XmlNamespaceManager manager = new XmlNamespaceManager(this.modifiedInput.NameTable);
    501                     XmlElement b = (XmlElement)this.inputString.GetElementsByTagName("s:Body")[0];
    502                     manager.AddNamespace("s", b.NamespaceURI);
     527                    XmlNamespaceManager manager = new XmlNamespaceManager(this._modifiedInputDocument.NameTable);
     528                    XmlElement body = (XmlElement)this._inputDocument.GetElementsByTagName("s:Body")[0];
     529                    manager.AddNamespace("s", body.NamespaceURI);
    503530                    manager.AddNamespace("tns", "http://tempuri.org/");
    504                     XmlNode node = this.modifiedInput.SelectSingleNode("s:Envelope/s:Body/" + "tns:" + set.Tables[0].TableName, manager);
    505                     XmlElement ele = (XmlElement)node;
    506                   //XmlElement ele2 = (XmlElement)this.modifiedInput.GetElementsByTagName(set.Tables[0].TableName, fsdf.TargetNamespace)[0];
    507                     //   object test = service.GetType().InvokeMember(operation.Name, System.Reflection.BindingFlags.InvokeMethod, null, service,);
    508                     int n = new Int32();
     531                    XmlNode node = this._modifiedInputDocument.SelectSingleNode("s:Envelope/s:Body/" + "tns:" + this._set.Tables[0].TableName, manager);
     532                    XmlElement ele = (XmlElement)node;
     533                    int paramCounter = new Int32();
    509534                    try
    510535                    {
    511                        
    512                    
    513                         n = ele.ChildNodes.Count;
    514 
     536                        paramCounter = ele.ChildNodes.Count;
    515537                    }
    516538
    517539                    catch
    518540                    {
    519                         EventsHelper.GuiLogMessage(OnGuiLogNotificationOccured, this, new GuiLogEventArgs("Es wurden nicht alle Parameter übergeben!", this, NotificationLevel.Error));
    520                     }
    521                     if (n != 0)
    522                     {
    523                         array = new Object[n];
    524 
    525                         for (int i = 0; i < n; i++)
     541                        EventsHelper.GuiLogMessage(OnGuiLogNotificationOccured, this, new GuiLogEventArgs("Some params are missing", this, NotificationLevel.Error));
     542                    }
     543                    if (paramCounter != 0)
     544                    {
     545                        parameters = new Object[paramCounter];
     546
     547                        for (int i = 0; i < paramCounter; i++)
    526548                        {
    527549                            string param = ele.ChildNodes[i].InnerText;
     
    533555                                    try
    534556                                    {
    535                                         array[i] = Convert.ToInt32((Object)ele.ChildNodes[i].InnerText);
     557                                        parameters[i] = Convert.ToInt32((Object)ele.ChildNodes[i].InnerText);
    536558                                    }
    537                                     catch(Exception e)
     559                                    catch (Exception e)
    538560                                    {
    539561                                        EventsHelper.GuiLogMessage(OnGuiLogNotificationOccured, this, new GuiLogEventArgs(e.Message, this, NotificationLevel.Error));
    540                                         goto Abbruch;
     562                                        goto Abort;
    541563                                    }
    542564                                }
    543                                 else {
     565                                else
     566                                {
    544567                                    EventsHelper.GuiLogMessage(OnGuiLogNotificationOccured, this, new GuiLogEventArgs("Es wurden nicht alle Parameter übergeben!", this, NotificationLevel.Error));
    545                                     goto Abbruch;
    546                                
     568                                    goto Abort;
     569
    547570                                }
    548571                            }
     
    551574                                try
    552575                                {
    553                                     array[i] = Convert.ToString((Object)ele.ChildNodes[i].InnerText);
     576                                    parameters[i] = Convert.ToString((Object)ele.ChildNodes[i].InnerText);
    554577                                }
    555578                                catch (Exception e)
    556579                                {
    557580                                    EventsHelper.GuiLogMessage(OnGuiLogNotificationOccured, this, new GuiLogEventArgs(e.Message, this, NotificationLevel.Error));
    558                                     goto Abbruch;
     581                                    goto Abort;
    559582                                }
    560583                            }
     
    563586                                try
    564587                                {
    565                                     array[i] = Convert.ToDouble((Object)ele.ChildNodes[i].InnerText);
     588                                    parameters[i] = Convert.ToDouble((Object)ele.ChildNodes[i].InnerText);
    566589
    567590                                }
     
    569592                                {
    570593                                    EventsHelper.GuiLogMessage(OnGuiLogNotificationOccured, this, new GuiLogEventArgs(e.Message, this, NotificationLevel.Error));
    571                                     goto Abbruch;
     594                                    goto Abort;
    572595                                }
    573596                            }
    574597
    575598                        }
    576 
    577                         //object test2 = service.GetType().getmInvokeMember(operation.Name, System.Reflection.BindingFlags.InvokeMethod, null, null, array);
    578                           for(int i =0;i<array.Length;i++)
     599                        for (int i = 0; i < parameters.Length; i++)
    579600                        {
    580                             if (array[i] == null)
    581                             {goto Abbruch;
    582                              
     601                            if (parameters[i] == null)
     602                            {
     603                                goto Abort;
     604
    583605                            }
    584606                        }
    585607                        try
    586                         {   
    587                             Type typ = service.GetType().GetMethod(operation.Name).ReturnType;
     608                        {
     609                            Type typ = this._service.GetType().GetMethod(operation.Name).ReturnType;
    588610                            string returnType = typ.ToString();
    589611                            if (!returnType.Equals("System.Void"))
    590612                            {
    591                                 test2 = service.GetType().GetMethod(operation.Name).Invoke(service, array).ToString();
     613                                invokedObject = this._service.GetType().GetMethod(operation.Name).Invoke(this._service, parameters).ToString();
    592614                            }
    593                             else { service.GetType().GetMethod(operation.Name).Invoke(service, array).ToString(); }
     615                            else { this._service.GetType().GetMethod(operation.Name).Invoke(this._service, parameters).ToString(); }
    594616                        }
    595                         catch(Exception e)
     617                        catch (Exception e)
    596618                        {
    597619                            EventsHelper.GuiLogMessage(OnGuiLogNotificationOccured, this, new GuiLogEventArgs(e.Message, this, NotificationLevel.Error));
    598                             goto Abbruch;
     620                            goto Abort;
    599621                        }
    600                         }
    601                      
    602                    
     622                    }
    603623                    else
    604624                    {
     
    607627                            try
    608628                            {
    609                                 test2 = service.GetType().GetMethod(operation.Name).Invoke(service, null).ToString();
     629                                invokedObject = this._service.GetType().GetMethod(operation.Name).Invoke(this._service, null).ToString();
    610630                            }
    611                             catch(Exception e)
     631                            catch (Exception e)
    612632                            {
     633
    613634                                EventsHelper.GuiLogMessage(OnGuiLogNotificationOccured, this, new GuiLogEventArgs(e.Message, this, NotificationLevel.Error));
    614                                 goto Abbruch;
     635                                goto Abort;
     636
    615637                            }
    616638                        }
    617                         else { service.GetType().GetMethod(operation.Name).Invoke(service, array); }
    618                     }
    619                     response = test2.ToString();
    620                     this.createResponse(response);
    621 
    622            
    623                    
    624                        
    625                    
    626                 }
    627             }
    628         Abbruch: ;
    629         }
    630         public void createResponse(string response)
    631         {
    632             soapResponse = new XmlDocument();
    633             node = soapResponse.CreateXmlDeclaration("1.0", "ISO-8859-1", "yes");
    634 
    635             soapResponse.AppendChild(node);
    636             envelope = soapResponse.CreateElement("Envelope", "http://www.w3.org/2001/12/soap-envelope");
    637 
    638 
    639             soapResponse.AppendChild(envelope);
    640 
    641             body = soapResponse.CreateElement("Body", "http://www.w3.org/2001/12/soap-envelope");
    642             XmlNode eingabe = soapResponse.CreateElement(set.Tables[1].ToString(), set.Tables[1].Namespace);
    643             DataTable table = set.Tables[1];
     639                        else { this._service.GetType().GetMethod(operation.Name).Invoke(this._service, parameters); }
     640                    }
     641                    response = invokedObject.ToString();
     642                    this.CreateResponse(response);
     643                }
     644            }
     645        Abort: ;
     646        }
     647        private void CreateResponse(string response)
     648        {
     649            this._soapResponse = new XmlDocument();
     650            this._node = this._soapResponse.CreateXmlDeclaration("1.0", "ISO-8859-1", "yes");
     651            this._soapResponse.AppendChild(_node);
     652            this._envelope = this._soapResponse.CreateElement("Envelope", "http://www.w3.org/2001/12/soap-envelope");
     653            this._soapResponse.AppendChild(_envelope);
     654            this._body = this._soapResponse.CreateElement("Body", "http://www.w3.org/2001/12/soap-envelope");
     655            XmlNode input = this._soapResponse.CreateElement(this._set.Tables[1].ToString(), this._set.Tables[1].Namespace);
     656            DataTable table = this._set.Tables[1];
    644657            foreach (DataColumn tempColumn in table.Columns)
    645658            {
    646                 XmlNode neu = soapResponse.CreateElement(tempColumn.ColumnName, set.Tables[1].Namespace);
     659                XmlNode neu = this._soapResponse.CreateElement(tempColumn.ColumnName, this._set.Tables[1].Namespace);
    647660                neu.InnerText = response;
    648                 eingabe.AppendChild(neu);
    649             }
    650             body.AppendChild(eingabe);
    651             envelope.AppendChild(body);
    652             this.OutputString = soapResponse;
    653         }
    654         [PropertyInfo(Direction.InputData, "SOAP input", "Input a SOAP message to be processed by the Web Service", "", true, false, QuickWatchFormat.Text,"XmlConverter")]
    655         public XmlDocument InputString
    656         {
    657             get { return this.inputString; }
    658             set
    659             {
    660                
    661                     this.inputString = value;
    662                     OnPropertyChanged("InputString");
    663                
    664             }
    665 
    666         }
    667 
    668         [PropertyInfo(Direction.OutputData, "WSDL output", "Web Service Description", null)]
    669         public XmlDocument Wsdl
    670         {
    671             get { return this.wsdlDocument; }
    672             set
    673             {
    674                 this.wsdlDocument = value;
    675                 OnPropertyChanged("Wsdl");
    676             }
    677         }
    678 
    679         [PropertyInfo(Direction.OutputData, "Public-Key output", "Encryption Key", null)]
    680         public string PublicKey
    681         {
    682             get { return this.publickey; }
    683             set
    684             {
    685                 this.publickey = value;
    686                 OnPropertyChanged("PublicKey");
    687             }
    688         }
    689 
    690         [PropertyInfo(Direction.OutputData, "SOAP output", "Response from Web Service", "", false, false, QuickWatchFormat.Text, "XmlOutputConverter")]
    691         public XmlDocument OutputString
    692         {
    693             get { return this.outputString; }
    694             set
    695             {
    696                 this.outputString = value;
    697                 OnPropertyChanged("OutputString");
    698             }
    699 
    700 
    701         }
    702         public Object XmlOutputConverter(Object Data)
    703         {
    704             string test = Data.ToString();
    705 
    706             XmlDocument doc = (XmlDocument)this.outputString;
    707             StringWriter stringWriter = new StringWriter();
    708             Object obj = new Object();
    709             try
    710             {
    711                 XmlTextWriter xmlWriter = new XmlTextWriter(stringWriter);
    712                 xmlWriter.Formatting = Formatting.Indented;
    713                 doc.WriteContentTo(xmlWriter);
    714                 obj = (Object)stringWriter.ToString();
    715             }
    716             catch (Exception e)
    717             {
    718                 Console.WriteLine(e.ToString());
    719              
    720             }
    721 
    722 
    723             return obj;
    724         }
    725         public Object XmlConverter(Object Data)
    726         {
    727          
    728            
    729             XmlDocument doc = (XmlDocument)this.inputString;
    730             StringWriter stringWriter = new StringWriter();
    731             Object obj = new Object();
    732             try
    733             {
    734                 XmlTextWriter xmlWriter = new XmlTextWriter(stringWriter);
    735                 xmlWriter.Formatting = Formatting.Indented;
    736                 doc.WriteContentTo(xmlWriter);
    737                 obj = (Object)stringWriter.ToString();
    738             }
    739             catch (Exception e)
    740             {Console.WriteLine(e.ToString());
    741        
    742             }
    743  
    744             return obj ;
    745         }
    746 
    747         public ServiceDescription description
    748         {
    749             get { return this.serviceDescription; }
    750             set { this.serviceDescription = value; }
    751         }
    752         public WebServiceSettings  WebServiceSettings
    753         {
    754             get { return (WebServiceSettings) this.settings; }
    755             set { this.settings = value; }
    756         }
    757         public ArrayList getSignatureReferences(int i)
    758         {
    759            return this.validator.getSignatureReferences(i);
    760         }
    761         public ArrayList getSignedXmlSignatureReferences()
    762         {
    763             return this.validator.getSignedXmlSignatureReferences();
    764         }
    765         public void compile(string code)
     661                input.AppendChild(neu);
     662            }
     663            this._body.AppendChild(input);
     664            this._envelope.AppendChild(this._body);
     665            this.OutputString = this._soapResponse;
     666        }
     667        public ArrayList GetSignatureReferences(int i)
     668        {
     669            return this._validator.GetSignatureReferences(i);
     670        }
     671        public ArrayList GetSignedXmlSignatureReferences()
     672        {
     673            return this._validator.GetSignedXmlSignatureReferences();
     674        }
     675        public void Compile(string code)
    766676        {
    767677            CSharpCodeProvider codeProvider = new CSharpCodeProvider(new Dictionary<String, String> { { "CompilerVersion", "v3.5" } });
    768678            string header = "";
    769679            presentation.Dispatcher.Invoke(DispatcherPriority.Normal, (SendOrPostCallback)delegate
    770                 {
    771                     header=this.presentation.copyContentToString(this.presentation.textBlock1);
    772                    
    773                 }, null);
     680            {
     681                header = this.presentation.copyContentToString(this.presentation.textBlock1);
     682
     683            }, null);
    774684            codeProvider.CreateGenerator();
    775             CompilerParameters cp = new CompilerParameters();
    776             cp.ReferencedAssemblies.Add("System.dll"); //includes
    777             cp.ReferencedAssemblies.Add("System.Web.dll");
    778             cp.ReferencedAssemblies.Add("System.Web.Services.dll");
    779             cp.ReferencedAssemblies.Add("System.Xml.dll");
    780             CompilerResults cr = null;
    781             cp.GenerateExecutable = false;
     685            CompilerParameters compilerParameters = new CompilerParameters();
     686            compilerParameters.ReferencedAssemblies.Add("System.dll");
     687            compilerParameters.ReferencedAssemblies.Add("System.Web.dll");
     688            compilerParameters.ReferencedAssemblies.Add("System.Web.Services.dll");
     689            compilerParameters.ReferencedAssemblies.Add("System.Xml.dll");
     690            CompilerResults compilerResults = null;
     691            compilerParameters.GenerateExecutable = false;
    782692
    783693            try
    784694            {
    785                 Run methodDeclaration = null;
    786                 string wsdl = wsdlMethode[0];
    787 
    788 
    789                 cr = codeProvider.CompileAssemblyFromSource(cp, stringArray[0].ToString() + stringArray[1].ToString() + code + wsdl);
    790 
    791                 System.Reflection.Assembly a = cr.CompiledAssembly;
    792                 service = a.CreateInstance("Service");
    793 
    794 
    795 
    796 
    797                 object obj = service.GetType().InvokeMember("getWsdl", System.Reflection.BindingFlags.InvokeMethod, null, service, null);
    798                 ServiceDescription description = (ServiceDescription)obj;
     695                string wsdl = this._wsdlMethod[0];
     696                compilerResults = codeProvider.CompileAssemblyFromSource(compilerParameters, _stringToCompile[0].ToString() + _stringToCompile[1].ToString() + code + wsdl);
     697                System.Reflection.Assembly compiledAssembly = compilerResults.CompiledAssembly;
     698                this._service = compiledAssembly.CreateInstance("Service");
     699                object invokedObject = this._service.GetType().InvokeMember("getWsdl", System.Reflection.BindingFlags.InvokeMethod, null, this._service, null);
     700                ServiceDescription description = (ServiceDescription)invokedObject;
    799701                System.IO.StringWriter stringWriter = new System.IO.StringWriter();
    800 
    801702                XmlTextWriter xmlWriter = new XmlTextWriter(stringWriter);
    802703                xmlWriter.Formatting = Formatting.Indented;
    803704                description.Write(xmlWriter);
    804 
    805705                string theWsdl = stringWriter.ToString();
    806706                presentation.showWsdl(theWsdl);
    807                 this.description = description;
     707                this.Description = description;
    808708                StringReader stringReader = new StringReader(theWsdl);
    809709                XmlTextReader xmlReader = new XmlTextReader(stringReader);
    810                 wsdlDocument.LoadXml(theWsdl);
     710                this._wsdlDocument.LoadXml(theWsdl);
    811711                System.Windows.Controls.TreeViewItem xmlDecl = null;
    812712                presentation.Dispatcher.Invoke(DispatcherPriority.Normal, (SendOrPostCallback)delegate
     
    824724                presentation.Dispatcher.Invoke(DispatcherPriority.Normal, (SendOrPostCallback)delegate
    825725                {
    826                     presentation.CopyXmlToTreeView(wsdlDocument.ChildNodes[1], ref presentation.item,false);
     726                    presentation.CopyXmlToTreeView(this._wsdlDocument.ChildNodes[1], ref presentation.item, false);
    827727                    TreeView parent = (TreeView)presentation.item.Parent;
    828728
     
    832732                        parent.Items.RemoveAt(pos);
    833733                    }
    834                      
     734
    835735                    presentation.treeView1.Items.Add(presentation.item);
    836736                    presentation.item.IsExpanded = true;
    837737                    for (int i = 0; i < presentation.item.Items.Count; i++)
    838738                    {
    839                         TreeViewItem item =(TreeViewItem) presentation.item.Items[i];
     739                        TreeViewItem item = (TreeViewItem)presentation.item.Items[i];
    840740                        item.IsExpanded = true;
    841741                    }
    842                  
    843742                    presentation.textBox3.Text = "Erstellen erfolgreich";
    844                     this.readDescription();
    845                   //  presentation.fillElementTextBox();
     743                    this.ReadWebServiceDescription();
    846744
    847745                }, null);
    848                
    849 
    850 
    851             }
    852 
    853            
    854            
    855            
    856          
     746
     747            }
    857748            catch (Exception exception)
    858             { 
    859                CompilerErrorCollection errors = cr.Errors;
    860                 int errorCounter= errors.Count;
    861                if (errors != null)
    862                {
    863                    for (int i = 0; i < errorCounter; i++)
    864                    {
    865                        this.presentation.textBox3.Text+="Fehlermeldung: "+errors[i].ErrorText+"\n";
    866                    }
    867                }
    868             }
    869         }
    870 
    871 
     749            {
     750                CompilerErrorCollection errors = compilerResults.Errors;
     751                int errorCounter = errors.Count;
     752                if (errors != null)
     753                {
     754                    for (int i = 0; i < errorCounter; i++)
     755                    {
     756                        this.presentation.textBox3.Text += "Error: " + errors[i].ErrorText + "\n";
     757                    }
     758                }
     759            }
     760        }
     761        public void ShowError(string message)
     762        {
     763            EventsHelper.GuiLogMessage(OnGuiLogNotificationOccured, this, new GuiLogEventArgs(message, this, NotificationLevel.Error));
     764        }
     765        public void ShowWarning(string message)
     766        {
     767            EventsHelper.GuiLogMessage(OnGuiLogNotificationOccured, this, new GuiLogEventArgs(message, this, NotificationLevel.Warning));
     768        }
     769        #endregion
    872770
    873771        #region IPlugin Member
     
    875773        public void Dispose()
    876774        {
    877            
     775
    878776        }
    879777
    880778        public void Execute()
    881779        {
    882            
    883            
     780
     781
    884782        }
    885783
    886784        public void Initialize()
    887785        {
    888            // if (presentation.textBox1.Text != null)
    889                 presentation.Dispatcher.Invoke(DispatcherPriority.Normal, (SendOrPostCallback)delegate
    890                 {presentation.richTextBox1.AppendText(this.WebServiceSettings.UserCode);
    891                    
    892                 }, null);
    893                 if (this.WebServiceSettings.Compiled == true)
    894                 {
    895                     this.presentation.compile();
    896                 }
    897            
    898         }
    899 
    900         public void showError(string message)
    901         {
    902             EventsHelper.GuiLogMessage(OnGuiLogNotificationOccured, this, new GuiLogEventArgs(message, this, NotificationLevel.Error));
    903         }
    904 
    905         public void showWarning(string message)
    906         {
    907             EventsHelper.GuiLogMessage(OnGuiLogNotificationOccured, this, new GuiLogEventArgs(message, this, NotificationLevel.Warning));
     786            // if (presentation.textBox1.Text != null)
     787            presentation.Dispatcher.Invoke(DispatcherPriority.Normal, (SendOrPostCallback)delegate
     788            {
     789                presentation.richTextBox1.AppendText(this.WebServiceSettings.UserCode);
     790
     791            }, null);
     792            if (this.WebServiceSettings.Compiled == true)
     793            {
     794                this.presentation.compile();
     795            }
     796
    908797        }
    909798
     
    916805        public void Pause()
    917806        {
    918            
     807
    919808        }
    920809
    921810        public void PostExecution()
    922811        {
    923            
     812
    924813        }
    925814
    926815        public void PreExecution()
    927816        {
    928            
     817
    929818        }
    930819
     
    941830        public ISettings Settings
    942831        {
    943             get { return this.settings; }
     832            get { return this._settings; }
    944833        }
    945834
    946835        public void Stop()
    947836        {
    948            
     837
    949838        }
    950839
     
    957846        {
    958847            EventsHelper.PropertyChanged(PropertyChanged, this, new PropertyChangedEventArgs(name));
    959        
     848
    960849        }
    961850        #endregion
  • trunk/CrypPlugins/WebService/WebServicePresentation.xaml.cs

    r643 r2545  
    456456            case 1:
    457457       
    458                 signatureNumber = this.webService.getSignatureNumber();
     458                signatureNumber = this.webService.GetSignatureNumber();
    459459                this.textBox2.ScrollToLine(this.textBox2.LineCount - 1);
    460460                dispatcherTimer.Interval = new TimeSpan(0, 0, 0, 5, 0);
     
    544544               this.tempReferenceCollection.Clear();
    545545               this.animationController.getControllerTimer().Start();
    546                signatureNumber = this.webService.getSignatureNumber();
     546               signatureNumber = this.webService.GetSignatureNumber();
    547547               isbusy = false;
    548548               this.actualSignatureNumber++;
     
    563563        void referenceTimer_Tick(object sender, EventArgs e)
    564564        {
    565             int n = this.webService.getValidator().getReferenceNumber(signaturenumber);
     565            int n = this.webService.Validator().GetReferenceNumber(signaturenumber);
    566566            switch (referenceStatus)
    567567            {
     
    583583                case 3:
    584584                   this.textBox2.Text += "\n -> Get referenced Element";
    585                   this.findItem(this.soapInput, this.webService.getValidator().getSignatureReferenceName(signaturenumber),actualReferenceNumber).BringIntoView();
    586                   this.animateFoundElements(this.findItem(this.soapInput, this.webService.getValidator().getSignatureReferenceName(signaturenumber), actualReferenceNumber), this.findItem(this.soapInput, this.webService.getValidator().getSignatureReferenceName(signaturenumber), actualReferenceNumber));
     585                  this.findItem(this.soapInput, this.webService.Validator().GetSignatureReferenceName(signaturenumber),actualReferenceNumber).BringIntoView();
     586                  this.animateFoundElements(this.findItem(this.soapInput, this.webService.Validator().GetSignatureReferenceName(signaturenumber), actualReferenceNumber), this.findItem(this.soapInput, this.webService.Validator().GetSignatureReferenceName(signaturenumber), actualReferenceNumber));
    587587                   referenceStatus++;
    588588                   break;
     
    593593                   this.findItem((TreeViewItem)this.tempReferenceCollection[this.referenceNumber], "Transforms", actualSignatureNumber).BringIntoView();
    594594                   this.animateFoundElements(this.findItem((TreeViewItem)this.tempReferenceCollection[this.referenceNumber], "Transforms", actualSignatureNumber), this.findItem((TreeViewItem)this.tempReferenceCollection[this.referenceNumber], "/ds:Transforms", actualSignatureNumber));
    595                    this.transformCount = this.webService.getValidator().getTransformsCounter(signaturenumber, referenceNumber);
     595                   this.transformCount = this.webService.Validator().GetTransformsCounter(signaturenumber, referenceNumber);
    596596                   referenceTimer.Stop();
    597597                   referenceStatus++;
     
    609609                   break;
    610610                case 6:
    611                    this.textBox2.Text +="\n    -> Calculated DigestValue:" +"\n       "+this.webService.getValidator().digestElement(signaturenumber,referenceNumber);
     611                   this.textBox2.Text +="\n    -> Calculated DigestValue:" +"\n       "+this.webService.Validator().DigestElement(signaturenumber,referenceNumber);
    612612                   this.textBox2.ScrollToLine(this.textBox2.LineCount - 1);
    613613                   referenceStatus++;
     
    621621                   break;
    622622                case 8:
    623                    if (this.webService.getValidator().compareDigestValues(signaturenumber, referenceNumber, this.webService.getValidator().digestElement(signaturenumber, referenceNumber)))
     623                   if (this.webService.Validator().CompareDigestValues(signaturenumber, referenceNumber, this.webService.Validator().DigestElement(signaturenumber, referenceNumber)))
    624624                   {
    625625
     
    666666                case 3:
    667667                    this.textBox2.Text += "\n  ->execute Transform";
    668                    this.textBox2.Text+="\n"+ this.webService.getValidator().makeTransforms(signaturenumber, referenceNumber, transformNumber);
     668                   this.textBox2.Text+="\n"+ this.webService.Validator().MakeTransforms(signaturenumber, referenceNumber, transformNumber);
    669669                   
    670670                   
     
    10301030        public void save(string fileName)
    10311031        {
    1032             if (this.webService.serviceDescription != null)
    1033             {
    1034                 ServiceDescription test = this.webService.serviceDescription;
     1032            if (this.webService.ServiceDescription != null)
     1033            {
     1034                ServiceDescription test = this.webService.ServiceDescription;
    10351035                StreamWriter stream = new StreamWriter(fileName);
    10361036                test.Write(stream);
     
    10561056         
    10571057            string codeToCompile = header + richTextBoxText.Text + endBrace.Text;
    1058             webService.compile(codeToCompile);
     1058            webService.Compile(codeToCompile);
    10591059            this.webService.WebServiceSettings.Compiled = true;
    10601060        }
     
    11621162        private void button1_Click_1(object sender, RoutedEventArgs e)
    11631163        {
    1164             if (this.webService.checkSignature()==true)
     1164            if (this.webService.CheckSignature()==true)
    11651165            {
    11661166               
Note: See TracChangeset for help on using the changeset viewer.