コード例 #1
0
        protected void buttonCallBranchProcess_Click(object sender, EventArgs e)
        {
            WfServiceAddressDefinition address = new WfServiceAddressDefinition(WfServiceRequestMethod.Post,
                                                                                "http://localhost/MCSWebApp/WfFormTemplate/Services/WfProcessService.svc",
                                                                                WfServiceContentType.Json);

            WfServiceOperationDefinition definition = new WfServiceOperationDefinition(address, "StartBranchProcesses");

            WfServiceOperationParameter p1 = new WfServiceOperationParameter("ownerActivityID", UuidHelper.NewUuidString());

            IWfBranchProcessTemplateDescriptor template       = new WfBranchProcessTemplateDescriptor("Test");
            WfBranchProcessTransferParams      transferParams = new WfBranchProcessTransferParams(template);

            WfServiceOperationParameter p2 = new WfServiceOperationParameter("branchTransferParams", WfSvcOperationParameterType.RuntimeParameter, "transferParams");

            definition.Params.Add(p1);
            definition.Params.Add(p2);

            WfServiceInvoker invoker = new WfServiceInvoker(definition);

            WfServiceInvoker.InvokeContext["transferParams"] = transferParams;

            object result = invoker.Invoke();

            resultLabel.Text = Server.HtmlEncode(result.ToString());
        }
コード例 #2
0
        public void WcfServiceTest()
        {
            WfNetworkCredential credential = new WfNetworkCredential();
            string url        = @"http://localhost/MCSWebApp/WcfServiceDemo/Service1.svc";
            string addressKey = "testaddress";
            WfServiceAddressDefinition addressDef =
                new WfServiceAddressDefinition(WfServiceRequestMethod.Post, credential, url);

            addressDef.Key         = addressKey;
            addressDef.ContentType = WfServiceContentType.Json;

            WfGlobalParameters.Default.ServiceAddressDefs.Add(addressDef);

            string paraVal = @"{""BoolValue"":""true"",""StringValue"":""test""}";
            WfServiceOperationParameter operationParam =
                new WfServiceOperationParameter()
            {
                Name = "composite", Type = WfSvcOperationParameterType.String, Value = paraVal
            };
            WfServiceOperationDefinition operationDef =
                new WfServiceOperationDefinition(addressKey, "PostContract", new WfServiceOperationParameterCollection()
            {
                operationParam
            }, "");
            WfServiceInvoker invoker = new WfServiceInvoker(operationDef);
            var result = invoker.Invoke();

            Console.WriteLine(result.ToString());
        }
コード例 #3
0
        /// <summary>
        /// 调用远程服务
        /// </summary>
        /// <param name="operations"></param>
        protected void InvokeServiceOperations(WfServiceOperationDefinitionCollection operations)
        {
            foreach (WfServiceOperationDefinition svcDefinition in operations)
            {
                WfServiceInvoker svcInvoker = new WfServiceInvoker(svcDefinition);

                svcInvoker.Invoke(this.GetApplicationRuntimeParameters());
            }
        }
コード例 #4
0
        public override void Start()
        {
            foreach (WfServiceOperationDefinition svcDefinition in SvcOperationDefs)
            {
                WfServiceInvoker svcInvoker = new WfServiceInvoker(svcDefinition);

                svcInvoker.Headers.Set("InvokeWebServiceJobID", this.JobID);

                svcInvoker.Invoke();
            }
        }
コード例 #5
0
        protected void buttonGetServiceName_Click(object sender, EventArgs e)
        {
            WfServiceAddressDefinition address = new WfServiceAddressDefinition(WfServiceRequestMethod.Post,
                                                                                "http://localhost/MCSWebApp/WfFormTemplate/Services/WfProcessService.svc",
                                                                                WfServiceContentType.Json);

            WfServiceOperationDefinition definition = new WfServiceOperationDefinition(address, "GetServerTime");
            WfServiceInvoker             invoker    = new WfServiceInvoker(definition);

            object result = invoker.Invoke();

            resultLabel.Text = Server.HtmlEncode(result.ToString());
        }
コード例 #6
0
        protected override void OnExecute(SysTask task)
        {
            InvokeServiceTask invokeServiceTask = new InvokeServiceTask(task);

            WfServiceInvoker.InvokeContext.Clear();
            WfServiceInvoker.InvokeContext.CopyFrom(invokeServiceTask.Context);

            foreach (WfServiceOperationDefinition svcDefinition in invokeServiceTask.SvcOperationDefs)
            {
                WfServiceInvoker svcInvoker = new WfServiceInvoker(svcDefinition);

                svcInvoker.Headers.Set("SysTaskID", task.TaskID);

                svcInvoker.Invoke();
            }
        }
コード例 #7
0
        private void InvokeService()
        {
            WfServiceInvoker svcInvoker = new WfServiceInvoker(SvcOpDef);

            SvcOpDef.OperationName = "Add";
            SvcOpDef.Params.Clear();
            SvcOpDef.Params.Add(new WfServiceOperationParameter()
            {
                Name  = "a",
                Type  = WfSvcOperationParameterType.Int,
                Value = 50
            });
            SvcOpDef.Params.Add(new WfServiceOperationParameter()
            {
                Name  = "b",
                Type  = WfSvcOperationParameterType.Int,
                Value = 5
            });
            var result = svcInvoker.Invoke();

            Console.WriteLine(result.GetType().ToString() + result.ToString());

            SvcOpDef.OperationName = "AddDecimal";
            result = svcInvoker.Invoke();
            Console.WriteLine(result.GetType().ToString() + result.ToString());

            SvcOpDef.OperationName = "AddDouble";
            result = svcInvoker.Invoke();
            Console.WriteLine(result.GetType().ToString() + result.ToString());

            SvcOpDef.Params.Clear();

            SvcOpDef.OperationName = "GetDate";
            result = svcInvoker.Invoke();
            Console.WriteLine(result.GetType().ToString() + result.ToString());
            SvcOpDef.OperationName = "IsTrue";
            result = svcInvoker.Invoke();
            Console.WriteLine(result.GetType().ToString() + result.ToString());
            SvcOpDef.OperationName = "SayHelloWorld";
            result = svcInvoker.Invoke();
            Console.WriteLine(result.GetType().ToString() + result.ToString());

            SvcOpDef.OperationName            = "GetDayTimeSpan";
            SvcOpDef.AddressDef.RequestMethod = WfServiceRequestMethod.Soap;
            result = svcInvoker.Invoke();
            Console.WriteLine(result.GetType().ToString() + result.ToString());
        }
コード例 #8
0
        public void CallServiceTest()
        {
            WfServiceOperationDefinitionConfigurationElement operationElement =
                WfServiceDefinitionSettings.GetSection().Operations["PCGetVersion"];

            Assert.IsNotNull(operationElement);

            WfServiceOperationDefinition operation = new WfServiceOperationDefinition(operationElement);

            WfServiceInvoker.InvokeContext["Version"]  = string.Empty;
            WfServiceInvoker.InvokeContext["callerID"] = "Zheng Shen";

            WfServiceInvoker invoker = new WfServiceInvoker(operation);

            invoker.Invoke();

            string result = WfServiceInvoker.InvokeContext.GetValue("Version", string.Empty);

            Console.WriteLine(result);

            Assert.IsTrue(result.IndexOf(WfServiceInvoker.InvokeContext.GetValue("callerID", string.Empty)) >= 0);
        }