{
SOAPFault theSOAPFault;
try {
theSOAPFault = SOAPFactory.newInstance().createFault();
Detail soapFaultDetail = theSOAPFault.addDetail();
SOAPElement myFaultElement = soapFaultDetail.addChildElement(new QName("http://www.my-company.it/ws/my-test", "MyWSException"));
SOAPElement myMessageElement = myFaultElement.addChildElement(new QName("http://www.my-company.it/ws/my-test", "message"));
// myMessageElement.setNodeValue("This is a faked error"); //wrong: myMessageElement is not a text node
myMessageElement.setValue("This is a faked error"); //right: this creates a text node and gives it a text value
} catch (SOAPException se) {
se.printStackTrace();