Thursday, March 20, 2014

JBossWS 4.3.0.Final is available!

A couple of days ago JBossWS 4.3.0.Final has been released.
The latest minor release of the JBoss Web Services stack improves stability, by preventing concurrency issues and ensuring thread safety whenever required. Besides for that, the embedded Apache libraries have been updated, in particular Apache CXF 2.7.10 and Apache WSS4J 1.6.14 are now included.
Finally, the SOAP Profile of JSR-196 (Java Authentication Service Provider Interface for Containers - JASPIC) is now supported and the JBossWS integration code comes with a predefined server authentication module for relying on credentials coming in a WS-Security UsernameToken.
As usual, multiple bug fixes and testsuite improvements are also part of the release.

The binary and source distributions are available for download and the latest Maven artifacts have been added to the repository.
Speaking of Maven repositories, it's some months now since the JBossWS artifacts are properly mirrored to the Maven Central repository, meaning everybody can use JBossWS even without setting the JBoss Nexus repository in local Maven settings.xml :-)

The supported target containers for this release are JBoss AS 7.2.0.Final and WildFly 8.0.0.Final. Due to the required changes in the JBossWS SPI, the next version of WildFly which will be coming with JBossWS 4.3.0.Final by default will most likely be WildFly 9.  Enjoy!

Wednesday, October 23, 2013

Controlling Apache CXF Bus creation for JAXWS clients

JBossWS 4.2.2.Final has just been released and installed in current WildFly master.
The new version comes with multiple bug fixes as well as a relevant new feature for controlling the Apache CXF Bus creation whenever JAXWS clients are built.

Basing the JAXWS functionalities of JBoss AS / WildFly on Apache CXF opened up interesting integration topics, one of them being when to create new CXF Bus instances and when / how to share them in the container. With the latest JBossWS integration release, the strategy for selecting/creating Bus instances to serve (in-container) JAXWS client can be chosen by the final user. This allows better control and can also be used for performance tuning. You can read more about the new feature in the documentation.

The release also comes with upgrades to Apache CXF 2.7.7 and Apache Santuario 1.6.12.
It's now time for you to download JBossWS 4.2.2.Final, install it and give it try! Feedback is welcome as usual!

The supported target containers for this release are JBoss AS 7.1.2.Final, JBoss AS 7.1.3.Final and JBoss AS 7.2.0.Final. Of course, next releases of WildFly are also going to include the new WS components.

Monday, July 29, 2013

JBossWS 4.2.0.Final is available!

I'm happy to announce that JBossWS 4.2.0.Final is out!
The release comes with lots of new features and bug fixes. To get an idea of the most relevant new functionalities you can have a look at previous posts here, here and here.
Besides for the mentioned new features, the new version of JBossWS brings the latest and greatest Apache CXF / WSS4J and Santuario versions into WildFly, whose next release will include the whole new set of ws libraries.

It's now time for you to download JBossWS 4.2.0.Final, install and give it a try! Feedback is welcome as usual!

The documentation is included in the release distribution (together with the sample testsuite) and is also available at in its latest version (might include not-released-yet features in future).
The supported target containers for this release are JBoss AS 7.1.2.Final, JBoss AS 7.1.3.Final and JBoss AS 7.2.0.Final. The current WildFly master is also being updated to the new WS components so that future WildFly releases will come with it.
Have fun :-)

Wednesday, June 26, 2013

JBossWS 4.2.0.CR1 and the WS-Policy sets

Another WildFly release has just been announced... and it comes with the first 4.2.0 candidate release of JBossWS!
The latest JBossWS release comes with some bug fixes over the former Beta build as well as with the last  new feature we planned for addition in 4.2.0, that is additional WS-Policy functionalities for code-first development.
I've just written some documentation, but let me summarize the new features here: some users noticed that writing policy assertions for endpoint wsdl contracts is usually quite difficult and often represents an obstacle to quick development of ws-policy enabled endpoints prototypes.
So we basically decided to provide means for users to choose desired policy assertions among a list of pre-defined groups serving well known needs / scenarios. The result is a custom @PolicySets annotation to list groups of policy assertions; those will be automatically attached to the proper elements in the wsdl contract that is generated at deployment time and the ws stack will behave accordingly at runtime.
The JBossWS 4.2.0.CR1 artifacts come with some initial sets, more are to be added before going final (the feature is implemented, it's just a matter of deciding which set/combination of policies to grant a label). So this is yet another example where feedback is welcome... if you have suggestions for the pre-defined set to add, just post on the JBoss forum!

You can try JBossWS 4.2.0.CR1 either consuming it from the recent WildFly 8.0.0.Alpha2 or by pulling the artifacts from the Maven repository.

Wednesday, May 15, 2013

JBossWS 4.2.0.Beta1 and WS-Discovery support

Just in time for the first release of WildFly, I've cut the first Beta release of JBossWS 4.2 series and had it pulled into the application server.

The latest build includes the additions I provided a preview of in the previous post as well as integration of few new features from Apache CXF. The most notable one is probably the WS-Discovery support, which you can get some preliminary doc on here.
Users can now have ws endpoints from selected deployments be automatically registered in a WS-Discovery service endpoint; that in turn can be queried to locate existing endpoints over the network. Nice, isn't it? :-)

Feel free to give the Beta a try, artifacts are available on the Maven repo as usual. Feedback is welcome, as always!

Thursday, April 18, 2013

JBossWS 4.2 feature preview

This blog post is about few additions that are coming with JBossWS 4.2 release which I actually started working on due to some specific Narayana requirements, but ended up using for additional tasks too.

Starting from version 2.1, the JAX-WS API contains the abstract class which is used to configure clients, e.g. when getting the port stub. The JAX-WS reference impl, which is also included in the JDK, bundles three implementations of WebServiceFeature for controlling addressing, MTOM and wsdl:extension usage.

As of JBossWS 4.2.0.Alpha1, a custom extension of WebServiceFeature is available, That offers users and project integrators a way of initializing the client BindingProvider, setting handlers, etc. The JBoss project for distributed webservices transactions, Narayana, actually leveraged this addition to really simplify the way users write clients for WS-AT and WS-BA enabled webservices. Two custom features built on top of AbstractClientFeature let Narayama hide all its context propagation configuration from the user eyes ;-)

Now, as most of you probably know, JBossWS also comes with a notion of predefined client-configuration which can be used to prepare JAX-WS client configuration templates to associate client ports to. Configurations can include properties as well as handlers declaration and are provided either as part of the JBoss AS webservices subsystem configuration (standalone.xml / domain.xml) or as a separate file.
The AbstractClientFeature extension above offered a way for also simplifying a client-configuration setup for a given JAX-WS client; the allows specifying the name of the desired client-configuration as well as the file to read that from (null for reading from the AS model):

Nice, isn't it?
Feel free to try this as well as any other additions on JBossWS trunk, the 4.2.0 final release is coming in the next months. Feedback is welcome!

Thursday, February 14, 2013

Maven plugin for JAXWS tools, again!

Back in March 2010 I wrote about our JBossWS Maven plugin for running JAXWS tools (wsconsume and wsprovide). The plugin allows embedding tools' invocation into user Maven projects, so that given a wsdl contract you can e.g. automatically generate stub classes and interfaces for a ws endpoint you want to implement or for an endpoint you want to build a client for.
Yesterday I cut a micro 1.1.1.Final release of the plugin (, which is available on the usual JBoss Maven repository. You're welcome to go and try it.
On that purpose, I've written a small sample project showing how a user project can actually use the wsconsume plugin. It's available on the wiki, have a look and see how easy it's to use it! :-)