|
|
|
|
|
The Web services stack in GlassFish V2 uses JAX-WS 2.1 and JAXB 2.1 as the core Web services platform. WSIT extends this core by providing an implementation of key WS-* specifications. Since JavaSE 6 has Web services support through the JAX-WS 2.0 and JAXB 2.0 specifications, it allows to build basic Web services using only JavaSE 6 but does not have any of the WSIT capabilities. But now that's possible! Fabian explained how a WSIT endpoint be easily deployed using the JAX-WS Endpoint API. In a follow up post, I provide a detailed writeup with complete working code. |
GlassFish Web services stack "tango" nicely on Tomcat, Jetty and JavaSE 6.
|
When you're securing Web services, sometimes you need all the flexibility and features that Sun Java System Access Manager 7.1 gives you - centralized policy management, end-to-end identity via WS-I BSP/Liberty ID-WSF and all. Other times, well, you don't. For the latter case, Ryan de Laplante has done a great job documenting the steps required to secure Web services traffic with SSL and HTTP basic authentication. |
|
TheServerSide is excited about the Stateful Web services support in GlassFish. Here is a quote from a recent article It's almost magical how easy the code is, to use a stateful SOAP service in this manner. Another user commented: Looks as great as Microsoft breaking 8+3 limit in filenames. |
Stateful Web services support in JAX-WS 2.1 were announced last year and customers have found the programming model dead simple. This extension to JAX-WS RI uses WS-Addressing behind the scene to maintain multiple instances of a service. And because a key goal of Project Tango's is to be interoperable with Microsoft .NET 3.0 framework, this support is interoperable as well. You can see the complete sever-side code on JAX-WS and client-side code on .NET 3.0 in an entry linked from Kohsuke's detailed entry.
Post a comment/question at JAX-WS forum if you would like to see more improvements in this area.
|
Beauty for an engineer is a nice design... be it a Lotus 25, one of Andy's designs (like thumper or Sun Blade 6000) or JAX-WS RI. Check this happy customer: JAX-WS RI is Good, Good, Good. One challenge with the JAX-WS RI has been that some people still associate Reference Implementation with Proof of Concept. Another has been conveying that the GlassFish WS Stack also includes WSIT/Tango, JAX-WS Commons and XWSS. We are considering a new umbrella name for the stack to address both issues. |
|
One of the principles of GlassFish is to encourage the adoption of its components, and, as part of that, we attempt to make those components portable. Vivek had already reported that JAX-WS 2.1 only depended on Servlet 2.4 and would run on Jetty (and others), and now Arun provides the specific instructions to achieve this, including the WSIT/Tango features. |
|
Following on Using SalesForce with JAX-WS's RI, here is a pointer to Jitu's pre-J1 post on Invoking Google's AdSense. The JAX-WS RI code is very similar to the Axis code; the main difference is the ability to use JAXB and some additional types. Check it out at Jitu's blog. |
|
Finally! We now have an official final release of JAX-WS 2.1. It has taken a bit longer than planned; we thought we were done, then we discovered we had dropped the batton and gave you a status update... And now there are here. Check Doug's blog and Vivek's. Enjoy! |
More improvements to the JSON support in GlassFish. Kohsuke reports on progress in the client-side programming model, including a new, JavaScript-centric tool in the spirit of wsimport).
The JavaScript client can then just include the proxy script and then asynchronously invoke the WS service as follows:
<script src="path/to/endpoint?js"></script> myService.get( {id:5}, function(r) { alert("ID="+r.id); alert("title="+r.title); } );
|
The JSON extension exploits the Schema analysis machinery in JAX-WS which means that it can generate nice JavaScript and can also do things like generating very nice looking documentation automatically - as shown (somewhat washed out) at left. JSON support is in the "and more..." portion of Kohsuke and Jitu's presentation at JavaOne: TS-4948 "Unleashing the Power of JAX-WS RI: Spring, Stateful Web Services, SMTP, and More... :-). At least Kohsuke, and probably also Jitu, will also be present at GlassFish Day - register for free here. |
|
Ask the Experts (April 30-May 1): WSIT and Project Tango.
Post it during this session from April 30 to May 4 on the Ask the Experts page and get answers from Sun experts Arun Gupta, Harold Carr, and Marek Potociar. |
|
Woodstox is a popular, high quality, XML parser that implements JSR-173, StAX, the JCP-defined XML pull-parser API. We believe that the latest GlassFish's WS implementation (JAX-WS 2.1.1) is well layered on StAX. This architectural layering should make our implementation more flexible and reusable; for instance, it should be possible to replace SJSXP with Woodstox and it should just work (tm). We have done some testing and that seems to be the case but we would appreciate independent confirmation. So, can you help us? Check Jitu's blog for simple steps to do the replacement. Thanks! |
|
Two new releases from the GlassFish team, both integrated in GlassFish v2 beta2, due early next month, in time for GlassFish Day and JavaOne. JAX-WS 2.1.1 is a release candidate for JAX-WS 2.1. JAXB 2.1.3 is mostly a bug-fixing release - check the list of changes here. The GlassFish Web Services stack is being adopted by many other projects (e.g. WebLogic Server 10); we believe it has the best performance in the market (earlier comparison, but stay tuned for a nice additional improvement) and it is very extensible (e.g. see JSON support). |
|
The JAX-WS project in GlassFish is taking advantage of the pluggable encoding layer in their implementation to provide a JSON binding. This Implementation is at an early stage and is part of the JAX-WS-commons extensions which also includes such committed extensions as: Spring Support, HTTP Session Scope Service, Thread Scope Service and the JAX-WS Maven 2 plugin. The JSON binding enables to write code like the following: |
@BindingType(JSONBindingID.JSON_BINDING) public class MyService { public Book get() { return new Book(); } public static final class Book { public int id = 1; public String title = "Java"; } }
|
You may remember that we had to pull out the first attempt to finalize JAX-WS 2.1. We think we have fixed these problems and we are, again, in the last straight. Check Doug's and Vivek's blogs and the JAX-WS 2.1 Roadmap Page If everything goes according to plan, the specification should be finalized in early May, in time for JavaOne, GlassFish v2 beta2 and GlassFish Day. |
|
Joe has kind words for JAX-WS despite Arun interfering his listening to Dinosaur (from THRAK). From his recent blog: This is excellent and it's exactly what it should be. Way to go, JAX-WS people. Thanks, Joe, we hope you will like the rest of GFv2 the same... but, if you don't, let us know why! |
|
It is extra important to be transparent when there are issues - not just when things go well - so everybody can adjust as soon as possible. We already mentioned the Slip on GFv2 beta; here is another issue... You may have noticed a change in the JAX-WS 2.1 Download Link. In a nutshell, we found an unexpected change in a W3C spec we depended on just a bit too late; we had some personal rotation and we Lost the Baton. In the meantime, please use the nightly; full details here. |