2017-09-11 7 views
-1

私はJavaで別のRESTを呼び出すRESTをプログラミングしています。 2番目のRESTからの応答はオブジェクトに変換されてListに追加され、Listに12個の要素がある場合、REST応答は "400 bad request"になります。残りは別の残りと応答を呼び出す残りの "400悪い要求"

このメソッドのGETにエラーが表示されます。このメソッドを20回呼び出すforeachがあります。最初の11回は動作しますが、12回目に悪い要求が届きます。

クライアントコール:

private String callAcountingDebitCreditServiceAcount(
      long originalOption, long codeInstance, long codeCompany, String codeBranch, 
      String codeOffice, String currency, String inputCost, long operationNumber, 
      String jsonResult, long originalOptionMenu, long codeTrans, String tableName, 
      String pkJson) 
    throws UnsupportedEncodingException, IOException { 
     String jsonFuente = jsonResult; 
     jsonFuente = URLEncoder.encode(jsonFuente, "utf-8"); 
     String pkj = URLEncoder.encode(pkJson, "utf-8"); 
     String URLrest = "http://llacsaa-server:9080/JorupeInstanceWS/webresources/accountingDebitCreditService"; 
     String respuestaStr = ClientBuilder.newClient() 
      .target(URLrest) 
      .queryParam("codeInstance", codeInstance) 
      .queryParam("codeCompany", codeCompany) 
      .queryParam("codeTrans", codeTrans) 
      .queryParam("codeBrach", codeBranch) 
      .queryParam("codeOffice", codeOffice) 
      .queryParam("originalOption", originalOption) 
      .queryParam("currency", currency) 
      .queryParam("inputCost", inputCost) 
      .queryParam("operationNumber", operationNumber) 
      .queryParam("jsonArrayScreen", jsonFuente) 
      .queryParam("originalOptionMenu", originalOptionMenu) 
      .queryParam("tableName", tableName) 
      .queryParam("pkJson", pkj) 
      .request() 
      .get(String.class); 
     ResponseRest respuesta = new ResponseRest(); 
     return respuesta.process(respuestaStr).toString(); 
    } 

Enpointコード:

@Stateless 
@Path("accountingDebitCreditService") 
public class AccountingDebitCreditREST { 

@Inject 
private ServiceRegistry services; 

@GET 
@Produces(MediaType.APPLICATION_JSON) 
public ResponseRest accountingDebitCredit(
     @QueryParam("originalOption") long originalOption, 
     @QueryParam("codeInstance") long codeInstance, 
     @QueryParam("codeCompany") long codeCompany, 
     @QueryParam("codeBrach") String codeBranch, 
     @QueryParam("codeOffice") String codeOffice, 
     @QueryParam("currency") String currency, 
     @QueryParam("inputCost") String inputCost, 
     @QueryParam("operationNumber") long operationNumber, 
     @QueryParam("jsonArrayScreen") String jsonArrayScreen, 
     @QueryParam("originalOptionMenu") long originalOptionMenu, 
     @QueryParam("codeTrans") long codeTrans, 
     @QueryParam("tableName") String tableName, 
     @QueryParam("pkJson") String pkJson) 
+2

さらに詳しい情報を入力してください。 'どのREST API'を呼びますか?あなたのリクエストはどのように見えますか? –

+1

質問は? – Neb

+1

これはあまりにも広い質問です。質問を編集して、いくつかの文脈といくつかのコードを追加する必要があります。 Bad Requestは通常、クライアントエラー(不正なリクエスト構文、無効なリクエストメッセージフレーミング、不正なリクエストルーティングなど)です。 – sebadagostino

答えて

0

あなたがすることで

.request() 

を交換してみました:

.request(MediaType.APPLICATION_JSON_TYPE) 

インポートを忘れないでください:

import javax.ws.rs.core.MediaType; 
関連する問題