2 * ============LICENSE_START=======================================================
4 * ================================================================================
5 * Copyright (C) 2017 AT&T Intellectual Property. All rights reserved.
6 * ================================================================================
7 * Modifications Copyright (c) 2019 Samsung
8 * ================================================================================
9 * Licensed under the Apache License, Version 2.0 (the "License");
10 * you may not use this file except in compliance with the License.
11 * You may obtain a copy of the License at
13 * http://www.apache.org/licenses/LICENSE-2.0
15 * Unless required by applicable law or agreed to in writing, software
16 * distributed under the License is distributed on an "AS IS" BASIS,
17 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
18 * See the License for the specific language governing permissions and
19 * limitations under the License.
20 * ============LICENSE_END=========================================================
23 package org.onap.so.adapters.sdnc.impl;
25 import javax.annotation.PostConstruct;
26 import javax.jws.WebService;
27 import javax.servlet.http.HttpServletResponse;
28 import org.onap.so.adapters.sdnc.SDNCAdapterPortType;
29 import org.onap.so.adapters.sdnc.SDNCAdapterRequest;
30 import org.onap.so.adapters.sdnc.SDNCAdapterResponse;
31 import org.onap.so.logger.ErrorCode;
32 import org.onap.so.logger.MessageEnum;
33 import org.slf4j.Logger;
34 import org.slf4j.LoggerFactory;
35 import org.springframework.beans.factory.annotation.Autowired;
36 import org.springframework.stereotype.Component;
38 // BPEL SDNCAdapter SOAP Web Service implementation
39 @WebService(serviceName = "SDNCAdapterService", endpointInterface = "org.onap.so.adapters.sdnc.SDNCAdapterPortType",
40 targetNamespace = "http://org.onap/workflow/sdnc/adapter/wsdl/v1")
42 public class SDNCAdapterPortTypeImpl implements SDNCAdapterPortType {
46 private static Logger logger = LoggerFactory.getLogger(SDNCAdapterPortTypeImpl.class);
50 private SDNCRestClient sdncClient;
54 logger.info("{} {} {}", MessageEnum.RA_INIT_SDNC_ADAPTER.toString(), "SDNC", "SDNCAdapterPortType");
58 * Health Check web method. Does nothing but return to show the adapter is deployed.
61 public void healthCheck() {
62 logger.debug("Health check call in SDNC Adapter");
67 public SDNCAdapterResponse sdncAdapter(SDNCAdapterRequest bpelRequest) {
68 String bpelReqId = bpelRequest.getRequestHeader().getRequestId();
69 String callbackUrl = bpelRequest.getRequestHeader().getCallbackUrl();
71 sdncClient.executeRequest(bpelRequest);
72 } catch (Exception e) {
73 String respMsg = "Error sending request to SDNC. Failed to start SDNC Client thread " + e.getMessage();
74 logger.error("{} {} {} {}", MessageEnum.RA_SEND_REQUEST_SDNC_ERR.toString(), "SDNC",
75 ErrorCode.DataError.getValue(), respMsg, e);
77 SDNCResponse sdncResp = new SDNCResponse(bpelReqId);
78 sdncResp.setRespCode(HttpServletResponse.SC_INTERNAL_SERVER_ERROR);
79 sdncResp.setRespMsg(respMsg);
80 sdncClient.sendRespToBpel(callbackUrl, sdncResp);
82 return (new SDNCAdapterResponse());