Showing posts with label Java Web Services. Show all posts
Showing posts with label Java Web Services. Show all posts

Sunday, September 27, 2015

JAXB Marshalling: Convert Java Object to XML

JAXB Marshalling - Converts Java Object to XML. 

You need to JAXB library jar , download from here.

Really JAXB makes developers life easy and help to develop stable and reliable coding. Below Example shows how to convert the Java object into XML format.

Book.java

package com.techbyteslearn;

 

import javax.xml.bind.annotation.XmlElement;
import javax.xml.bind.annotation.XmlRootElement;
@XmlRootElement
public class Book {
private String name;
private String author;
private String price;
public String getName() {
return name;
}
@XmlElement
public void setName(String name) {
this.name = name;
}
public String getAuthor() {
return author;
}
@XmlElement
public void setAuthor(String author) {
this.author = author;
}
public String getPrice() {
return price;
}
@XmlElement
public void setPrice(String price) {
this.price = price;
}
}

JAXBObjectToXML.java


package com.techbyteslearn;
import javax.xml.bind.JAXBContext;
import javax.xml.bind.JAXBException;
import javax.xml.bind.Marshaller;

public class JAXBObjectToXML {
/**
* @param args
*/
public static void main(String[] args) {
Book book=new Book();
book.setAuthor("M Bardhan");
book.setName("Java Cookbook");
book.setPrice("$200");
try {
JAXBContext jaxbContext=JAXBContext.newInstance(Book.class);
Marshaller marshaller=jaxbContext.createMarshaller();
marshaller.setProperty(Marshaller.JAXB_FORMATTED_OUTPUT,true);
marshaller.marshal(book, System.out);
} catch (JAXBException e) {
System.out.println("Error occured ::"+e.getMessage());
}
}
}

Output XML :-

<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<book>
    <author>M Bardhan</author>
    <name>Java Cookbook</name>
    <price>$200</price>
</book>




Monday, April 6, 2015

How to Create a Client JAR from WSDL

There are many ways you can create the client.jar for your WSDL file . Using the below process you can create the client jar. But its not recommended to use for live project. For live project you need to create a project with maven structure and I will post that later. This can be used for testing purpose.

Open your linux/unix terminal and follow the steps below.


Step 1- Get the published WSDL.Use wsimport command to get the WSDL file. 

dev@optus-developer-desktop ~/temp/test $ wsimport -keep http://localhost:9001/myapps/TestApp?wsdl

dev@optus-developer-desktop ~/temp/test $ ls -ltr
total 16
drwxr-xr-x 3 dev dev 4096 Apr  5 10:52 au
drwxr-xr-x 3 dev dev 4096 Apr  5 10:52 webservice
drwxr-xr-x 4 dev dev 4096 Apr  5 10:52 org
drwxr-xr-x 3 dev dev 4096 Apr  5 10:52 types


Step 2- Create Jar file using jar command as below.


dev@javadevelopersguide-developer-desktop ~/temp/test $ jar -cvf client.jar .

.....
.....
.....
.....adding: org/javadevelopersguide/apps/com/resource/physicalresourcespec/ObjectFactory.class(in = 1568) (out= 627)(deflated 60%)
adding: org/javadevelopersguide/apps/com/resource/physicalresourcespec/PhysicalResourceSpec.class(in = 1205) (out= 500)(deflated 58%)
adding: org/javadevelopersguide/apps/com/resource/physicalresourcespec/package-info.class(in = 426) (out= 294)(deflated 30%)
adding: org/javadevelopersguide/apps/com/service/(in = 0) (out= 0)(stored 0%)
adding: org/javadevelopersguide/apps/com/service/servicespeccharacteristicvalue/(in = 0) (out= 0)(stored 0%)
adding: org/javadevelopersguide/apps/com/service/servicespeccharacteristicvalue/ServiceSpecCharacteristicValue.class(in = 1705) (out= 717)(deflated 57%)
adding: org/javadevelopersguide/apps/com/service/servicespeccharacteristicvalue/package-info.java(in = 289) (out= 199)(deflated 31%)
adding: org/javadevelopersguide/apps/com/service/servicespeccharacteristicvalue/ServiceSpecCharacteristicValue.java(in = 5228) (out= 855)(deflated 83%)
adding: org/javadevelopersguide/apps/com/service/servicespeccharacteristicvalue/ObjectFactory.java(in = 2190) (out= 705)(deflated 67%)
adding: org/javadevelopersguide/apps/com/service/servicespeccharacteristicvalue/ObjectFactory.class(in = 1711) (out= 639)(deflated 62%)
adding: org/javadevelopersguide/apps/com/service/servicespeccharacteristicvalue/package-info.class(in = 444) (out= 303)(deflated 31%)
adding: org/javadevelopersguide/apps/com/service/servicespeccharacteristic/(in = 0) (out= 0)(stored 0%)
adding: org/javadevelopersguide/apps/com/service/servicespeccharacteristic/ServiceSpecCharacteristic.java(in = 8623) (out= 1656)(deflated 80%)
adding: org/javadevelopersguide/apps/com/service/servicespeccharacteristic/package-info.java(in = 279) (out= 193)(deflated 30%)
adding: org/javadevelopersguide/apps/com/service/servicespeccharacteristic/ServiceSpecCharacteristic.class(in = 2805) (out= 1068)(deflated 61%)
adding: org/javadevelopersguide/apps/com/service/servicespeccharacteristic/ObjectFactory.java(in = 2095) (out= 695)(deflated 66%)
adding: org/javadevelopersguide/apps/com/service/servicespeccharacteristic/ObjectFactory.class(in = 1636) (out= 630)(deflated 61%)
adding: org/javadevelopersguide/apps/com/service/servicespeccharacteristic/package-info.class(in = 434) (out= 297)(deflated 31%)
...........
...........
...........
...........


dev@javadevelopersguide-developer-desktop ~/temp/test $ ls -ltr
total 1356
drwxr-xr-x 3 dev dev 4096 Apr 5 10:52 au
drwxr-xr-x 3 dev dev 4096 Apr 5 10:52 webservice
drwxr-xr-x 4 dev dev 4096 Apr 5 10:52 org
drwxr-xr-x 3 dev dev 4096 Apr 5 10:52 types
-rw-r--r-- 1 dev dev 1369704 Apr 5 10:56 client.jar


Now the client.jar is got generated, you can use this jar file and call the real published service.




Hope it will help you.