DOC_INFO ( http://docs.oracle.com/cd/E23943_01/doc.1111/e11011/c04_core.htm#BABBCIEB ) and/or DOC_INFO_BY_NAME return a result set DOC_INFO, which contains "all fields from Revisions and DocMeta for the specified revision".
There is also : DOC_INFO_SIMPLE : Service that returns information about a specific content item without workflow or subscription information. It returns revision information as a simple listing of rows from the Revisions table rather than a specific selection of fields from the Documents and Revisions table. These differences make this service a less expensive operation than the standard DOC_INFO service.
I think that all the DOC_INFO services return the custom metadata ...
But it's easy to sort the DOC_INFO resultset to only retrieve the standard metadata, custom metadata are prefixed by a "x" like "xComments", etc.
I do not know of a service that only retrieves standard metadata fields. There is really no need for this.
Whether you call the DOC_INFO_SIMPLE service via SOAP or Java or Idoc Script, you should be able to simply iterate over the fields you are interested in and forget about the rest.
The DOC_INFO service returns all the metadata : custom and standard.
You could call the service, then you select the information you need in the DOC_INFO resultset by looping on it and extract only the metadata prefixed by a "d".
It seems that there is no standard service that returns only the custom metadata.
The other choice is to develop your own service that retrieves exactly what you need ...