Detail detail = fault.addDetail();
Name entryName =
soapFactory.createName("order", "PO",
"http://gizmos.com/orders/");
DetailEntry entry = detail.addDetailEntry(entryName);
entry.addTextNode("Quantity element does not have a value");
Name entryName2 =
soapFactory.createName("confirmation", "PO",
"http://gizmos.com/confirm");
DetailEntry entry2 = detail.addDetailEntry(entryName2);
entry2.addTextNode("Incomplete address: " + "no zip code");
message.saveChanges();
System.out.println("Here is what the XML message looks like:");
message.writeTo(System.out);
System.out.println();
System.out.println();
// Now retrieve the SOAPFault object and
// its contents, after checking to see that
// there is one
if (body.hasFault()) {
SOAPFault newFault = body.getFault();
// Get the qualified name of the fault code
Name code = newFault.getFaultCodeAsName();
String string = newFault.getFaultString();
String actor = newFault.getFaultActor();
System.out.println("SOAP fault contains: ");
System.out.println(" Fault code = " + code.getQualifiedName());
System.out.println(" Local name = " + code.getLocalName());
System.out.println(" Namespace prefix = " + code.getPrefix() +
", bound to " + code.getURI());
System.out.println(" Fault string = " + string);
if (actor != null) {
System.out.println(" Fault actor = " + actor);
}
Detail newDetail = newFault.getDetail();
if (newDetail != null) {
Iterator entries = newDetail.getDetailEntries();
while (entries.hasNext()) {
DetailEntry newEntry = (DetailEntry) entries.next();
String value = newEntry.getValue();
System.out.println(" Detail entry = " + value);
}
}
}
} catch (Exception e) {