protected int GetArrayLength(string name, string ns)
{
if (GetNullAttr()) return 0;
string arrayType = _r.GetAttribute(_arrayTypeID, _soapNsID);
SoapArrayInfo arrayInfo = ParseArrayType(arrayType);
if (arrayInfo.dimensions != 1) throw new InvalidOperationException(SR.Format(SR.XmlInvalidArrayDimentions, CurrentTag()));
XmlQualifiedName qname = ToXmlQualifiedName(arrayInfo.qname, false);
if (qname.Name != name) throw new InvalidOperationException(SR.Format(SR.XmlInvalidArrayTypeName, qname.Name, name, CurrentTag()));
if (qname.Namespace != ns) throw new InvalidOperationException(SR.Format(SR.XmlInvalidArrayTypeNamespace, qname.Namespace, ns, CurrentTag()));
return arrayInfo.length;
}