Blog

Commonly Used JAXB 2 Annotations

In JAXB2, annotations are used both in generated Java content classes and in Java classes as input to generate schema definitions.

These binding annotations are defined in the javax.xml.bind.annotation package.

Below are some of the more commonly used annotations defined in the javax.xml.bind.annotation package.

  1. XmlAccessorType

    • Specifies the default serialization of fields and properties

    • Annotation Elements

SOAP Faults

We have already seen what SOAP faults are and how they are reprecented in the WSDL and SOAP message in the WSDL and SOAP overview notes respectively. Here we will try to consolidate the basic information related to SOAP faults.

Java application exceptions can be mapped to SOAP faults in WSDL/SOAP message.

 

Fault element in SOAP message

  • A SOAP message can have fault elements within it.

  • Fault elements contain errors and status information.

  • Fault is an optional element.

[Lab] SOAP Fault Demo

Java application exceptions can be mapped to SOAP faults in WSDL/SOAP message.

 

Problem statement

We will create a simple web service class with a single method that will accept an integer and check if it is even. If even we will return “Received even N” where N is the received even number.

If received number is not even, then we will throw a custom exception NotEvenNumberException that extends Exception.

Using Eclipse Web Services Explorer for Testing and Explorig SOAP Web Services

The Web Services Explorer is a tool available within Eclipse and can be used to test SOAP web services. 

 

The Web Services Explorer primarily has below funtionalities:

  • Browsing and invoking Web services via their WSDL and XSD.

  • Biscovering Web services in WS-Inspection 1.0 documents, and in UDDI v2 or v3 registries using the UDDI v2 protocol.

  • Publishing Web services to UDDI v2 or v3 registries using the UDDI v2 protocol.

 

Using SOAP UI Tool for Testing SOAP Web Services

SoapUI is an open-source web service testing application for SOAP and REST web services.

Its functionality covers web service inspection, invoking, development, simulation and mocking, functional testing, load and compliance testing.

A commercial version, SoapUI Pro, which mainly focuses on features designed to enhance productivity, is also available. 

 

[Lab-Extras] Common Issues While Deploying JAX-WS RI Web Service in Apache Tomcat

Issue 1

java.lang.ClassNotFoundException:

     com.sun.xml.ws.transport.http.servlet.WSServletContextListener

 

Solution

Copy “jaxws-rt.jar” from JAX-WS RI zip (downloaded from https://jax-ws.java.net/) to Tomcat library folder “{$TOMCAT}/lib“.

 

Issue 2

Server startup failed and below errors were observed in logs:

SEVERE: A child container failed during start

[Lab] Developing Bottum-up SOAP Web Service in Tomcat Container using JAX-WS RI

We did not had to do any extra configurations for deploying our web service class in Glassfish server. This is because Java EE 5 and above compliant application servers such as Glassfish, comply to JSR 109 (Web services 1.2/1.3) and JSR 224 (JAX-WS 2.0/2.1/2.2).

Additional SOAP Binding Attributes and Attribute Combinations

The @SOAPBinding annotation can be used to configure the soap binding styles.

You can use the @SOAPBinding annotation on the SEI and any of its methods. The settings of the method’s annotation takes precedence.

 

The @SOAPBinding annotation has three attributes: Style, Use and ParameterStyle.

  • Values for style can be Style.DOCUMENT (Default) or Style.RPC.

  • Values for use are Use.Literal (Default) or Use.Encoded.

SOAP Binding Styles - DOCUMENT and RPC

SOAP Binding can be done using two styles: DOCUMENT and RPC. This is denoted in the wsdl as style in the binding section. 

The @SOAPBinding annotation can be used over an SEI (separate interface or class) to configure the soap binding styles, when developing a web service bottom up. Default is DOCUMENT. Annotate the SEI with @SOAPBinding(Style=Style.RPC) to get the RPC style. Generate a wsdl both with DOCUMENT and RPC styles and refer to them in parallel while going through these notes.

 

[Exercises] Additional Exercises based on SOAP Web Services

  1. Create a Web Service with a method that accept a String (as parameter) and Echo it back (return it).

    • Deploy the service on Glassfish application server

    • View and analyze the WSDL file and find the relationships with the class.

    • Test it using the Glassfish webservice tester

    • View and analyze SOAP request and SOAP response displayed by the tester.

Pages

Search the Web

Custom Search

Searches whole web. Use the search in the right sidebar to search only within javajee.com!!!