此内容没有您所选择的语言版本。

Chapter 35. Java-First Service Implementation


35.1. Java-First Overview

Overview

The Java-first approach is a convenient way to get started with Web services, if you are unfamiliar with WSDL syntax. Using this approach, you can define the Web service interface using an ordinary Java interface and then use the provided Apache CXF utilities to generate the corresponding WSDL contract from the Java interface.
Note
There is no demonstration code to accompany this example.

Service Endpoint Interface (SEI)

An SEI is an ordinary Java interface. In order to use the standard JAX-WS frontend, the SEI must be annotated with the @WebService annotation.[1]
In the Java-first approach, the SEI is the starting point for implementing the Web service and it plays a central role in the development of the Web service implementation. The SEI is used in the following ways:
  • Base type of the Web service implementation (server side)—you define the Web service by implementing the SEI.
  • Proxy type (client side)—on the client side, you use the SEI to invoke operations on the client proxy object.
  • Basis for generating the WSDL contract—in the Java-first approach, you generate the WSDL contract by converting the SEI to WSDL.

WSDL contract

The WSDL contract is a platform-neutral and language-neutral description of the Web service interface. When you want to make the Web service available to third-party clients, you should publish the WSDL contract to some well-known location. The WSDL contract contains all of the metadata required by WS clients.

The CustomerService demonstration

Figure 35.1, “Building a Java-First Web Service” shows an overview of the files required to implement and build the CustomerService Web service using the Java-first approach.

Figure 35.1. Building a Java-First Web Service

Building a Java-First Web Service

Implementing and building the service

To implement and build the Java-first example shown in Figure 35.1, “Building a Java-First Web Service”, you would perform the following steps:
  1. Implement the SEI, which constitutes the basic definition of the Web service's interface.
  2. Annotate the SEI (you can use the annotations to influence the ultimate form of the generated WSDL contract).
  3. Implement any other requisite Java classes. In particular, implement the following:
    • Any data types referenced by the SEI—for example, the Customer class.
    • The implementation of the SEI, CustomerServiceImpl.
  4. Instantiate the Web service endpoint, by adding the appropriate code to a Spring XML file.
  5. Generate the WSDL contract using a Java-to-WSDL converter.


[1] If the SEI is left without annotations, Apache CXF defaults to using the simple frontend. This is a non-standard frontend, which is not recommended for most applications.
Red Hat logoGithubRedditYoutubeTwitter

学习

尝试、购买和销售

社区

关于红帽文档

通过我们的产品和服务,以及可以信赖的内容,帮助红帽用户创新并实现他们的目标。

让开源更具包容性

红帽致力于替换我们的代码、文档和 Web 属性中存在问题的语言。欲了解更多详情,请参阅红帽博客.

關於紅帽

我们提供强化的解决方案,使企业能够更轻松地跨平台和环境(从核心数据中心到网络边缘)工作。

© 2024 Red Hat, Inc.