• Post Reply Bookmark Topic Watch Topic
  • New Topic
programming forums Java Mobile Certification Databases Caching Books Engineering Micro Controllers OS Languages Paradigms IDEs Build Tools Frameworks Application Servers Open Source This Site Careers Other Pie Elite all forums
this forum made possible by our volunteer staff, including ...
Marshals:
  • Campbell Ritchie
  • Jeanne Boyarsky
  • Ron McLeod
  • Paul Clapham
  • Liutauras Vilda
Sheriffs:
  • paul wheaton
  • Rob Spoor
  • Devaka Cooray
Saloon Keepers:
  • Stephan van Hulst
  • Tim Holloway
  • Carey Brown
  • Frits Walraven
  • Tim Moores
Bartenders:
  • Mikalai Zaikin

Webservice Help!

 
Greenhorn
Posts: 8
  • Mark post as helpful
  • send pies
    Number of slices to send:
    Optional 'thank-you' note:
  • Quote
  • Report post to moderator
Hi,

I have created one Webservice just to add 2 number and return the sum value. I can able to receive the sum value as integer as-well-as as SOAPMessage. In the webservide i just return the integer value, but in the client side i can able able to receive as SOAPMessage as well.
But, when i return the response sum data as SOAPMessage, i am not able to receive it in the client, it says return sum as empty. Please check the below code and let me know where is the problem.

Client:
-------
public class Main {


/**

* @param args the command line arguments

*/

public static void main(String[] args) {



try {

// Call Web Service Operation

//calculatorws_client_application.CalculatorWSService service = new calculatorws_client_application.CalculatorWSService();

//calculatorws_client_application.CalculatorWS port = service.getCalculatorWSPort();

// TODO initialize WS operation arguments here

//int param1 = 2;

//int param2 = 3;

// TODO process result here

//int result = port.add(param1, param2);

//System.out.println("Result = "+result);


//First create the connection

SOAPConnectionFactory soapConnFactory =

SOAPConnectionFactory.newInstance();

SOAPConnection connection =

soapConnFactory.createConnection();

MessageFactory messageFactory = MessageFactory.newInstance();

SOAPMessage message = messageFactory.createMessage();



//Create objects for the message parts

SOAPPart soapPart = message.getSOAPPart();

SOAPEnvelope envelope = soapPart.getEnvelope();

SOAPBody body = envelope.getBody();


//Populate the body

//Create the main element and namespace

SOAPElement bodyElement =

body.addChildElement(envelope.createName("add" ,

"ns2",

"http://calculator.me.org/"));

//Add content

bodyElement.addChildElement("param1").addTextNode("5");

bodyElement.addChildElement("param2").addTextNode("10");


//Save the message

message.saveChanges();

//Check the input

System.out.println("\nREQUEST:\n");

message.writeTo(System.out);

System.out.println();


//Send the message and get a reply

//Set the destination

String destination =

"http://localhost:8080/CalculatorWSApplication/CalculatorWSService?WSDL";

//Send the message

SOAPMessage replyMessage = connection.call(message, destination);



System.out.println("Reply Body::"+replyMessage.toString());

SOAPBody soapBody = replyMessage.getSOAPBody();

System.out.println("soapBody.getTextContent()::"+soapBody.getTextContent());

System.out.println("XML Reply Message...");

replyMessage.writeTo(System.out);

//Close the connection

connection.close();



} catch (Exception ex) {

// TODO handle custom exceptions here

}

}

}

Webservice:
--------------

@WebService()

public class CalculatorWS {


/**

* Web service operation

*/

@WebMethod(operationName = "add")

public SOAPMessage add(@WebParam(name = "param1")

int param1, @WebParam(name = "param2")

int param2) {

//TODO write your implementation code here:

SOAPMessage message = null;

try {

MessageFactory messageFactory = MessageFactory.newInstance();

message = messageFactory.createMessage();

//Create objects for the message parts

SOAPPart soapPart = message.getSOAPPart();

SOAPEnvelope envelope = soapPart.getEnvelope();

SOAPBody body = envelope.getBody();

//Populate the body

//Create the main element and namespace

SOAPElement bodyElement =

body.addChildElement(envelope.createName("addResponse" ,

"ns2",

""));

//Add content

int result = param1 + param2;

bodyElement.addChildElement("return").addTextNode(""+result);

//bodyElement.addChildElement("param2").addTextNode("10");


//Save the message

message.saveChanges();


//Check the input

System.out.println("Response Message:\n");

message.writeTo(System.out);

System.out.println();


//return (param1+param2);

}

catch(Exception ex) {

System.out.println("Exception:::"+ex);

}
return message;

}
}
 
reply
    Bookmark Topic Watch Topic
  • New Topic