class VnfAdapterNotifyServiceImpl extends ProcessEngineAwareService implements VnfAdapterNotify {

    @WebMethod(operationName = "updateVnfNotification")
    @Oneway
    @RequestWrapper(localName = "updateVnfNotification", targetNamespace = "http://org.onap.so/vnfNotify",
            className = "org.onap.so.adapters.vnf.async.client.UpdateVnfNotification")
    @Action(input = "http://org.onap.so/notify/adapterNotify/updateVnfNotificationRequest")
    public void updateVnfNotification(@WebParam(name = "messageId", targetNamespace = "") String messageId,
            @WebParam(name = "completed", targetNamespace = "") boolean completed,
            @WebParam(name = "exception", targetNamespace = "") MsoExceptionCategory exception,
            @WebParam(name = "errorMessage", targetNamespace = "") String errorMessage,
            @WebParam(name = "outputs", targetNamespace = "") UpdateVnfNotification.Outputs outputs,
            @WebParam(name = "rollback", targetNamespace = "") VnfRollback rollback) {

        String method = "updateVnfNotification";
        String messageEventName = "updateVnfNotificationCallback";
        String messageVariable = "updateVnfNotificationCallback";
        String correlationVariable = "VNFU_messageId";
        String correlationValue = messageId;

        UpdateVnfNotification message = new UpdateVnfNotification();

        message.setMessageId(messageId);
        message.setCompleted(completed);
        message.setException(exception);
        message.setErrorMessage(errorMessage);
        message.setOutputs(outputs);
        message.setRollback(rollback);

        callback.handleCallback(method, message, messageEventName, messageVariable, correlationVariable,
                correlationValue, logMarker, null);
    }

}