private static IEnumerable <IEditorScript> GetScripts(OperationBinding opBinding, XmlSchemaSet schemas) { var binding = opBinding.Binding; var service = binding.ServiceDescription; var operation = service.PortTypes[binding.Type.Name].Operations.OfType <Operation>() .FirstOrDefault(o => o.Name == opBinding.Name); var elem = service.Messages[operation.Messages.Input.Message.Name].Parts[0].Element; //var schemaElem = service.Types.Schemas // .SelectMany(s => s.Elements.Values.OfType<XmlSchemaElement>()) // .FirstOrDefault(e => e.Name == elem.Name); var settings = new XmlWriterSettings() { OmitXmlDeclaration = true, Indent = true, IndentChars = " " }; using (var writer = new StringWriter()) using (var xml = XmlTextWriter.Create(writer, settings)) { var generator = new Microsoft.Xml.XMLGen.XmlSampleGenerator(schemas, elem); xml.WriteStartElement("soapenv", "Envelope", "http://schemas.xmlsoap.org/soap/envelope/"); xml.WriteAttributeString("xmlns", "soap", null, elem.Namespace); xml.WriteStartElement("soapenv", "Header", "http://schemas.xmlsoap.org/soap/envelope/"); xml.WriteEndElement(); xml.WriteStartElement("soapenv", "Body", "http://schemas.xmlsoap.org/soap/envelope/"); generator.WriteXml(xml); xml.WriteEndElement(); xml.WriteEndElement(); xml.Flush(); writer.Flush(); return(Enumerable.Repeat <IEditorScript>(new EditorScript() { Name = "Sample Request", Script = writer.ToString(), Action = opBinding.Name }, 1)); } }
private static IEnumerable<IEditorScript> GetScripts(OperationBinding opBinding, XmlSchemaSet schemas) { var binding = opBinding.Binding; var service = binding.ServiceDescription; var operation = service.PortTypes[binding.Type.Name].Operations.OfType<Operation>() .FirstOrDefault(o => o.Name == opBinding.Name); var elem = service.Messages[operation.Messages.Input.Message.Name].Parts[0].Element; //var schemaElem = service.Types.Schemas // .SelectMany(s => s.Elements.Values.OfType<XmlSchemaElement>()) // .FirstOrDefault(e => e.Name == elem.Name); var settings = new XmlWriterSettings() { OmitXmlDeclaration = true, Indent = true, IndentChars = " " }; using (var writer = new StringWriter()) using (var xml = XmlTextWriter.Create(writer, settings)) { var generator = new Microsoft.Xml.XMLGen.XmlSampleGenerator(schemas, elem); xml.WriteStartElement("soapenv", "Envelope", "http://schemas.xmlsoap.org/soap/envelope/"); xml.WriteAttributeString("xmlns", "soap", null, elem.Namespace); xml.WriteStartElement("soapenv", "Header", "http://schemas.xmlsoap.org/soap/envelope/"); xml.WriteEndElement(); xml.WriteStartElement("soapenv", "Body", "http://schemas.xmlsoap.org/soap/envelope/"); generator.WriteXml(xml); xml.WriteEndElement(); xml.WriteEndElement(); xml.Flush(); writer.Flush(); return Enumerable.Repeat<IEditorScript>(new EditorScript() { Name = "Sample Request", Script = writer.ToString(), Action = opBinding.Name }, 1); } }