Skip to main content

Posts

CXF-RS adding custom response code

Following snippet show how to return the custom Response code as http response code while returning the response: import javax.ws.rs.Consumes; import javax.ws.rs.POST; import javax.ws.rs.Path; import javax.ws.rs.Produces; import javax.ws.rs.core.Response; @Path("/") @Consumes("application/xml") @Produces("application/xml") public class Test  { public  Test () { } @POST public Response test() { Response response = Response.status( 4xx ).entity("Testing").build(); return response; } }

CXF-RS Hiding JAXRS Service Endpoints Listing

You may come across a scenario where you want to stop listing of the exposed service from given endpoint. This can be achieved by setting the property " org.apache.cxf.endpoint.private "   to true as shown in following snippet: < jaxrs:server id = "serivceId" address = "/test" > . . . < jaxrs:properties > < entry key = "org.apache.cxf.endpoint.private" value = "true" /> </ jaxrs:properties > </ jaxrs:server > This will stop the listing of the service when url http://server:port/ test is typed in the browser.

Eclipse Tips: Escape string while pasting in the editor

Escape string while pasting in the editor Go to Window > Preferences, type escape in the search field. Go to Java > Editor > Typing preference page. In last group label "String literals" select the "Escape text when pasting into a string literal".

CXF JSON Generation remove @ prefix

Working with CXF-RS if you want to generate the json response along with xml than it becomes pain in cases where your xml is a mixture of attributes and elements. Problem comes because of default jettison json provider which is configured in cxf-rs. The jettison appends the '@' prefix  with the attributes. However, I needed json free from any prefixes. To achieve this i had configure jackson as json provider like this:                <jaxrs:providers>             <ref bean="jaxbProvider" />             <ref class="org.codehaus.jackson.jaxrs.JacksonJsonProvider"/>         </jaxrs:providers>                         That's it and you should be free from prefixes.

CXF-RS: Java Code Generation from xml/xsd

Cleaner approach is to use xjc like this: Continue to dirty approach below if u need to: When working with CXF-RS services often we start with XML message that will be served. After that we go through endless iteration of generating the right Java POJO's for the XML. The library like apache XMLBeans generate the Java code but the code generated is not what a developer would write and generally tedious to modify and understand. I have come across a work around for generating Java classes from XSD (xml) which is very close to what a developer with decent experience will write.  Follow the steps given below to explore the solution: 1. Generate the wsdl from from xsd as given in at this link  ( http://cxf.apache.org/docs/xsd-to-wsdl.html ). 2. The Java classes can be generated from wsdl from maven plugin entry below find complete details here   http://cxf.apache.org/docs/maven-cxf-codegen-plugin-wsdl-to-java.html org.apache.cxf cxf-codegen-plugin ...

Spring Roo is amazing

Developer spend 75% of their time working on boiler-plate code. Spring Roo do amazing job of doing that for you and gets you started really-2 fast. After that you can follow the application curve if writing the business logic. Why Roo? Define the class and its relation it will generate the DB using hibernate  you can generate the controller's ( and UI) from the same classes with CURD operation supported test code is also gets generated  code generated is clean and easy to modify dependency resolution happens through maven once you are done projects are eclipse ready easy to get rid of metadata for production  Other tools: I came across Grails but i needed a framework which will generate the java so roo was the better choice for me Video helped me get started:  http://s3.springsource.com/MRKT/roo/2010-01-Five_Minutes_Roo.mov

Netbeans or Eclipse which one to choose

There are so many articles on the web discussing this, what I am going to do is just briefly explain the pros and cons of each which will help you choose better. Description Netbeans Eclipse Plugins It helps you extend the reach of your IDE to newer technologies without changing the IDE Good Good Code Refactor Reflects the change made in all the references Decent Good Getting Started The time it takes to get going on with your application Good Decent Enterprise Support Usage in big companies, spending effort in eclipse Decent Good Debugging Easy in which you can find a problem Decent Good UI Looks old Decent Good Spell Check Not Pres...