Код JAVA для вызова патча REST http-метода в OAuth 2.0 - PullRequest
0 голосов
/ 08 мая 2018

У меня есть требование для вызова метода исправлений для внешнего сервера OAuth2.0.

Я реализовал код Java, чтобы вызвать исправление метода http rest. Но этот код не очень полезен для вызова патча.

Запрашиваю вас, пожалуйста, помогите создать код для вызова метода 'patch'.

`

importcom.wm.data.*;
    importcom.wm.util.Values;
    importcom.wm.app.b2b.server.Service;
    importcom.wm.app.b2b.server.ServiceException;
    importcom.sun.security.ntlm.Client;
    importjava.io.*;
    importjava.net.*;
    importokhttp3.Headers;
    importokhttp3.MediaType;
    importokhttp3.OkHttpClient;
    importokhttp3.Request;
    importokhttp3.RequestBody;
    importokhttp3.Response;
    importjavax.sound.midi.Patch;
    importorg.apache.commons.io.IOUtils;
    importorg.apache.http.client.ClientProtocolException;
    importorg.apache.http.client.methods.*;
    importorg.apache.http.Header;
    importorg.apache.http.HttpEntity;
    importorg.apache.http.entity.StringEntity;
    importorg.apache.http.util.EntityUtils;
    importorg.apache.http.HttpResponse;
    importorg.apache.http.client.methods.HttpPatch;
    importorg.apache.http.impl.*;
    importorg.apache.http.impl.client.DefaultHttpClient;
    publicfinalclasstestPatchCall_SVC
    {
    /**
    *TheprimarymethodfortheJavaservice
    *
    *@parampipeline
    *TheIDatapipeline
    *@throwsServiceException
    */
    publicstaticfinalvoidtestPatchCall(IDatapipeline)throwsServiceException{
    //pipeline
    IDataCursorpipelineCursor=pipeline.getCursor();
    logger("Entered");
    StringURL=IDataUtil.getString(pipelineCursor,"URL");
    StringrequestData=IDataUtil.getString(pipelineCursor,"requestData");
    StringHttpMethod=IDataUtil.getString(pipelineCursor,"HttpMethod");
    //headers
    IData[]HeadersCall=IDataUtil.getIDataArray(pipelineCursor,"HeadersCall");
    if(HeadersCall!=null)
    {
    for(inti=0;i<HeadersCall.length;i++)
    {
    IDataCursorheadersCursor=HeadersCall[i].getCursor();
    Stringname=IDataUtil.getString(headersCursor,"name");
    Stringvalue=IDataUtil.getString(headersCursor,"value");
    headersCursor.destroy();
    }
    }
    pipelineCursor.destroy();
    MediaTypemediaType=MediaType.parse("application/json");
    OkHttpClientclient=newOkHttpClient();
    logger("Initiatingrequest");
    RequestBodybody=RequestBody.create(mediaType,requestData);
    Requestrequest=newRequest.Builder()
    .url(URL).patch(body).addHeader("content-type","application/json")
    .addHeader("Accept","application/json")
    .addHeader("Authorization","Bearer1213ABANCBYD").build();
    try{
    logger("Calling"+request);
    Responseresponse=client.newCall(request).execute();
    logger(response.body().string());
    }catch(Exceptione){
    logger(e.toString());
    }
    //pipelin
    IDataCursorpipelineCursor_1=pipeline.getCursor();
    ObjectresponseData=newObject();
    IDataUtil.put(pipelineCursor_1,"response",responseData);
    pipelineCursor_1.destroy();
    }
    //---<<IS-BEGIN-SHARED-SOURCE-AREA>>---
    privatestaticHttpURLConnectionsetRequestProperty(IData[]headers){
    //TODOAuto-generatedmethodstub
    returnnull;
    }
    privatestaticHttpURLConnectionsetRequestMethod(Stringmethod){
    //TODOAuto-generatedmethodstub
    returnnull;
    }
    //---<<IS-END-SHARED-SOURCE-AREA>>--
    /**
    *Theserviceimplementationsgivenbelowareread-onlyandshowonlythe
    *methoddefinitionsandnotthecompleteimplementation.
    */
    publicstaticfinalvoidaddInts(IDatapipeline)throwsServiceException{
    }
    publicstaticfinalvoidpatchMethod(IDatapipeline)throwsServiceException{
    }
    publicstaticfinalvoidRestPatch(IDatapipeline)throwsServiceException{
    }
    }`

Я пытаюсь отправить данные вызова патча со своего сервера на сервер OAuth 2.0.

здесь я использую приложение в качестве клиента для OAuth (сервер ресурсов).

Я реализовал код для получения токена Bearer, вызвав метод POST http. и получите токен успешно.

После того, как я пытаюсь вызвать патч-вызов.

Спасибо, Шринивас

...