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;
29 import org.onap.so.adapters.sdnc.SDNCAdapterPortType;
30 import org.onap.so.adapters.sdnc.SDNCAdapterRequest;
31 import org.onap.so.adapters.sdnc.SDNCAdapterResponse;
32 import org.onap.so.logger.ErrorCode;
33 import org.onap.so.logger.MessageEnum;
35 import org.slf4j.Logger;
36 import org.slf4j.LoggerFactory;
37 import org.springframework.beans.factory.annotation.Autowired;
38 import org.springframework.stereotype.Component;
40 //BPEL SDNCAdapter SOAP Web Service implementation
41 @WebService(serviceName = "SDNCAdapterService", endpointInterface = "org.onap.so.adapters.sdnc.SDNCAdapterPortType", targetNamespace = "http://org.onap/workflow/sdnc/adapter/wsdl/v1")
43 public class SDNCAdapterPortTypeImpl implements SDNCAdapterPortType {
47 private static Logger logger = LoggerFactory.getLogger(SDNCAdapterPortTypeImpl.class);
51 private SDNCRestClient sdncClient;
55 logger.info("{} {} {}", MessageEnum.RA_INIT_SDNC_ADAPTER.toString(), "SDNC", "SDNCAdapterPortType");
59 * Health Check web method. Does nothing but return to show the adapter is deployed.
62 public void healthCheck ()
64 logger.debug("Health check call in SDNC Adapter");
69 public SDNCAdapterResponse sdncAdapter(SDNCAdapterRequest bpelRequest) {
70 String bpelReqId = bpelRequest.getRequestHeader().getRequestId();
71 String callbackUrl = bpelRequest.getRequestHeader().getCallbackUrl();
73 sdncClient.executeRequest(bpelRequest);
76 String respMsg = "Error sending request to SDNC. Failed to start SDNC Client thread " + e.getMessage();
77 logger.error("{} {} {} {}", MessageEnum.RA_SEND_REQUEST_SDNC_ERR.toString(), "SDNC",
78 ErrorCode.DataError.getValue(), respMsg, e);
80 SDNCResponse sdncResp = new SDNCResponse(bpelReqId);
81 sdncResp.setRespCode(HttpServletResponse.SC_INTERNAL_SERVER_ERROR);
82 sdncResp.setRespMsg(respMsg);
83 sdncClient.sendRespToBpel(callbackUrl, sdncResp);
85 return (new SDNCAdapterResponse());