private void ResolveWsdlNestedType(WsdlBinding binding, WsdlBindingSuds suds, WsdlBindingSudsNestedType nested) { Util.Log("WsdlParser.ResolveWsdlNestedType "+binding.name+" ns "+binding.parsingNamespace.Namespace+" suds "+suds.typeName+" nestedName "+nested.name+" nestedTypeName "+nested.typeName); String className = suds.typeName; String ns = nested.ns; String nestedName = nested.name; String nestedTypeName = nested.typeName; if (suds.ns != ns) { throw new SUDSParserException( String.Format(CultureInfo.CurrentCulture, CoreChannel.GetResourceString("Remoting_Suds_CantResolveNestedTypeNS"), suds.typeName, suds.ns)); } URTNamespace sudsNamespace = AddNewNamespace(suds.ns); URTComplexType outerType = sudsNamespace.LookupComplexType(suds.typeName); if (outerType == null) { throw new SUDSParserException( String.Format(CultureInfo.CurrentCulture, CoreChannel.GetResourceString("Remoting_Suds_CantResolveNestedType"), suds.typeName, suds.ns)); } BaseType innerType = sudsNamespace.LookupType(nested.typeName); if (innerType == null) { // Can be URTSimpleType for Enum Util.Log("WsdlParser.ResolveWsdlNestedType cann't find inner type "+nested.typeName+" className "+className+" ns "+ns); innerType = sudsNamespace.LookupComplexType(nested.typeName); if (innerType == null) { innerType = new URTComplexType(nested.typeName, sudsNamespace.Name, sudsNamespace.Namespace, sudsNamespace.EncodedNS, _blockDefault ,false, false, this, sudsNamespace); sudsNamespace.AddComplexType((URTComplexType)innerType); } } innerType.bNestedType = true; innerType.NestedTypeName = nested.name; innerType.FullNestedTypeName = nested.typeName; innerType.OuterTypeName = suds.typeName; outerType.AddNestedType(innerType); }
private void ResolveWsdlClass(WsdlBinding binding, WsdlBindingSuds suds, bool bFirstSuds) { // bFirstSuds is true then the suds class is the class for the binding. // The other suds are additional class without bindings in the same namespace. Util.Log("WsdlParser.ResolveWsdlClass suds "+suds); URTComplexType parsingComplexType; //URTNamespace parsingNamespace = binding.parsingNamespace; URTNamespace parsingNamespace; //URTNamespace parsingNamespace = binding.typeNs; if (suds != null) { Util.Log("WsdlParser.ResolveWsdlClass suds not null "+suds.elementName+" "+suds.typeName); // Suds parsingNamespace = AddNewNamespace(suds.ns); parsingComplexType = parsingNamespace.LookupComplexType(suds.typeName); if (parsingComplexType == null) { parsingComplexType = new URTComplexType(suds.typeName, parsingNamespace.Name, parsingNamespace.Namespace, parsingNamespace.EncodedNS, _blockDefault ,false, false, this, parsingNamespace); parsingNamespace.AddComplexType(parsingComplexType); } if (MatchingStrings(suds.elementName, s_structString)) parsingComplexType.IsValueType = true; parsingComplexType.SudsUse = suds.sudsUse; if (suds.sudsUse == SudsUse.MarshalByRef || suds.sudsUse == SudsUse.ServicedComponent ) { Util.Log("WsdlParser.ResolveWsdlClass MarshalByRef IsSudsType true 1 "+suds.elementName+" "+suds.typeName); parsingComplexType.IsSUDSType = true; if (_bWrappedProxy) parsingComplexType.SUDSType = SUDSType.ClientProxy; else parsingComplexType.SUDSType = SUDSType.MarshalByRef; if ((suds.extendsTypeName != null) && (suds.extendsTypeName.Length > 0)) { URTNamespace extendsNamespace = AddNewNamespace(suds.extendsNs); /* if (extendsNamespace == null) extendsNamespace = new URTNamespace(suds.extendsTypeName, this); */ URTComplexType extendsComplexType = extendsNamespace.LookupComplexType(suds.extendsTypeName); if (extendsComplexType == null) { extendsComplexType = new URTComplexType(suds.extendsTypeName, extendsNamespace.Name, extendsNamespace.Namespace, extendsNamespace.EncodedNS, _blockDefault ,true, false, this, extendsNamespace); extendsNamespace.AddComplexType(extendsComplexType); } else { Util.Log("WsdlParser.ResolveWsdlClass IsSudsType true 2 "+suds.elementName+" "+suds.typeName); extendsComplexType.IsSUDSType = true; } if (_bWrappedProxy) extendsComplexType.SUDSType = SUDSType.ClientProxy; else extendsComplexType.SUDSType = SUDSType.MarshalByRef; extendsComplexType.SudsUse = suds.sudsUse; // Only top of inheritance hierarchy is marked //parsingComplexType.SUDSType = SUDSType.None; } } foreach (WsdlBindingSudsNestedType nestedType in suds.nestedTypes) { ResolveWsdlNestedType(binding, suds, nestedType); } } else { // No suds Util.Log("WsdlParser.ResolveWsdlClass no suds "); parsingNamespace = AddNewNamespace(binding.typeNs); String name = binding.name; int index = binding.name.IndexOf("Binding"); if (index > 0) { //name = Atomize(binding.name.Substring(0,index)); name = binding.name.Substring(0,index); } parsingComplexType = parsingNamespace.LookupComplexTypeEqual(name); if (parsingComplexType == null) { parsingComplexType = new URTComplexType(name, parsingNamespace.Name, parsingNamespace.Namespace, parsingNamespace.EncodedNS, _blockDefault ,true, false, this, parsingNamespace); parsingNamespace.AddComplexType(parsingComplexType); } else { Util.Log("WsdlParser.ResolveWsdlClass IsSudsType true 3 "+name); parsingComplexType.IsSUDSType = true; } if (_bWrappedProxy) parsingComplexType.SUDSType = SUDSType.ClientProxy; else parsingComplexType.SUDSType = SUDSType.MarshalByRef; parsingComplexType.SudsUse = SudsUse.MarshalByRef; } // Resolve address parsingComplexType.ConnectURLs = ResolveWsdlAddress(binding); // Resolve extends and implements if (suds != null) { if (!MatchingStrings(suds.extendsTypeName, s_emptyString)) { parsingComplexType.Extends(suds.extendsTypeName, suds.extendsNs); } foreach (WsdlBindingSudsImplements impl in suds.implements) parsingComplexType.Implements(impl.typeName, impl.ns, this); } if (bFirstSuds && (parsingComplexType.SudsUse == SudsUse.MarshalByRef || parsingComplexType.SudsUse == SudsUse.ServicedComponent || parsingComplexType.SudsUse == SudsUse.Delegate || parsingComplexType.SudsUse == SudsUse.Interface)) { // Resolve methods ArrayList methodInfos = ResolveWsdlMethodInfo(binding); foreach (WsdlMethodInfo methodInfo in methodInfos) { if ((methodInfo.inputMethodName != null) && (methodInfo.outputMethodName != null)) { RRMethod parsingRRMethod = new RRMethod(methodInfo, parsingComplexType); parsingRRMethod.AddRequest(methodInfo.methodName, methodInfo.methodNameNs); parsingRRMethod.AddResponse(methodInfo.methodName, methodInfo.methodNameNs); parsingComplexType.AddMethod(parsingRRMethod); } else if (methodInfo.inputMethodName != null) { OnewayMethod parsingOWMethod = new OnewayMethod(methodInfo, parsingComplexType); parsingComplexType.AddMethod(parsingOWMethod); parsingOWMethod.AddMessage(methodInfo.methodName, methodInfo.methodNameNs); } else { throw new SUDSParserException( String.Format(CultureInfo.CurrentCulture, CoreChannel.GetResourceString("Remoting_Suds_WsdlInvalidMessage"), methodInfo.methodName)); } } } }
private void ResolveWsdlInterface(WsdlBinding binding, WsdlBindingSuds suds) { Util.Log("WsdlParser.ResolveWsdlInterface "+binding.name+" ns "+binding.parsingNamespace.Namespace+" suds "+suds.typeName); URTNamespace parsingNamespace = binding.parsingNamespace; URTNamespace sudsNamespace = AddNewNamespace(suds.ns); /* if (sudsNamespace == null) { sudsNamespace = new URTNamespace(suds.ns, this); } */ URTInterface parsingInterface = sudsNamespace.LookupInterface(suds.typeName); if (parsingInterface == null) { parsingInterface = new URTInterface(suds.typeName, sudsNamespace.Name, sudsNamespace.Namespace, sudsNamespace.EncodedNS, this); sudsNamespace.AddInterface(parsingInterface); } if (suds.extendsTypeName != null) { parsingInterface.Extends(suds.extendsTypeName, suds.extendsNs, this); } foreach (WsdlBindingSudsImplements impl in suds.implements) { parsingInterface.Extends(impl.typeName, impl.ns, this); } ArrayList methodInfos = ResolveWsdlMethodInfo(binding); foreach (WsdlMethodInfo methodInfo in methodInfos) { if ((methodInfo.inputMethodName != null) && (methodInfo.outputMethodName != null)) { RRMethod parsingRRMethod = new RRMethod(methodInfo, null); parsingRRMethod.AddRequest(methodInfo.methodName, methodInfo.methodNameNs); parsingRRMethod.AddResponse(methodInfo.methodName, methodInfo.methodNameNs); parsingInterface.AddMethod(parsingRRMethod); } else if (methodInfo.inputMethodName != null) { OnewayMethod parsingOWMethod = new OnewayMethod(methodInfo.methodName, methodInfo.soapAction, null); parsingOWMethod.AddMessage(methodInfo.methodName, methodInfo.methodNameNs); parsingInterface.AddMethod(parsingOWMethod); } else { throw new SUDSParserException( String.Format(CultureInfo.CurrentCulture, CoreChannel.GetResourceString("Remoting_Suds_WsdlInvalidMessage"), methodInfo.methodName)); } } }
private void ParseWsdlBinding(URTNamespace inparsingNamespace) { Util.Log("WsdlParser.ParseWsdlBinding"); WsdlBinding binding = new WsdlBinding(); binding.name = LookupAttribute(s_nameString, null, true); //binding.nameNs = ParseQName(ref binding.name); binding.type = LookupAttribute(s_typeString, null, true); binding.typeNs = ParseQName(ref binding.type); URTNamespace parsingNamespace = LookupNamespace(binding.typeNs); if (parsingNamespace == null) { parsingNamespace = new URTNamespace(binding.typeNs, this); } binding.parsingNamespace = parsingNamespace; bool bSoapBinding = false; bool bRpcBinding = false; bool bSoapEncoded = false; bool bSoapSuds = false; int curDepth = _XMLReader.Depth; ReadNextXmlElement(); while (_XMLReader.Depth > curDepth) { String elementName = _XMLReader.LocalName; if (MatchingNamespace(s_wsdlSoapNamespaceString) && MatchingStrings(elementName, s_bindingString)) { bSoapBinding = true; WsdlBindingSoapBinding sb = new WsdlBindingSoapBinding(); sb.style = LookupAttribute(s_styleString, null, true); if (sb.style == "rpc") bRpcBinding = true; /* if (sb.style == "document") { throw new SUDSParserException( String.Format(CoreChannel.GetResourceString("Remoting_Suds_SoapStyleNotSupported"), sb.style)); } */ sb.transport = LookupAttribute(s_transportString, null, true); binding.soapBinding = sb; ReadNextXmlElement(); continue; } else if (MatchingNamespace(s_wsdlSudsNamespaceString)) { bSoapSuds = true; if (MatchingStrings(elementName, s_classString) || MatchingStrings(elementName, s_structString)) { WsdlBindingSuds suds = new WsdlBindingSuds(); suds.elementName = elementName; suds.typeName = LookupAttribute(s_typeString, null, true); suds.ns = ParseQName(ref suds.typeName); suds.extendsTypeName = LookupAttribute(s_extendsString, null, false); String use = LookupAttribute(s_rootTypeString, null, false); suds.sudsUse = ProcessSudsUse(use, elementName); if (!MatchingStrings(suds.extendsTypeName, s_emptyString)) suds.extendsNs = ParseQName(ref suds.extendsTypeName); ParseWsdlBindingSuds(suds); binding.suds.Add(suds); continue; } else if (MatchingStrings(elementName, s_interfaceString)) { WsdlBindingSuds suds = new WsdlBindingSuds(); suds.elementName = elementName; //Atomize("interface"); suds.typeName = LookupAttribute(s_typeString, null, true); suds.ns = ParseQName(ref suds.typeName); String use = LookupAttribute(s_rootTypeString, null, false); suds.sudsUse = ProcessSudsUse(use, elementName); ParseWsdlBindingSuds(suds); binding.suds.Add(suds); continue; } } else if (MatchingNamespace(s_wsdlNamespaceString) && MatchingStrings(elementName, s_operationString)) { WsdlBindingOperation op = new WsdlBindingOperation(); op.name = LookupAttribute(s_nameString, null, true); op.nameNs = _parsingInput.TargetNS; ParseWsdlBindingOperation(op, ref bRpcBinding, ref bSoapEncoded); binding.operations.Add(op); continue; } // Ignore others elements such as annotations SkipXmlElement(); } if (bSoapBinding && bRpcBinding && bSoapEncoded || bSoapSuds) wsdlBindings.Add(binding); }
private void ParseWsdlBindingSuds(WsdlBindingSuds suds) { Util.Log("WsdlParser.ParseWsdlBindingSuds"); int curDepth = _XMLReader.Depth; ReadNextXmlElement(); while (_XMLReader.Depth > curDepth) { String elementName = _XMLReader.LocalName; if (MatchingStrings(elementName, s_implementsString) || MatchingStrings(elementName, s_extendsString)) { WsdlBindingSudsImplements impl = new WsdlBindingSudsImplements(); impl.typeName = LookupAttribute(s_typeString, null, true); impl.ns = ParseQName(ref impl.typeName); suds.implements.Add(impl); ReadNextXmlElement(); continue; } else if (MatchingStrings(elementName, s_nestedTypeString)) { WsdlBindingSudsNestedType nestedType = new WsdlBindingSudsNestedType(); nestedType.name = LookupAttribute(s_nameString, null, true); nestedType.typeName = LookupAttribute(s_typeString, null, true); nestedType.ns = ParseQName(ref nestedType.typeName); suds.nestedTypes.Add(nestedType); ReadNextXmlElement(); continue; } // Ignore others elements such as annotations SkipXmlElement(); } }
private void ResolveWsdlNestedType(WsdlBinding binding, WsdlBindingSuds suds, WsdlBindingSudsNestedType nested) { string typeName = suds.typeName; string ns = nested.ns; string name = nested.name; string text3 = nested.typeName; if (suds.ns != ns) { throw new SUDSParserException(string.Format(CultureInfo.CurrentCulture, CoreChannel.GetResourceString("Remoting_Suds_CantResolveNestedTypeNS"), new object[] { suds.typeName, suds.ns })); } URTNamespace xns = this.AddNewNamespace(suds.ns); URTComplexType complexType = xns.LookupComplexType(suds.typeName); if (complexType == null) { throw new SUDSParserException(string.Format(CultureInfo.CurrentCulture, CoreChannel.GetResourceString("Remoting_Suds_CantResolveNestedType"), new object[] { suds.typeName, suds.ns })); } BaseType type = xns.LookupType(nested.typeName); if (type == null) { type = xns.LookupComplexType(nested.typeName); if (type == null) { type = new URTComplexType(nested.typeName, xns.Name, xns.Namespace, xns.EncodedNS, this._blockDefault, false, false, this, xns); xns.AddComplexType((URTComplexType) type); } } type.bNestedType = true; type.NestedTypeName = nested.name; type.FullNestedTypeName = nested.typeName; type.OuterTypeName = suds.typeName; complexType.AddNestedType(type); }
private void ResolveWsdlInterface(WsdlBinding binding, WsdlBindingSuds suds) { URTNamespace parsingNamespace = binding.parsingNamespace; URTNamespace namespace2 = this.AddNewNamespace(suds.ns); URTInterface iface = namespace2.LookupInterface(suds.typeName); if (iface == null) { iface = new URTInterface(suds.typeName, namespace2.Name, namespace2.Namespace, namespace2.EncodedNS, this); namespace2.AddInterface(iface); } if (suds.extendsTypeName != null) { iface.Extends(suds.extendsTypeName, suds.extendsNs, this); } foreach (WsdlBindingSudsImplements implements in suds.implements) { iface.Extends(implements.typeName, implements.ns, this); } foreach (WsdlMethodInfo info in this.ResolveWsdlMethodInfo(binding)) { if ((info.inputMethodName == null) || (info.outputMethodName == null)) { if (info.inputMethodName == null) { throw new SUDSParserException(string.Format(CultureInfo.CurrentCulture, CoreChannel.GetResourceString("Remoting_Suds_WsdlInvalidMessage"), new object[] { info.methodName })); } OnewayMethod method2 = new OnewayMethod(info.methodName, info.soapAction, null); method2.AddMessage(info.methodName, info.methodNameNs); iface.AddMethod(method2); } else { RRMethod method = new RRMethod(info, null); method.AddRequest(info.methodName, info.methodNameNs); method.AddResponse(info.methodName, info.methodNameNs); iface.AddMethod(method); } } }
private void ResolveWsdlClass(WsdlBinding binding, WsdlBindingSuds suds, bool bFirstSuds) { URTComplexType complexType; URTNamespace namespace2; if (suds != null) { namespace2 = this.AddNewNamespace(suds.ns); complexType = namespace2.LookupComplexType(suds.typeName); if (complexType == null) { complexType = new URTComplexType(suds.typeName, namespace2.Name, namespace2.Namespace, namespace2.EncodedNS, this._blockDefault, false, false, this, namespace2); namespace2.AddComplexType(complexType); } if (MatchingStrings(suds.elementName, s_structString)) { complexType.IsValueType = true; } complexType.SudsUse = suds.sudsUse; if ((suds.sudsUse == SudsUse.MarshalByRef) || (suds.sudsUse == SudsUse.ServicedComponent)) { complexType.IsSUDSType = true; if (this._bWrappedProxy) { complexType.SUDSType = SUDSType.ClientProxy; } else { complexType.SUDSType = SUDSType.MarshalByRef; } if ((suds.extendsTypeName != null) && (suds.extendsTypeName.Length > 0)) { URTNamespace xns = this.AddNewNamespace(suds.extendsNs); URTComplexType type = xns.LookupComplexType(suds.extendsTypeName); if (type == null) { type = new URTComplexType(suds.extendsTypeName, xns.Name, xns.Namespace, xns.EncodedNS, this._blockDefault, true, false, this, xns); xns.AddComplexType(type); } else { type.IsSUDSType = true; } if (this._bWrappedProxy) { type.SUDSType = SUDSType.ClientProxy; } else { type.SUDSType = SUDSType.MarshalByRef; } type.SudsUse = suds.sudsUse; } } foreach (WsdlBindingSudsNestedType type3 in suds.nestedTypes) { this.ResolveWsdlNestedType(binding, suds, type3); } } else { namespace2 = this.AddNewNamespace(binding.typeNs); string name = binding.name; int index = binding.name.IndexOf("Binding"); if (index > 0) { name = binding.name.Substring(0, index); } complexType = namespace2.LookupComplexTypeEqual(name); if (complexType == null) { complexType = new URTComplexType(name, namespace2.Name, namespace2.Namespace, namespace2.EncodedNS, this._blockDefault, true, false, this, namespace2); namespace2.AddComplexType(complexType); } else { complexType.IsSUDSType = true; } if (this._bWrappedProxy) { complexType.SUDSType = SUDSType.ClientProxy; } else { complexType.SUDSType = SUDSType.MarshalByRef; } complexType.SudsUse = SudsUse.MarshalByRef; } complexType.ConnectURLs = this.ResolveWsdlAddress(binding); if (suds != null) { if (!MatchingStrings(suds.extendsTypeName, s_emptyString)) { complexType.Extends(suds.extendsTypeName, suds.extendsNs); } foreach (WsdlBindingSudsImplements implements in suds.implements) { complexType.Implements(implements.typeName, implements.ns, this); } } if (bFirstSuds && (((complexType.SudsUse == SudsUse.MarshalByRef) || (complexType.SudsUse == SudsUse.ServicedComponent)) || ((complexType.SudsUse == SudsUse.Delegate) || (complexType.SudsUse == SudsUse.Interface)))) { foreach (WsdlMethodInfo info in this.ResolveWsdlMethodInfo(binding)) { if ((info.inputMethodName == null) || (info.outputMethodName == null)) { if (info.inputMethodName == null) { throw new SUDSParserException(string.Format(CultureInfo.CurrentCulture, CoreChannel.GetResourceString("Remoting_Suds_WsdlInvalidMessage"), new object[] { info.methodName })); } OnewayMethod method2 = new OnewayMethod(info, complexType); complexType.AddMethod(method2); method2.AddMessage(info.methodName, info.methodNameNs); } else { RRMethod method = new RRMethod(info, complexType); method.AddRequest(info.methodName, info.methodNameNs); method.AddResponse(info.methodName, info.methodNameNs); complexType.AddMethod(method); } } } }
private void ParseWsdlBindingSuds(WsdlBindingSuds suds) { int depth = this._XMLReader.Depth; this.ReadNextXmlElement(); while (this._XMLReader.Depth > depth) { string localName = this._XMLReader.LocalName; if (MatchingStrings(localName, s_implementsString) || MatchingStrings(localName, s_extendsString)) { WsdlBindingSudsImplements implements; implements = new WsdlBindingSudsImplements { typeName = this.LookupAttribute(s_typeString, null, true), ns = this.ParseQName(ref implements.typeName) }; suds.implements.Add(implements); this.ReadNextXmlElement(); } else if (MatchingStrings(localName, s_nestedTypeString)) { WsdlBindingSudsNestedType type; type = new WsdlBindingSudsNestedType { name = this.LookupAttribute(s_nameString, null, true), typeName = this.LookupAttribute(s_typeString, null, true), ns = this.ParseQName(ref type.typeName) }; suds.nestedTypes.Add(type); this.ReadNextXmlElement(); } else { this.SkipXmlElement(); } } }
private void ParseWsdlBinding(URTNamespace inparsingNamespace) { WsdlBinding binding; binding = new WsdlBinding { name = this.LookupAttribute(s_nameString, null, true), type = this.LookupAttribute(s_typeString, null, true), typeNs = this.ParseQName(ref binding.type) }; URTNamespace namespace2 = this.LookupNamespace(binding.typeNs); if (namespace2 == null) { namespace2 = new URTNamespace(binding.typeNs, this); } binding.parsingNamespace = namespace2; bool flag = false; bool bRpcBinding = false; bool bSoapEncoded = false; bool flag4 = false; int depth = this._XMLReader.Depth; this.ReadNextXmlElement(); while (this._XMLReader.Depth > depth) { string localName = this._XMLReader.LocalName; if (this.MatchingNamespace(s_wsdlSoapNamespaceString) && MatchingStrings(localName, s_bindingString)) { flag = true; WsdlBindingSoapBinding binding2 = new WsdlBindingSoapBinding { style = this.LookupAttribute(s_styleString, null, true) }; if (binding2.style == "rpc") { bRpcBinding = true; } binding2.transport = this.LookupAttribute(s_transportString, null, true); binding.soapBinding = binding2; this.ReadNextXmlElement(); continue; } if (this.MatchingNamespace(s_wsdlSudsNamespaceString)) { flag4 = true; if (MatchingStrings(localName, s_classString) || MatchingStrings(localName, s_structString)) { WsdlBindingSuds suds; suds = new WsdlBindingSuds { elementName = localName, typeName = this.LookupAttribute(s_typeString, null, true), ns = this.ParseQName(ref suds.typeName), extendsTypeName = this.LookupAttribute(s_extendsString, null, false) }; string use = this.LookupAttribute(s_rootTypeString, null, false); suds.sudsUse = this.ProcessSudsUse(use, localName); if (!MatchingStrings(suds.extendsTypeName, s_emptyString)) { suds.extendsNs = this.ParseQName(ref suds.extendsTypeName); } this.ParseWsdlBindingSuds(suds); binding.suds.Add(suds); } else { WsdlBindingSuds suds2; if (!MatchingStrings(localName, s_interfaceString)) { goto Label_02CC; } suds2 = new WsdlBindingSuds { elementName = localName, typeName = this.LookupAttribute(s_typeString, null, true), ns = this.ParseQName(ref suds2.typeName) }; string str3 = this.LookupAttribute(s_rootTypeString, null, false); suds2.sudsUse = this.ProcessSudsUse(str3, localName); this.ParseWsdlBindingSuds(suds2); binding.suds.Add(suds2); } continue; } if (this.MatchingNamespace(s_wsdlNamespaceString) && MatchingStrings(localName, s_operationString)) { WsdlBindingOperation op = new WsdlBindingOperation { name = this.LookupAttribute(s_nameString, null, true), nameNs = this._parsingInput.TargetNS }; this.ParseWsdlBindingOperation(op, ref bRpcBinding, ref bSoapEncoded); binding.operations.Add(op); continue; } Label_02CC: this.SkipXmlElement(); } if (((flag && bRpcBinding) && bSoapEncoded) || flag4) { this.wsdlBindings.Add(binding); } }