System.Runtime.Remoting.MetadataServices.WsdlParser.ParseWsdlBindingOperation C# (CSharp) Method

ParseWsdlBindingOperation() private method

private ParseWsdlBindingOperation ( WsdlBindingOperation op, bool &bRpcBinding, bool &bSoapEncoded ) : void
op WsdlBindingOperation
bRpcBinding bool
bSoapEncoded bool
return void
        private void ParseWsdlBindingOperation(WsdlBindingOperation op, ref bool bRpcBinding, ref bool bSoapEncoded)
        {
            Util.Log("WsdlParser.ParseWsdlBindingOperation");                                                                                   
            int curDepth = _XMLReader.Depth; 
            bool binput = false;
            bool boutput = false;
            WsdlBindingOperationSection opSec = null;

            ReadNextXmlElement();               

            while (_XMLReader.Depth > curDepth)
            {
                String elementName = _XMLReader.LocalName;

                if (MatchingNamespace(s_wsdlSudsNamespaceString) && MatchingStrings(elementName, s_methodString))
                {
                    op.methodAttributes = LookupAttribute(s_attributesString, null, true);
                    ReadNextXmlElement();                                   
                    continue;                                       
                }
                else if (MatchingNamespace(s_wsdlSoapNamespaceString) &&
                         MatchingStrings(elementName, s_operationString))
                {
                    WsdlBindingSoapOperation soapOp = new WsdlBindingSoapOperation();
                    soapOp.soapAction = LookupAttribute(s_soapActionString, null, false);
                    soapOp.style = LookupAttribute(s_styleString, null, false);
                    if (soapOp.style == "rpc")
                        bRpcBinding = true;
                    {
                    }
                    op.soapOperation = soapOp;
                    ReadNextXmlElement();                                   
                    continue;                   
                }
                else if (MatchingNamespace(s_wsdlNamespaceString))
                {
                    if (MatchingStrings(elementName, s_inputString))
                    {
                        binput = true;
                        opSec = ParseWsdlBindingOperationSection(op, elementName, ref bSoapEncoded);
                        continue;                       
                    }
                    else if (MatchingStrings(elementName, s_outputString))
                    {
                        boutput = true;
                        ParseWsdlBindingOperationSection(op, elementName, ref bSoapEncoded);
                        continue;                       
                    }
                    else if (MatchingStrings(elementName, s_faultString))
                    {
                        ParseWsdlBindingOperationSection(op, elementName, ref bSoapEncoded);
                        continue;                       
                    }
                }

                // Ignore others elements such as annotations
                SkipXmlElement();
            }

            // if no output section then the default name is just the op name.
            if (opSec != null && binput && !boutput)
                opSec.name = op.name;


        }