Thursday Mar 01, 2012

Metro 2.2, JAXB 2.2.5, JAX-WS 2.2.6 Released!

I'm happy to announce we released Metro 2.2, including the JAXB 2.2.5 and JAX-WS 2.2.6 releases:

The Metro 2.2 is aligned and integrated with GlassFish 3.1.2 release. Some feature highlights:

  • large number of bugfixes going into all codelines

  • including better alignment with Weblogic stack in JAX-WS area

  • both JAXB and JAX-WS apt tool usage (long time deprecated in JDK) has been replaced with JSR 269 Pluggable Annotation Processing API allowing JDK8 integration and removal of com.sun.mirror implementation from JDK

  • new Modular Databinding layer has been added to JAX-WS and exposed in Metro as well, which allows users to use e.g. Moxy JAXB implementation instead of the default JAXB RI for web service invocations

  • the JAX-WS Maven plugins have been updated to allow working with latest JAX-WS releases and enhanced with lots of new capabilities

  • documentation for all 3 components has been updated to docbook format which allowed the release documentation be present also in single HTML view and PDF formats

Monday Feb 13, 2012

Slides from my Java EE Web Services talk at Java Day Russia, 2012, Sankt Petersburg

Hi, last week I gave "Java EE Web Services" talk at Java Day in Sankt Petersburg in Russia. In the audience there was about 150-200 people. I talked about both SOAP and REST, describing the styles and JavaEE offerings for each of them, specifically talking about the reference implementations covered by projects Metro and Jersey. Unfortunately even though this was my very first stay in Russia, I did not have time to do any sightseeings so maybe next time ;O). Anyway it was very nice talking to the interested crowd.
Here are the slides: Java EE Web Services (PDF).

Tuesday Jul 15, 2008

Grails and web service development with Metro - little update

I've seen several comments where people had issues using the Metro plugin for Grails framework. I fixed the problems and updated installation instructions a bit, so if you use the latest plugin release (1.0.1), you shall be fine. I also updated the plugin to comply with Grails 1.0.3. Check it out at:

Wednesday Jun 18, 2008

Grails and web service development with Metro

I searched through my blog entries, and realized that I somehow forgot to blog about the Metro Plugin for Grails framework I introduced in the beginning of this year. So, this is an attempt to do a (late) little advertising.

If you use Grails, you are certainly aware of it's plugin system. I decided to wrote a little Metro plugin which enables you to expose your Groovy/Grails classes as Metro web services in a simple and easy way using natural Grails commands, such as

grails create-service

and natural Metro annotations, such as @WebService, like this:

