2013-05-02 110 views
0

繼來處理多的要求就是我的代碼使用httpclient如何使用HTTP客戶端

if(methodParams.getDataType().length()>0 && methodParams.getDataType().equals("org.springframework.web.multipart.MultipartFile")){ 
       isMultipart = true; 
       MultipartEntity entity = new MultipartEntity(HttpMultipartMode.BROWSER_COMPATIBLE); 
       // For usual String parameters 
       entity.addPart(methodParams.getVariableDefined(), new StringBody("".toString() , "text/plain", Charset.forName("UTF-8"))); 
       postURL.setEntity(entity); 
      } 

處理Multipart但我得到以下異常:

Exception in thread "main" java.lang.NoSuchMethodError: org.apache.james.mime4j.util.CharsetUtil.getCharset(Ljava/lang/String;)Ljava/nio/charset/Charset; 
    at org.apache.http.entity.mime.MIME.<clinit>(MIME.java:51) 
    at org.apache.http.entity.mime.HttpMultipart.<clinit>(HttpMultipart.java:85) 
    at org.apache.http.entity.mime.MultipartEntity.<init>(MultipartEntity.java:77) 
    at org.apache.http.entity.mime.MultipartEntity.<init>(MultipartEntity.java:96) 
    at com.hexgen.tools.HexgenClassUtils.doPOST(HexgenClassUtils.java:151) 
    at com.hexgen.reflection.HttpClientRequests.handleHTTPRequest(HttpClientRequests.java:74) 
    at com.hexgen.reflection.HexgenWebAPITest.main(HexgenWebAPITest.java:115) 

編輯:

以下是依賴我使用

<dependency> 
    <groupId>org.apache.httpcomponents</groupId> 
    <artifactId>httpmime</artifactId> 
    <version>4.0.1</version> 
</dependency> 
<dependency> 
    <groupId>org.apache.httpcomponents</groupId> 
    <artifactId>httpclient</artifactId> 
    <version>4.0.1</version> 
</dependency> 

如何解決這個問題。

+0

您正在使用不兼容的版本。 – lifus 2013-05-02 07:21:00

+0

請看看我的編輯 – 2013-05-02 07:52:33

+0

好吧,所以有一些理由使用4.0.1而不是最新版本? – lifus 2013-05-02 08:36:02

回答

1

你可以看看dependenciesone more time,也許你錯過了一些罐子。

您也可以用newer version of a httpclient along with httpmime替換舊罐子。 httpclient不再依賴james mime4j since version 4.1

您最終還可能會用maven來管理您的依賴關係。以防萬一,如果你不使用它。

編輯:

您可以添加httpmime和Apache-mime4j我supose以下

<dependency> 
    <groupId>org.apache.james</groupId> 
    <artifactId>apache-mime4j</artifactId> 
    <version>0.6</version> 
</dependency> 
+0

請看看我的編輯 – 2013-05-02 08:18:48