2016-09-01 3 views
2

WLP에서 제공하는 JAXRS 클라이언트 API (lib : javax.ws.rs.client. *)를 사용하여 REST 웹 서비스를 테스트하려면 Http 클라이언트를 만들어야합니다. . POST 메서드를 사용하여 String Request (JSON 메시지)를 보내고 String Response (JSON 메시지)를 수신해야합니다. 누군가가 비슷한 Java 코드 (클래스)를 가지고 있으며이 작업을 수행하는 데 필요한 가져 오기가 있으면 감사하게 생각합니다.Websphere Liberty 프로필에서 JAXRS 클라이언트 API (POST 요청)를 사용하는 Http 클라이언트

PS : 나는 자바 클래스를 코딩 시작하지만 응답을 얻을하는 방법을 알고하지 않았다 : 내가 사용

Client client = ClientBuilder.newClient(); 
WebTarget myResource = client.target("http://example.com/webapi"); 
.... 

:

Websphere Liberty profile 16.0.0.2, 
jaxrs-2.0 [1.0.0] 
jaxrsClient-2.0 [1.0.0] 
IDE : RDz 

답변

3

당신은 거의 다 왔어. 요청 데이터를 'Entity'인스턴스로 형식화하고 서비스에 전송하면됩니다.

다음은 매우 간단한 JAX-RS 서비스에서이를 수행하는 몇 가지 예제 코드입니다.

import javax.ws.rs.client.Client; 
    import javax.ws.rs.client.ClientBuilder; 
    import javax.ws.rs.client.Entity; 
    import javax.ws.rs.client.WebTarget; 
    import javax.ws.rs.core.MediaType; 

    .... 

    // Set up our client and target our JAX-RS service 
    Client client = ClientBuilder.newClient(); 
    WebTarget target = client.target("http://localhost:9081/example.jaxrs/test/SimpleService"); 

    // Build our request JSON into an 'Entity'. Replace 'myData' with your JSON 
    Entity<String> data = Entity.entity("MyData", MediaType.APPLICATION_JSON_TYPE); 

    // Then send a post request to the target service 
    String result = target.request(MediaType.APPLICATION_JSON_TYPE).post(data, String.class); 
+0

안녕 마이클, 대답하지만 난 여전히 경고 및 오류를 주셔서 감사합니다

import javax.ws.rs.client.Client; import javax.ws.rs.client.ClientBuilder; import javax.ws.rs.client.Invocation; import javax.ws.rs.client.WebTarget; import javax.ws.rs.core.MediaType; import javax.ws.rs.core.Response; Client client = ClientBuilder.newClient(); WebTarget myResource = client.target("http://example.com/webapi"); Invocation.Builder invocationBuilder = myResource.request(MediaType.TEXT_PLAIN_TYPE); Response getResponse = invocationBuilder.get(); if (getResponse != null && getResponse.getStatus() == 200) { String responseString = getResponse.readEntity(String.class); } 
: [경고]를 HTTP 응답 코드는 {HTTP에 대한 [경고] 인터셉터를 손상된 것으로 나타납니다 : //9.458.365.147:11491/webservice}WebClient에서 예외가 발생했습니다. 이제 풀어집니다. 메시지를 보낼 수 없습니다. –

+0

그것은 작동합니다! 고마워요 마이클 –

0

다음을 시도,