Entrez Utilities Web Service
Updated: January 28, 2008
The NCBI Web service is a web program that enables developers to access Entrez Utilities
via the Simple Object Access Protocol (SOAP). Programmers may write software
applications that access the E-Utilities using any SOAP development tool.
The service has been tested with
- Java (Apache Axis 1.3)
- MS SOAP Toolkit 3.0 and MS Word Visual Basic
- C# and Visual Basic in MS Visual Studio .NET.
The service has not been tested with clients in other languages but it should work with any language
with Web services support.
Version 1.6 TEST
You can test the release candidate here: http://web.ncbi.nlm.nih.gov/entrez/eutils/soap/STATIC/esoap_help.html
Version 1.5b(current)
Changes in update 1.5b:
- There are two additional fields IsHidden and FullName in the FieldType in einfo.xsd.
Changes in update 1.5a:
- QueryTranslation field is added to eSerachResult; this field contains an actual query executed by the search engine.
QueryTranslation is recommended for use instead of TranslationStack.
- TranslationStackType is changed to follow eSearch DTD.
Version 1.5 provides access to EGQuery,
EFetch,
EInfo,
ELink,
ESearch,
ESpell,
and ESummary utilities.
The input parameters for the SOAP version of the E-Utilities are the same as described in the
documentation for each individual utility except no retmode
parameter is available as the SOAP implementation only returns XML.
Known issues
- Axis 1.3 WSDL2Java generates wrong source code for some complex types, see bug AXIS-2391.
Workaround: use Axis 1.2 or add WSDL2Java option --wrapArrays
- Axis SOAP client throws the "org.xml.sax.SAXException: Invalid element in <class name>..." exception. It happens when changes, even
backward-compatible, have been made to the schema. For example, when new optional field has been added to existing data types. It looks like
Axis' problem, because, for example, Microsoft's SOAP clients in the same situation just ignore a new field and don't crash. There is no
known workaround for this problem and developer should run WSDL2Java and rebuild client application each time WSDL changed.
To get
notification about changes to schema please subscribe to the utilities-announce announcement mailing list:
http://www.ncbi.nlm.nih.gov/mailman/listinfo/utilities-announce
- SUN GlassFish wsimport utility fails with eutils.wsdl and efetch.wsdl because of attibute "value" declared in multiple types.
Workaround: use eutils_lite.wsdl for all E-utilities but efetch, and efetch_lit.wsdl to access PubMed and NlmCatalog.
Currently, SOAP client developed in GlassFish can not efetch data from OMIM, PMC and biology databases.
How to Use E-Utilities Web Service
See also:
Previous versions
Version 1.3
Version 1.2
Version 1.1
Version 1.0