You are viewing a plain text version of this content. The canonical link for it is here.
Posted to muse-commits@ws.apache.org by da...@apache.org on 2007/01/16 18:37:40 UTC
svn commit: r496788 - in
/webservices/muse/trunk/modules/muse-wsrf-api/src/org/apache/muse/ws/resource/basefaults:
BaseFault.java WsbfConstants.java
Author: danj
Date: Tue Jan 16 09:37:38 2007
New Revision: 496788
URL: http://svn.apache.org/viewvc?view=rev&rev=496788
Log:
Fixed BaseFault impl so that getDetail() value is created on-the-fly, so that when SOAPFaults are serialized
they have all of the BaseFault data in the XML w/o duplicating all of the data that is stored in POJO fields
in the BaseFault class.
Modified:
webservices/muse/trunk/modules/muse-wsrf-api/src/org/apache/muse/ws/resource/basefaults/BaseFault.java
webservices/muse/trunk/modules/muse-wsrf-api/src/org/apache/muse/ws/resource/basefaults/WsbfConstants.java
Modified: webservices/muse/trunk/modules/muse-wsrf-api/src/org/apache/muse/ws/resource/basefaults/BaseFault.java
URL: http://svn.apache.org/viewvc/webservices/muse/trunk/modules/muse-wsrf-api/src/org/apache/muse/ws/resource/basefaults/BaseFault.java?view=diff&rev=496788&r1=496787&r2=496788
==============================================================================
--- webservices/muse/trunk/modules/muse-wsrf-api/src/org/apache/muse/ws/resource/basefaults/BaseFault.java (original)
+++ webservices/muse/trunk/modules/muse-wsrf-api/src/org/apache/muse/ws/resource/basefaults/BaseFault.java Tue Jan 16 09:37:38 2007
@@ -140,72 +140,89 @@
{
super(message);
_name = name;
- createDetail();
}
public BaseFault(QName name, String message, Throwable cause)
{
super(message, cause);
_name = name;
- createDetail();
}
public BaseFault(QName name, Throwable cause)
{
super(cause);
_name = name;
- createDetail();
}
/**
*
- * This method adds the wsrf-bf:BaseFault derived fault XML to the
- * Detail section of the SOAP fault.
+ * Creates the WSBF BaseFault XML on-the-fly, for inclusion in a larger
+ * SOAPFault XML fragment. The wsrf-bf:Description is not included because
+ * the same text is found in the SOAPFault's Reason element.
*
*/
- protected void createDetail()
+ public Element getDetail()
{
- Element baseFault = XmlUtils.createElement(getName(), getMessage());
- setDetail(baseFault);
+ Element baseFault = XmlUtils.createElement(getName());
+ XmlUtils.setElement(baseFault, WsbfConstants.TIMESTAMP_QNAME, getTimestamp());
+
+ EndpointReference originEPR = getOriginReference();
+
+ if (originEPR != null)
+ {
+ Element originXML = originEPR.toXML();
+ baseFault.appendChild(originXML);
+ }
+
+ Element errorCode = getErrorCode();
+
+ if (errorCode != null)
+ {
+ Element errorXML = XmlUtils.createElement(WsbfConstants.ERROR_CODE_QNAME);
+ errorXML.setAttribute(WsbfConstants.ERROR_CODE_DIALECT, getErrorCodeDialect());
+ XmlUtils.setElement(errorXML, WsbfConstants.ERROR_CODE_QNAME, errorCode, false);
+ }
+
+ return baseFault;
}
- public final String getDescription()
+ public String getDescription()
{
return getMessage();
}
- public final Element getErrorCode()
+ public Element getErrorCode()
{
return _errorCode;
}
- public final String getErrorCodeDialect()
+ public String getErrorCodeDialect()
{
return _errorCodeDialect;
}
- public final QName getName()
+ public QName getName()
{
return _name;
}
- public final EndpointReference getOriginReference()
+ public EndpointReference getOriginReference()
{
return _origin;
}
- public final Date getTimestamp()
+ public Date getTimestamp()
{
return _timestamp;
}
- public final void setErrorCode(Element errorCode, String errorCodeDialect)
+ public void setErrorCode(Element errorCode, String errorCodeDialect)
{
_errorCode = errorCode;
_errorCodeDialect = errorCodeDialect;
}
- public final void setOriginReference(EndpointReference origin)
+ public void setOriginReference(EndpointReference origin)
{
_origin = new EndpointReference(origin, WsbfConstants.ORIGINATOR_QNAME);
}
Modified: webservices/muse/trunk/modules/muse-wsrf-api/src/org/apache/muse/ws/resource/basefaults/WsbfConstants.java
URL: http://svn.apache.org/viewvc/webservices/muse/trunk/modules/muse-wsrf-api/src/org/apache/muse/ws/resource/basefaults/WsbfConstants.java?view=diff&rev=496788&r1=496787&r2=496788
==============================================================================
--- webservices/muse/trunk/modules/muse-wsrf-api/src/org/apache/muse/ws/resource/basefaults/WsbfConstants.java (original)
+++ webservices/muse/trunk/modules/muse-wsrf-api/src/org/apache/muse/ws/resource/basefaults/WsbfConstants.java Tue Jan 16 09:37:38 2007
@@ -39,7 +39,7 @@
public static final QName DESCRIPTION_QNAME =
new QName(NAMESPACE_URI, "Description", PREFIX);
- public static final String ERROR_CODE_DIALECT = "dialect";
+ public static final String ERROR_CODE_DIALECT = "Dialect";
public static final QName ERROR_CODE_QNAME =
new QName(NAMESPACE_URI, "ErrorCode", PREFIX);
---------------------------------------------------------------------
To unsubscribe, e-mail: muse-commits-unsubscribe@ws.apache.org
For additional commands, e-mail: muse-commits-help@ws.apache.org