import javax.jws.\*
class CalculatorService {
def int add(int i, int j) {
return i+j;
def multiply(int i, int j) {
return i\*j;

Those are the only things you need to do to develop web services with Grails after installing the plugin. You can find exact installation/how to use instructions at plugin website. Currently I host the plugin as a subproject of JAX-WS Commons project, but am working on making sure it is hosted at Grails plugin site as well.

Btw, I recently found also these instructions on how to use the Metro Grails plugin to develop contract-first (WSDL first) web services, which gives exactly the areas where I planned to improve the plugin in. So in future, the instructions might get even more simple.

Thursday Jun 12, 2008

Metro features with NetBeans

With Geertjan's help, my article about Metro use in NetBeans has been published to NetBeans Zone. Enjoy! And vote for it if you like it ;O)

Wednesday Jun 04, 2008

New features in Metro 1.3 with NetBeans 6.1

Couple of people asked about availability of the new features I described earlier. The bits there point to NetBeans 6.5 builds. Question is whether you can use the same bits for NetBeans 6.1?
Unfortunately the answer so far is no, it is not possible. However, come here for updates.

I've tried to keep the bits the same, but there has been a change in classpath apis which didn't allow me to produce the same artefacts for both 6.5 and 6.1 builds. There's also a WS server api redesign planned for 6.5. So, I'll try to provide the build, but we'll see.

Tuesday Jun 03, 2008

Signing/Encrypting message attachments

Ashutosh reminded me of a feature which was not supported yet by NetBeans. It's the ability to sign and encrypt message attachments. This is connected to the message level specific settings.

For each operation, or better say for each message of your web service, you have an option to select whether the whole message body shall be encrypted, or signed, or both. If you don't want to process the whole body, and want to sign & encrypt only specific credit card information field to improve performance significantly, you may specify such configuration as well.

The new feature now enables you to configure the same for message attachments. You may choose to sign and/or encrypt message attachments. Just click "Add Attachments" button and then check checkboxes in respective columns:

The security policy generated from such configuration looks like this:

Monday Jun 02, 2008

New features in Metro 1.3 and NetBeans

Recently, there've been couple of blogs about new features in Metro 1.2 release, and about some additional things that will be released with Metro 1.3.

I've been working on updating the NetBeans Metro plugin to make sure these features are easily configurable from our tools as well.

Today, I'd like to announce availability of NetBeans 6.5 builds that contain support for both Metro 1.2 and Metro 1.3 features. Click here to download your NetBeans 6.5 copy from Hudson continuous builds, or grab a daily builds. You shall get either JavaEE or Full bundle.
Note that in order to leverage the new features, you need to have Metro 1.2 or Metro 1.3 installed on top of your GlassFish installation.

The biggest changes you find in the UI are shown in the following screens:

  • Namespace Version Chooser - Metro 1.3 supports .NET 3.5 release, which has policy assertions in a different (standard based) namespaces than .NET3.0. Thus, you need to have a choice which version your service shall be developed with.

  • Kerberos - additional security profile available for 1.3 version with Kerberos support. Read more about Metro Kerberos support on Ashutosh's blog, and if you are not familiar with Kerberos itself, read more on Wikipedia

  • STS Issued Supporting Token Profile - new security profile based on Issued tokens.

  • Hash passwords - support for Hash Passwords in the Username Authentication with Symmetric Keys security profile. Read more about Hash Password support on Ashutosh's blog, and if you are not familiar with Digest Authentication itself, read more on Wikipedia

  • Encrypted Supporting Tokens - ability to encrypt supporting tokens.

There are some other things which I might forgot about, so let me know if you miss anything. Also, let me know if you find any errors, meet any exceptions, anything like that. Currently these are development builds, and release quality shall be met with NetBeans 6.5 release. However, I think the metro modules shall be stable enough already. Let me know ;O)

Tuesday May 27, 2008

Metro with GlassFish v3 TP2 and NetBeans

I just finalized NetBeans support for Metro on top of GlassFish v3 TP2. What do you need to do to start using it? Here are the steps:

  1. First, download and install GlassFish V3 TP2 with Metro support from it's update center. Bhakti has a nice blog post with instructions how to do it:

  2. Next, download and install latest NetBeans 6.5 development build e.g. from here (get the full or javaee bundle):

  3. Start NetBeans, go to Tools --> Plugins menu, and select "Available Plugins" tab

  4. Check checkbox next to "GlassFish V3 JavaEE Integration" and click "Install"

  5. Add the server to IDE. Go to "Services" tab, right-click "Servers" node, select "Add Server..." and follow wizard instructions to register your GlassFish v3 instance to NetBeans

Now you can use GlassFish V3 TP2 as a target server for your Web Projects and create web services/clients inside the same way you would do with GlassFish v2. The only difference is that JSR 109 integration with GlassFish is not ready yet, so you can't enjoy features like Web Service Tester, or deploying services/clients without generating necessary artefacts. Work on JSR 109 is in progress, and shall be ready soon. Keep an eye on Bhakti's blog for this.


Tuesday May 08, 2007

Lab is live at SDN

JavaOne 2007 hands on labs are live at SDN. Enjoy!

[Read More]

The views expressed on this [blog; Web site] are my own and do not necessarily reflect the views of Oracle.


« July 2014