jaliya 2005/02/15 20:49:30
Added: sandesha/src/org/apache/sandesha/ws/rm FaultCode.java
SequenceFault.java
Log:
Two classes to handle the WSRM Faults
Revision Changes Path
1.1
ws-fx/sandesha/src/org/apache/sandesha/ws/rm/FaultCode.java
Index: FaultCode.java
===================================================================
package org.apache.sandesha.ws.rm;
import org.apache.axis.message.MessageElement;
import org.apache.sandesha.Constants;
import javax.xml.soap.SOAPException;
/**
* Created by IntelliJ IDEA.
* User: Jaliya
* Date: Feb 15, 2005
* Time: 4:51:44 PM
* To change this template use File | Settings | File Templates.
*/
public class FaultCode extends MessageElement implements IRmElement {
/**
* Field lastMsgElement
*/
private MessageElement faultCode;
/**
* Constructor LastMessage
*/
public FaultCode() {
faultCode = new MessageElement();
faultCode.setName("wsrm:FaultCode");
}
/*
* (non-Javadoc)
*
* @see org.apache.sandesha.ws.rm.IRmElement#getSoapElement()
*/
/**
* Method getSoapElement
*
* @return MessageElement
*/
public MessageElement getSoapElement() {
return faultCode;
}
/**
* Method fromSOAPEnvelope
*
* @param element
* @return LastMessage
*/
public FaultCode fromSOAPEnvelope(MessageElement element) {
return this;
}
/**
* Method toSOAPEnvelope
*
* @param msgElement
* @return MessageElement
* @throws SOAPException
*/
public MessageElement toSOAPEnvelope(MessageElement msgElement)
throws SOAPException {
msgElement.addChildElement("FaultCode", Constants.NS_PREFIX_RM);
return msgElement;
}
/*
* (non-Javadoc)
*
* @see
org.apache.sandesha.ws.rm.IRmElement#addChildElement(org.apache.axis.message.MessageElement)
*/
/**
* Method addChildElement
*
* @param element
*/
public void addChildElement(MessageElement element) {
// no child elements in LastMessage element
}
public MessageElement getFaultCode() {
return faultCode;
}
public void setFaultCode(MessageElement faultCode) {
this.faultCode = faultCode;
}
}
1.1
ws-fx/sandesha/src/org/apache/sandesha/ws/rm/SequenceFault.java
Index: SequenceFault.java
===================================================================
package org.apache.sandesha.ws.rm;
import org.apache.axis.message.MessageElement;
import org.apache.axis.message.SOAPEnvelope;
import org.apache.axis.message.SOAPHeaderElement;
import org.apache.sandesha.Constants;
import javax.xml.soap.Name;
import javax.xml.soap.SOAPException;
import java.util.Iterator;
public class SequenceFault extends MessageElement implements IRmElement {
private MessageElement sequenceFault;
private FaultCode faultCode;
public SequenceFault() {
sequenceFault = new MessageElement();
sequenceFault.setName("wsrm:SequenceFault");
}
public MessageElement getSoapElement() throws SOAPException {
sequenceFault.addChildElement(faultCode.getSoapElement());
return sequenceFault;
}
public SOAPEnvelope toSoapEnvelop(SOAPEnvelope envelope) throws Exception
{
SOAPEnvelope env = envelope;
if (env.getHeader() == null) {
env.addHeader();
}
Name name = env.createName("", Constants.NS_PREFIX_RM,
Constants.NS_URI_RM);
SOAPHeaderElement headerElement = (SOAPHeaderElement) env.getHeader()
.addHeaderElement(name);
headerElement.setActor(null);
headerElement.setName("SequenceFault");
headerElement.setMustUnderstand(true);
if (faultCode != null) {
faultCode.toSOAPEnvelope(headerElement);
}
return env;
}
public SequenceFault fromSOAPEnveploe(SOAPHeaderElement headerElement) {
Iterator iterator = headerElement.getChildElements();
MessageElement childElement;
while (iterator.hasNext()) {
childElement = (MessageElement) iterator.next();
if (childElement.getName().equals("wsrm:FaultCode")) {
faultCode = new FaultCode();
faultCode.fromSOAPEnvelope(childElement);
}
}
return this;
}
/*
* (non-Javadoc)
*
* @see
org.apache.sandesha.ws.rm.IRmElement#addChildElement(org.apache.axis.message.MessageElement)
*/
/**
* Method addChildElement
*
* @param element
* @throws SOAPException
*/
public void addChildElement(MessageElement element) throws SOAPException {
sequenceFault.addChildElement(element);
}
public MessageElement getSequenceFault() {
return sequenceFault;
}
public void setSequenceFault(MessageElement sequenceFault) {
this.sequenceFault = sequenceFault;
}
}