Customizing Plug-in Behavior

In this lab, you'll be working with a web service maintained by the U.S. government's National Oceanic and Atmospheric Administration (NOAA). The U.S. government recently decided that weather feeds should be made available to the general public at no charge, so now it provides a forecast server at http://weather.gov/xml/. You are going to use the Maven Axis plug-in to generate classes which will retrieve a forecast from this web service. To do this, you will need to customize the behavior of the Axis plug-in.

How do I do that?

If you've successfully installed the Axis plug-in, maven -P axis should list the goals available in the plug-in; one of them should be axis:wsdl2java. You are going to use this goal to generate a client library from the Web Service Description Language (WSDL) for the weather web service.

You can find the WSDL for the NOAA forecast service at http://weather.gov/forecasts/xml/DWMLgen/wsdl/ndfdXML.wsdl. A WSDL document is an XML document which completely describes the methods available in a SOAP service. The Axis plug-in is going to use this XML document to create a client library. For the purposes of this lab, this WSDL document is stored in weather/src/wsdl/weather.wsdl. The Axis plug-in will generate Java source files for all WSDL documents found in this directory.

To use the output of the Axis plug-in, your project will need to include the following dependencies:

<dependency> <groupId>commons-discovery</groupId> <artifactId>commons-discovery</artifactId> ...

Get Maven: A Developer's Notebook now with the O’Reilly learning platform.

O’Reilly members experience books, live events, courses curated by job role, and more from O’Reilly and nearly 200 top publishers.