private void ParseInput(ReaderStream input)
{
Util.Log("WsdlParser.ParseInput" + input.Location);
_parsingInput = input;
try
{
ReadNextXmlElement();
String elementName = _XMLReader.LocalName;
if (MatchingNamespace(s_wsdlNamespaceString) && MatchingStrings(elementName, s_definitionsString))
{
Util.Log("WsdlParser.ParseInput before ParseWsdl "+input.Location);
_currentReaderStack.Push(input); // need this to get the base url for relative import elements.
ParseWsdl();
_currentReaderStack.Pop(); // need this to get the base url for relative import elements.
}
else if (MatchingNamespace(s_wsdlNamespaceString) && MatchingStrings(elementName, s_typesString))
{
Util.Log("WsdlParser.ParseInput before ParseWsdlTypes "+input.Location);
_currentReaderStack.Push(input); // need this to get the base url for relative import elements.
ParseWsdlTypes();
_currentReaderStack.Pop(); // need this to get the base url for relative import elements.
}
else if (MatchingSchemaNamespace() && MatchingStrings(elementName, s_schemaString))
{
Util.Log("WsdlParser.ParseInput before ParseWsdl "+input.Location);
_currentReaderStack.Push(input); // need this to get the base url for relative import elements.
ParseSchema();
_currentReaderStack.Pop(); // need this to get the base url for relative import elements.
}
else
throw new SUDSParserException(String.Format(CultureInfo.CurrentCulture, CoreChannel.GetResourceString("Remoting_Suds_UnknownElementAtRootLevel"), elementName));
}
finally
{
WriterStream.Flush(_writerStreams);
}
}