public override void LoadTransformEditorValues(int requestIndex, ScriptingApplication scriptingData, WebTransform transform)
        {
            base.LoadTransformEditorValues (requestIndex, scriptingData, transform);

            this.Clear();
            lvValues.Items.Clear();

            GmailSmtpTransform gmtransform = (GmailSmtpTransform)transform;

            if ( gmtransform != null )
            {
                this.txtBcc.Text = gmtransform.Bcc;
                gmtransform.Cc = this.txtCc.Text;
                if ( gmtransform.Format ==  System.Web.Mail.MailFormat.Html )
                {
                    this.rbHTML.Checked = true;
                }
                if ( gmtransform.Format ==  System.Web.Mail.MailFormat.Text )
                {
                    this.rbText.Checked = true;
                }
                this.txtFrom.Text = gmtransform.From;
                this.txtPassword.Text = gmtransform.Password;
                this.txtUsername.Text = gmtransform.Username;
                this.txtTo.Text = gmtransform.To;
                this.txtSubject.Text = gmtransform.Subject;
            }

            // Load any tranform value, if available
            if ( gmtransform.QueryCommandActions.Length > 0 )
            {
                foreach ( QueryCommandAction action in gmtransform.QueryCommandActions )
                {
                    ListViewItem listItem = new ListViewItem();
                    listItem.Text = action.Description;
                    listItem.Tag = action;

                    lvValues.Items.Add(listItem);
                }
            }

            if ( _headerList.Count <= 0 )
            {
                // Load the header combo list.
                _headerList.AddRange(HeaderTransform.GetRestrictedHeaders);

                foreach ( WebHeader header in base.SessionScripting.WebRequests[base.SelectedWebRequestIndex].RequestHttpSettings.AdditionalHeaders )
                {
                    _headerList.Add(header.Name);
                }
            }

            //this.cmbTransformValue.SelectedIndex = this.GetTransformValueComboIndex(queryTransform);

            WebRequest req = base.SessionScripting.WebRequests[base.SelectedWebRequestIndex];
            LoadHeaderList(_headerList);
            LoadFormValues(req);
            LoadCookieNames(req);
        }
        private void btnSign_Click(object sender, System.EventArgs e)
        {
            ScriptingApplication application = new ScriptingApplication();
            application.Load(this.txtApplicationPath.Text);
            string encryptedXml = application.Encrypt();

            string hashedPassword = HashPassword(txtUsername.Text, txtPassword.Text);

            UsernameToken token = new UsernameToken(txtUsername.Text, hashedPassword, PasswordOption.SendPlainText);
            token.Id = "LicenseToken";

            // create client message.
            RegisterApplicationMessage message = new RegisterApplicationMessage();
            message.ApplicationID = application.Header.ApplicationID;
            message.EncryptedScriptingApplicationXml = encryptedXml;

            client.Security = new Security();
            client.Security.Tokens.Add(token);
            client.BeginRegisterScriptingApplication(
                message,
                new MessageResultHandler(SignScriptingAppInvoker),
                null);
        }
        private void SaveSessionAsScriptingData(string fileName)
        {
            try
            {
                ScriptingApplication sd = new ScriptingApplication();

                foreach (SessionRequest req in WebSession.SessionRequests )
                {
                    if ( req.RequestType == HttpRequestType.GET )
                    {
                        GetWebRequest getRequest = new GetWebRequest((GetSessionRequest)req);
                        sd.AddWebRequest(getRequest);
                    }
                    else if ( req.RequestType == HttpRequestType.POST )
                    {
                        PostWebRequest postRequest = new PostWebRequest((PostSessionRequest)req);
                        sd.AddWebRequest(postRequest);
                    }
                }

                sd.Save(fileName);
            }
            catch ( Exception ex )
            {
                MessageBox.Show(ex.ToString());
            }
        }