LibraryToggle FramesPrintFeedback

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.

Figure 2.1 shows an overview of the files required to implement and build the CustomerService Web service using the Java-first approach.


To implement and build the Java-first example shown in Figure 2.1, 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.

Comments powered by Disqus