package com.arjuna.webservices11.wsarjtx.sei;
import com.arjuna.schemas.ws._2005._10.wsarjtx.ExceptionType;
import com.arjuna.schemas.ws._2005._10.wsarjtx.NotificationType;
import com.arjuna.schemas.ws._2005._10.wsarjtx.TerminationParticipantPortType;
import com.arjuna.services.framework.task.Task;
import com.arjuna.services.framework.task.TaskManager;
import com.arjuna.webservices.SoapFault;
import com.arjuna.webservices.SoapFaultType;
import com.arjuna.webservices.logging.WSTLogger;
import com.arjuna.webservices11.SoapFault11;
import com.arjuna.webservices11.wsarj.ArjunaContext;
import com.arjuna.webservices11.wsarjtx.processors.TerminationParticipantProcessor;
import javax.annotation.Resource;
import javax.jws.*;
import javax.jws.soap.SOAPBinding;
import javax.xml.namespace.QName;
import javax.xml.ws.WebServiceContext;
import javax.xml.ws.WebServiceException;
import javax.xml.ws.addressing.AddressingProperties;
import javax.xml.ws.addressing.JAXWSAConstants;
import javax.xml.ws.handler.MessageContext;
import javax.xml.ws.soap.Addressing;
/**
* This class was generated by the JAX-WS RI.
* JAX-WS RI 2.1.1-b03-
* Generated source version: 2.0
*
*/
@WebService(name = "TerminationParticipantPortType", targetNamespace = "http://schemas.arjuna.com/ws/2005/10/wsarjtx",
wsdlLocation = "/WEB-INF/wsdl/wsarjtx-termination-participant-binding.wsdl",
serviceName = "TerminationParticipantService",
portName = "TerminationParticipantPortType"
)
@SOAPBinding(parameterStyle = SOAPBinding.ParameterStyle.BARE)
@HandlerChain(file="handlers.xml")
@Addressing(required=true)
public class TerminationParticipantPortTypeImpl implements TerminationParticipantPortType
{
@Resource
private WebServiceContext webServiceCtx;
/**
*
* @param parameters
*/
@WebMethod(operationName = "CompletedOperation", action = "http://schemas.arjuna.com/ws/2005/10/wsarjtx/Completed")
@Oneway
public void completedOperation(
@WebParam(name = "Completed", targetNamespace = "http://schemas.arjuna.com/ws/2005/10/wsarjtx", partName = "parameters")
NotificationType parameters)
{
MessageContext ctx = webServiceCtx.getMessageContext();
final NotificationType completed = parameters;
final AddressingProperties inboundAddressProperties
= (AddressingProperties)ctx.get(JAXWSAConstants.SERVER_ADDRESSING_PROPERTIES_INBOUND);
final ArjunaContext arjunaContext = ArjunaContext.getCurrentContext(ctx);
TaskManager.getManager().queueTask(new Task() {
public void executeTask() {
TerminationParticipantProcessor.getProcessor().handleCompleted(completed, inboundAddressProperties, arjunaContext);
}
}) ;
}
/**
*
* @param parameters
*/
@WebMethod(operationName = "ClosedOperation", action = "http://schemas.arjuna.com/ws/2005/10/wsarjtx/Closed")
@Oneway
public void closedOperation(
@WebParam(name = "Closed", targetNamespace = "http://schemas.arjuna.com/ws/2005/10/wsarjtx", partName = "parameters")
NotificationType parameters)
{
MessageContext ctx = webServiceCtx.getMessageContext();
final NotificationType closed = parameters;
final AddressingProperties inboundAddressProperties
= (AddressingProperties)ctx.get(JAXWSAConstants.SERVER_ADDRESSING_PROPERTIES_INBOUND);
final ArjunaContext arjunaContext = ArjunaContext.getCurrentContext(ctx);
TaskManager.getManager().queueTask(new Task() {
public void executeTask() {
TerminationParticipantProcessor.getProcessor().handleClosed(closed, inboundAddressProperties, arjunaContext);
}
}) ;
}
/**
*
* @param parameters
*/
@WebMethod(operationName = "CancelledOperation", action = "http://schemas.arjuna.com/ws/2005/10/wsarjtx/Cancelled")
@Oneway
public void cancelledOperation(
@WebParam(name = "Cancelled", targetNamespace = "http://schemas.arjuna.com/ws/2005/10/wsarjtx", partName = "parameters")
NotificationType parameters)
{
MessageContext ctx = webServiceCtx.getMessageContext();
final NotificationType cancelled = parameters;
final AddressingProperties inboundAddressProperties
= (AddressingProperties)ctx.get(JAXWSAConstants.SERVER_ADDRESSING_PROPERTIES_INBOUND);
final ArjunaContext arjunaContext = ArjunaContext.getCurrentContext(ctx);
TaskManager.getManager().queueTask(new Task() {
public void executeTask() {
TerminationParticipantProcessor.getProcessor().handleCancelled(cancelled, inboundAddressProperties, arjunaContext);
}
}) ;
}
/**
*
* @param parameters
*/
@WebMethod(operationName = "FaultedOperation", action = "http://schemas.arjuna.com/ws/2005/10/wsarjtx/Faulted")
@Oneway
public void faultedOperation(
@WebParam(name = "Faulted", targetNamespace = "http://schemas.arjuna.com/ws/2005/10/wsarjtx", partName = "parameters")
NotificationType parameters)
{
MessageContext ctx = webServiceCtx.getMessageContext();
final NotificationType faulted = parameters;
final AddressingProperties inboundAddressProperties
= (AddressingProperties)ctx.get(JAXWSAConstants.SERVER_ADDRESSING_PROPERTIES_INBOUND);
final ArjunaContext arjunaContext = ArjunaContext.getCurrentContext(ctx);
TaskManager.getManager().queueTask(new Task() {
public void executeTask() {
TerminationParticipantProcessor.getProcessor().handleFaulted(faulted, inboundAddressProperties, arjunaContext);
}
}) ;
}
/**
*
* @param parameters
*
* @message com.arjuna.webservices11.wsarjtx.sei.TerminationParticipantPortTypeImpl_1 [com.arjuna.webservices11.wsarjtx.sei.TerminationParticipantPortTypeImpl_1] - Invalid soap fault type
*/
@WebMethod(operationName = "FaultOperation", action = "http://schemas.arjuna.com/ws/2005/10/wsarjtx/Fault")
@Oneway
public void faultOperation(
@WebParam(name = "Fault", targetNamespace = "http://schemas.arjuna.com/ws/2005/10/wsarjtx", partName = "parameters")
ExceptionType parameters)
{
MessageContext ctx = webServiceCtx.getMessageContext();
String soapFaultTypeName = parameters.getSoapFaultType();
String reason = parameters.getReason();
QName subcode = parameters.getSubCode();
final SoapFault soapFault;
final AddressingProperties inboundAddressProperties
= (AddressingProperties)ctx.get(JAXWSAConstants.SERVER_ADDRESSING_PROPERTIES_INBOUND);
final ArjunaContext arjunaContext = ArjunaContext.getCurrentContext(ctx);
try {
SoapFaultType soapFaultType = SoapFaultType.toState(soapFaultTypeName);
soapFault = new SoapFault11(soapFaultType, subcode, reason);
} catch (Exception e) {
String message = WSTLogger.log_mesg.getString("com.arjuna.webservices11.wsarjtx.sei.TerminationParticipantPortTypeImpl_1");
throw new WebServiceException(message, e);
}
TaskManager.getManager().queueTask(new Task() {
public void executeTask() {
TerminationParticipantProcessor.getProcessor().handleSoapFault(soapFault, inboundAddressProperties, arjunaContext);
}
}) ;
}
}