class VnfAdapterNotifyServiceImpl extends ProcessEngineAwareService implements VnfAdapterNotify {

    @WebMethod(operationName = "queryVnfNotification")
    @Oneway
    @RequestWrapper(localName = "queryVnfNotification", targetNamespace = "http://org.onap.so/vnfNotify",
            className = "org.onap.so.adapters.vnf.async.client.QueryVnfNotification")
    @Action(input = "http://org.onap.so/notify/adapterNotify/queryVnfNotificationRequest")
    public void queryVnfNotification(@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 = "vnfExists", targetNamespace = "") Boolean vnfExists,
            @WebParam(name = "vnfId", targetNamespace = "") String vnfId,
            @WebParam(name = "status", targetNamespace = "") VnfStatus status,
            @WebParam(name = "outputs", targetNamespace = "") QueryVnfNotification.Outputs outputs) {

        String method = "queryVnfNotification";
        String messageEventName = "queryVnfNotificationCallback";
        String messageVariable = "queryVnfNotificationCallback";
        String correlationVariable = "VNFQ_messageId";
        String correlationValue = messageId;

        QueryVnfNotification message = new QueryVnfNotification();

        message.setMessageId(messageId);
        message.setCompleted(completed);
        message.setException(exception);
        message.setErrorMessage(errorMessage);
        message.setVnfExists(vnfExists);
        message.setVnfId(vnfId);
        message.setStatus(status);
        message.setOutputs(outputs);

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

}