class SDNCAdapterPortTypeImpl implements SDNCAdapterPortType {

    @Override
    public SDNCAdapterResponse sdncAdapter(SDNCAdapterRequest bpelRequest) {
        String bpelReqId = bpelRequest.getRequestHeader().getRequestId();
        String callbackUrl = bpelRequest.getRequestHeader().getCallbackUrl();
        try {
            sdncClient.executeRequest(bpelRequest);
        } catch (Exception e) {
            String respMsg = "Error sending request to SDNC. Failed to start SDNC Client thread " + e.getMessage();
            logger.error(LoggingAnchor.FOUR, MessageEnum.RA_SEND_REQUEST_SDNC_ERR.toString(), "SDNC",
                    ErrorCode.DataError.getValue(), respMsg, e);

            SDNCResponse sdncResp = new SDNCResponse(bpelReqId);
            sdncResp.setRespCode(HttpServletResponse.SC_INTERNAL_SERVER_ERROR);
            sdncResp.setRespMsg(respMsg);
            sdncClient.sendRespToBpel(callbackUrl, sdncResp);
        }
        return (new SDNCAdapterResponse());
    }

}