package com.bansheeproject.engine.soap; import javax.xml.namespace.QName; import javax.xml.soap.SOAPConstants; /** * Contains specific constants for handling SOAP messages (according * to their version). * * @author Alexandre Saudate * @since 1.0 */ public enum SOAPVersion { ONEDOTONE { @Override public String getProtocol() { return SOAPConstants.SOAP_1_1_PROTOCOL; } @Override public String getNamespace() { return "http://schemas.xmlsoap.org/soap/envelope/"; } @Override public String getDoNotNeedToUnderstandAttribute() { return "0"; } @Override public String getMustUnderstandAttribute() { return "1"; } private QName faultQName = new QName("detail"); @Override public QName getFaultQName() { return faultQName; } }, ONEDOTTWO { @Override public String getProtocol() { return SOAPConstants.SOAP_1_2_PROTOCOL; } @Override public String getNamespace() { return "http://www.w3.org/2003/05/soap-envelope"; } @Override public String getDoNotNeedToUnderstandAttribute() { return "false"; } @Override public String getMustUnderstandAttribute() { return "true"; } private QName faultQName = new QName("http://www.w3.org/2003/05/soap-envelope", "Detail"); @Override public QName getFaultQName() { return faultQName; } }; public abstract String getProtocol() ; public abstract String getNamespace(); public abstract String getMustUnderstandAttribute (); public abstract String getDoNotNeedToUnderstandAttribute(); public abstract QName getFaultQName() ; }