Creating a Webservice

From WebLichtWiki

Jump to: navigation, search

(Deprecated) This tutorial presents a workflow for creating a webservice for TCF processing. It assumes you have the following software installed:

  • NetBeans IDE 7.1.2
  • wget command line tool (optional) (available by default on Linux/Unix machines)

Contents

Importing a Maven Archetype

Open a maven repository browser by openning:

Window -> Other -> Maven Repository Browser

Maven-repository-browser.png

Go to the "Maven Repository Browser" window and click "Add Repository", then fill in the following information:

Finish by pressing "Add"

Adding-clarin-repository.png

In "Maven Repository Browser window expand the "Clarin Repo" you've just added. You'll see a list of available artifacts. Find a group named "eu.clarin.weblicht". In this group there is an artifact called "weblicht-webservice-archetype". Download this artifact by right clicking its most recent version number and selecting "Download" in the menu.

Download-archetype.png

Creating a Project from an Archetype

Once the archetype has been downloaded, we can start using it at once. Press the "New Project" button in the menu bar and select: Maven -> Project From Archetype

New-project-from-archetype.png

In the next screen expand the "Archetypes from Local Repository" branch and then select "WebLicht Webservice Archetype"

Select-archetype.png

Provide a name for your project, a directory to store it in as you would normally do with any NetBeans project. In addition you have a possibility to provide a group name for your maven artifact and a package name you would like to use.

Project-name-location.png

That's it! You have just created a WebLicht webservice.

My-first-webservice.png

Testing Webservices

The most straightforward way to test a webesrvice is to use wget command line tool:

wget --post-file=input.xml --header='Content-Type: text/tcf+xml' http://localhost:8080/myfirstwebservice/mytool

Make sure you actually have a file named "input.xml" in the current directory. This file is located under "Web Pages" in your project, just copy it to your current directory.

What's next?

Of course you would probably like to customize the provided code. Let's take a look at the files we have in the project:

  • MyService.java - is the application definition, use it to define the path to your application and/or add more resources.
  • MyResource.java - is the definition of a resource, in case more resources are required you can use it as a template for any further resources. (Don't forget to add them to the MyService.java)
  • MyTool.java - is the place where an actual implementation of a tool resides. In this template a simple tokenizer implementation is provided.