2015-12-28 27 views
1
curl -v 
-F "sharedsecret=YourIntegrationPassword" 
-F "[email protected];type=application/octet-stream" 
-F "event=Import Batch Data" 
-F clienttype="Curl" -F clientinfo="OS=Linux:Host=myhost" -F clientversion="1.0" 
https://www.sample.com/sell/fileupload?realm=YourSiteID 

我在linux終端上使用curl命令成功地調用了上面的REST調用。現在,我想使用Java RESTClient調用服務(REST Server)。這個怎麼做?如何將與Curl命令相關的REST調用轉換爲java客戶端?

+4

爲什麼不從Java REST客戶端的基本代碼開始,並向我們展示您在代碼中遇到的問題。 – vish4071

+0

我已經開發了一個服務和客戶端,但我無法將這個捲曲相關的東西轉換成一個客戶端程序。 (謝謝回覆)。通過使用這項服務,我需要發送一個zip文件到服務器。 –

回答

1

有一個輕量級的捲曲封裝API可用於Java。 檢查出來:CurlJava

+0

非常感謝您的幫助。 –

0

您可以從代碼中你可以叫你休息寫自己的Java REST客戶端, 。

公共類ClientJerseyGet {

public static void main(String[] args) { 

    try { 

     Client client = Client.create(); 
     String restUrl="https://www.sample.com/sell/fileupload?realm=YourSiteID"; 
     WebResource webResource = client.resource(restUrl); 

     ClientResponse response = webResource.accept("application/xml") 
       .get(ClientResponse.class); 
     String output = response.getEntity(String.class); 

     System.out.println("Server response : " + response.getStatus()); 
     System.out.println(); 
     System.out.println(output); 

     if (response.getStatus() != 200) { 
      throw new RuntimeException("Failed : HTTP error code : " 
        + response.getStatus()); 
     } 

    } catch (Exception e) { 
     e.printStackTrace(); 
    } 
} 

}

瞭解更多詳情,您可以遵循:http://entityclass.in/rest/jerseyClientGetXml.htm

+0

非常感謝您http://stackoverflow.com/users/5545906/rahul-sharma。 –

0
import javax.ws.rs.core.MediaType; 

import com.sun.jersey.api.client.Client; 
import com.sun.jersey.api.client.ClientResponse; 
import com.sun.jersey.api.client.WebResource; 
import com.sun.jersey.multipart.FormDataMultiPart; 

public class AribaClient { 

    public static void main(String argsp[]) { 

     AribaClient clientRequest = new AribaClient(); 

     clientRequest.getResponse(); 
    } 

    private void getResponse() { 
     try { 

      Client client = Client.create(); 
      WebResource webResource = client 
        .resource("https://www.sample.com/sell/fileupload?realm=YourSiteID"); 

      FormDataMultiPart formData = new FormDataMultiPart(); 
      formData.field("name", "value"); 
      formData.field("file", "D:/repository/moved Files/Purchase.zip"); 
      formData.field("name1", "value1"); 

      ClientResponse response = webResource.type(
        MediaType.MULTIPART_FORM_DATA_TYPE).post(
        ClientResponse.class, formData); 

      // ClientResponse response = 
      // webResource.type(MediaType.APPLICATION_FORM_URLENCODED).post(ClientResponse.class, 
      // formData); 
      if (response.getStatus() != 200) { 
       throw new RuntimeException("Failed : HTTP error code : " 
         + response); 
      } else { 
       System.out.println("Response :: " + response.getStatus()); 
      } 

     } catch (Exception e) { 
      e.printStackTrace(); 
     } 

    } 
} 

這是我能夠發佈表單值的REST服務器的方式。