blob: 326dcce006dd1fa41bb3c0aa9eb0c83f66d96372 [file] [log] [blame]
/*
* Licensed to the Apache Software Foundation (ASF) under one or more
* contributor license agreements. See the NOTICE file distributed with
* this work for additional information regarding copyright ownership.
* The ASF licenses this file to You under the Apache License, Version 2.0
* (the "License"); you may not use this file except in compliance with
* the License. You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
*/
package flex.messaging.messages;
import flex.messaging.MessageException;
import flex.messaging.log.Log;
import java.util.Map;
/**
* A message describing a MessageException.
*
*
*/
public class ErrorMessage extends AcknowledgeMessage
{
/**
* This number was generated using the 'serialver' command line tool.
* This number should remain consistent with the version used by
* ColdFusion to communicate with the message broker over RMI.
*/
private static final long serialVersionUID = -9069412644250075809L;
public String faultCode;
public String faultString;
public String faultDetail;
public Object rootCause;
public Map extendedData;
public ErrorMessage(MessageException mxe)
{
faultCode = mxe.getCode();
faultString = mxe.getMessage();
faultDetail = mxe.getDetails();
if (mxe.getRootCause() != null)
{
rootCause = mxe.getRootCauseErrorMessage();
}
Map extendedData = mxe.getExtendedData();
if (extendedData != null)
{
this.extendedData = extendedData;
}
}
public ErrorMessage()
{
}
/**
*
*/
public Message getSmallMessage()
{
return null;
}
protected String toStringFields(int indentLevel)
{
String sep = getFieldSeparator(indentLevel);
String s = super.toStringFields(indentLevel);
s += sep + "code = " + faultCode;
s += sep + "message = " + faultString;
s += sep + "details = " + faultDetail;
s += sep + "rootCause = ";
if (rootCause == null) s += "null";
else s += rootCause.toString();
if (Log.isExcludedProperty("body"))
s += sep + "body = " + Log.VALUE_SUPRESSED;
else
s += sep + "body = " + bodyToString(body, indentLevel);
s += sep + "extendedData = " + bodyToString(extendedData, indentLevel);
return s;
}
}