An important part of many programming tasks is the use of libraries and other forms of Application Programming Interfaces (APIs). Programming via web services using a Service-Oriented Architecture (SOA) is an emerging form of API usage. Web services in a business context (called enterprise SOA or E-SOA) add an additional complexity in terms of the number of the services, the variety of internal data structures, and service interdependencies. After altering existing Human-Computer Interaction (HCI) methodologies to address the unique context of software development for SOA, we evaluated a large E-SOA API and identified many usability challenges. Our findings are grouped into three categories: usability breakdowns deriving from the API design itself, from the client-side web service tools, and from the documentation. Prominent results include difficulties developers without business backgrounds encounter in navigating the documentation, and how existing code generators create APIs that ...