In the first part of this example, the SOAPMessage is created. In this case, we will call the Groups_GetList_String method, which will return a list of groups on your account. Make sure to set the SOAPAction header to indicate which method you want to call.
// create the connection
SOAPConnectionFactory soapConnFactory
= SOAPConnectionFactory.newInstance();
SOAPConnection connection = soapConnFactory.createConnection();
//Next, create the actual message/request
MessageFactory messageFactory = MessageFactory.newInstance();
SOAPMessage message = messageFactory.createMessage();
//Create objects for the request parts
SOAPPart soapPart = message.getSOAPPart();
SOAPEnvelope envelope = soapPart.getEnvelope();
SOAPBody body = envelope.getBody();
// set the SOAPAction Header to the desired request
MimeHeaders headers = message.getMimeHeaders();
headers.addHeader("SOAPAction",
"http://api.jangomail.com/Groups_GetList_String");
Next, the message is populated with our parameters and sent to the JangoMail servers.
// Populate the body of the request
// create the main element and namespace
SOAPElement bodyElement = body.addChildElement(
envelope.createName("Groups_GetList_String",
"",
"http://api.jangomail.com/"));
// add the parameters
bodyElement.addChildElement("Username")
.addTextNode("Your JangoMail/JangoSMTP Username");
bodyElement.addChildElement("Password")
.addTextNode("Your JangoMail/JangoSMTP Password");
bodyElement.addChildElement("RowDelimiter").addTextNode("\n");
bodyElement.addChildElement("ColDelimiter").addTextNode(" - ");
bodyElement.addChildElement("TextQualifier").addTextNode("");
// save the message
message.saveChanges();
// Send the message and print the reply
// set the destination
String destination = "http://api.jangomail.com/api.asmx";
// send the message
SOAPMessage reply = connection.call(message, destination);
Finally, the response is received and printed.
//Check the output
System.out.println("\nRESPONSE:\n");
//Create the transformer
TransformerFactory transformerFactory
= TransformerFactory.newInstance();
Transformer transformer = transformerFactory.newTransformer();
//Extract the content of the reply
Source sourceContent = reply.getSOAPPart().getContent();
//Set the output for the transformation
StreamResult result = new StreamResult(System.out);
transformer.transform(sourceContent, result);
System.out.println();
Make sure to Download the complete source code for this example and populate it with the values from your JangoMail or JangoSMTP account.

































