Search code examples
oracleoracle-mafmcs

Oracle MAF-MCS API call


I have created a custom POST api for getting login information in MCS. when i check in SOAPUI it works perfectly fine. the parameters passed are

1. header   
Oracle-Mobile-Backend-Id: ********************
2. Authentocation
Username:****************
password: **************

and basic login info username and password as "User1" and "user1" respectively.

Step2:

when i call the API from MAF i am getting an error 400 the post method used is

    public static Response callPost(String restURI, String jsonRequest) {
    String responseJson = "";
    Response response = new Response();

    RestServiceAdapter restServiceAdapter = Model.createRestServiceAdapter();
    restServiceAdapter.clearRequestProperties();
    //restServiceAdapter.setConnectionName("MiddlewareAPI");
   // restServiceAdapter.setConnectionName("");


    restServiceAdapter.setRequestType(RestServiceAdapter.REQUEST_TYPE_POST);
    restServiceAdapter.addRequestProperty("Content-Type", "application/json");
    restServiceAdapter.addRequestProperty("Accept", "application/json; charset=UTF-8");
    restServiceAdapter.addRequestProperty("Oracle-Mobile-Backend-Id", "**********");
    restServiceAdapter.addRequestProperty("Domain", "mcsdem0001");


    restServiceAdapter.addRequestProperty("Username", "******");
    restServiceAdapter.addRequestProperty("Password", "*****");
    //restServiceAdapter.addRequestProperty("Authorization", "Basic "+new String(encodedBytes));
    System.out.println("**** Authorization String ****=>"+new String(encodedBytes));
    System.out.println("**** RestURI ******=>"+restURI);
    System.out.println("**** jsonRequest ******=>"+jsonRequest);

    restServiceAdapter.setRequestURI(restURI);
    restServiceAdapter.setRetryLimit(0);

    try {
        responseJson = restServiceAdapter.send(jsonRequest);
        int responseCode = restServiceAdapter.getResponseStatus();
        response.setResponseCode(responseCode);
        response.setResponseMessage(responseJson);
        response.setHeader(restServiceAdapter.getResponseHeaders());
    } catch (Exception e) {
        int responseCode = restServiceAdapter.getResponseStatus();
        response.setResponseCode(responseCode);
        response.setResponseMessage(responseJson);
    }
    System.out.println("Response:" + responseJson);

    return response;
}

Could anyone please tell me is there any error in the post method??


Solution

  • This can be due to the version conflict. Try to use HttpUrlConnection instead of RestServiceAdapter and let me know if it works.