I tested it and it works fine...I think problem might be in the your URL ..make sure you have URL point to something as follows..
http://<<YOUR SERVERNAME>>:<PORTNAME>>/MSCRMServices/2007/metadataservice.asmx
following code that i tested and working fine at my end..
MetadataService metadataSrv = new MetadataService();
metadataSrv.Url = "http://<<YOUR SERVERNAME>>:<PORTNAME>>/MSCRMServices/2007/metadataservice.asmx";
metadataSrv.UseDefaultCredentials = true;
CrmAuthenticationToken token = new CrmAuthenticationToken();
token.AuthenticationType = 0;
token.OrganizationName = <<YOUR ORG NAME>>;
metadataSrv.CrmAuthenticationTokenValue = token;
RetrieveAttributeRequest attributeRequest = new RetrieveAttributeRequest();
attributeRequest.EntityLogicalName = "opportunity";
attributeRequest.LogicalName = "ownerid";
RetrieveAttributeResponse attributeResponse = (RetrieveAttributeResponse)oCrmService.Execute(attributeRequest); //SOAP error - unable to retrieve the
AttributeMetadata attrMetadata = attributeResponse.AttributeMetadata;
MayankP
My Blog
Follow Me on Twitter