Dev2.Runtime.ServiceModel.Data.WebService.GetOutputDescription C# (CSharp) Method

GetOutputDescription() public method

public GetOutputDescription ( ) : IOutputDescription
return IOutputDescription
        public IOutputDescription GetOutputDescription()
        {
            IOutputDescription result = null;
            var dataSourceShape = DataSourceShapeFactory.CreateDataSourceShape();

            var requestResponse = Scrubber.Scrub(RequestResponse);

            try
            {
                result = OutputDescriptionFactory.CreateOutputDescription(OutputFormats.ShapedXML);
                dataSourceShape = DataSourceShapeFactory.CreateDataSourceShape();
                result.DataSourceShapes.Add(dataSourceShape);
                var dataBrowser = DataBrowserFactory.CreateDataBrowser();
                dataSourceShape.Paths.AddRange(dataBrowser.Map(requestResponse));
            }

            catch(Exception ex)
            {
                var dataBrowser = DataBrowserFactory.CreateDataBrowser();
                var errorResult = new XElement("Error");
                errorResult.Add(ex);
                var data = errorResult.ToString();
                dataSourceShape.Paths.AddRange(dataBrowser.Map(data));
            }
            return result;
        }

Usage Example

        static void VerifyScrub(string requestResponse, IList<IPath> expectedPaths)
        {
            var webService = new WebService { RequestResponse = requestResponse };
            var outputDescription = webService.GetOutputDescription();

            Assert.AreEqual(1, outputDescription.DataSourceShapes.Count);

            foreach(var shape in outputDescription.DataSourceShapes)
            {
                Assert.IsNotNull(shape);
                Assert.AreEqual(expectedPaths.Count, shape.Paths.Count);

                foreach(var actualPath in shape.Paths)
                {
                    var expectedPath = expectedPaths.FirstOrDefault(p => p.ActualPath == actualPath.ActualPath);
                    Assert.IsNotNull(expectedPath);

                    Assert.AreEqual(expectedPath.DisplayPath, actualPath.DisplayPath);
                    Assert.AreEqual(expectedPath.OutputExpression, actualPath.OutputExpression);
                    Assert.IsTrue(actualPath.SampleData.StartsWith(expectedPath.SampleData));
                }
            }
        }
All Usage Examples Of Dev2.Runtime.ServiceModel.Data.WebService::GetOutputDescription