Export (0) Print
Expand All

ServiceDescription.CanRead Method

Gets a value that indicates whether an XmlReader represents a valid Web Services Description Language (WSDL) file that can be parsed.

Namespace:  System.Web.Services.Description
Assembly:  System.Web.Services (in System.Web.Services.dll)

public static bool CanRead(
	XmlReader reader
)

Parameters

reader
Type: System.Xml.XmlReader
An XmlReader

Return Value

Type: System.Boolean
true if the XmlSerializer can recognize the node on which the XmlReader is positioned; otherwise false.


static void Main()
{
   string myWsdlFileName ="MyWsdl_CS.wsdl";
   XmlTextReader myReader = new XmlTextReader(myWsdlFileName);
   if (ServiceDescription.CanRead(myReader))
   {
      ServiceDescription myDescription = 
         ServiceDescription.Read(myWsdlFileName);

      // Remove the PortType at index 0 of the collection.
      PortTypeCollection myPortTypeCollection = 
         myDescription.PortTypes;
      myPortTypeCollection.Remove(myDescription.PortTypes[0]);

      // Build a new PortType.
      PortType myPortType = new PortType();
      myPortType.Name = "Service1Soap";
      Operation myOperation = 
         CreateOperation("Add","s0:AddSoapIn","s0:AddSoapOut","");
      myPortType.Operations.Add(myOperation);

      // Add a new PortType to the PortType collection of 
      // the ServiceDescription.
      myDescription.PortTypes.Add(myPortType);

      myDescription.Write("MyOutWsdl.wsdl");
      Console.WriteLine("New WSDL file generated successfully.");
   }
   else
   {
      Console.WriteLine("This file is not a WSDL file.");
   }

}
// Creates an Operation for a PortType.
public static Operation CreateOperation(string operationName, 
   string inputMessage, string outputMessage, string targetNamespace)
{
   Operation myOperation = new Operation();
   myOperation.Name = operationName;
   OperationMessage input = (OperationMessage) new OperationInput();
   input.Message = new XmlQualifiedName(inputMessage,targetNamespace);
   OperationMessage output = (OperationMessage) new OperationOutput();
   output.Message = new XmlQualifiedName(outputMessage,targetNamespace);
   myOperation.Messages.Add(input);
   myOperation.Messages.Add(output);
   return myOperation;
}


.NET Framework

Supported in: 4, 3.5, 3.0, 2.0, 1.1, 1.0

.NET Framework Client Profile

Supported in: 4, 3.5 SP1

Windows 7, Windows Vista SP1 or later, Windows XP SP3, Windows XP SP2 x64 Edition, Windows Server 2008 (Server Core not supported), Windows Server 2008 R2 (Server Core supported with SP1 or later), Windows Server 2003 SP2

The .NET Framework does not support all versions of every platform. For a list of the supported versions, see .NET Framework System Requirements.

Community Additions

ADD
Show:
© 2015 Microsoft