Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/382.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 使用ApacheHttpClient为接受gzip编码的post错误上的多部分数据使用Web服务。_Java_Web Services_Gzip_Apache Httpcomponents - Fatal编程技术网

Java 使用ApacheHttpClient为接受gzip编码的post错误上的多部分数据使用Web服务。

Java 使用ApacheHttpClient为接受gzip编码的post错误上的多部分数据使用Web服务。,java,web-services,gzip,apache-httpcomponents,Java,Web Services,Gzip,Apache Httpcomponents,这是我用来使用Web服务的代码,比如说“urn:auth#createEmp”。现在,当我使用同一台服务器时 “urn:authe#createUser”它抛出java.util.zip.ZipException。节目如下 package pack; import java.io.BufferedReader; import java.io.IOException; import java.io.InputStreamReader; import org.apache.http.HttpEn

这是我用来使用Web服务的代码,比如说“urn:auth#createEmp”。现在,当我使用同一台服务器时 “urn:authe#createUser”它抛出java.util.zip.ZipException。节目如下

package pack;

import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;

import org.apache.http.HttpEntity;
import org.apache.http.HttpResponse;
import org.apache.http.client.ClientProtocolException;
import org.apache.http.client.HttpClient;
import org.apache.http.client.methods.HttpPost; 
import org.apache.http.entity.ContentType;
import org.apache.http.entity.mime.MultipartEntityBuilder;
import org.apache.http.impl.client.HttpClientBuilder;

public class WebServiceClient {

public static void main(String[] args) throws ClientProtocolException, IOException {
    String url = "http://localhost/ProjectName/WebService.php";

    HttpClient client = HttpClientBuilder.create().build();
    HttpPost post = new HttpPost(url);

    post.setHeader("SOAPAction", "urn:authe#createUser");

    MultipartEntityBuilder builder = MultipartEntityBuilder.create();
    builder.addTextBody("firstname", "Siva", ContentType.TEXT_PLAIN);
    builder.addTextBody("lastname", "LASTNAME", ContentType.TEXT_PLAIN);

    // builder.addBinaryBody("file", new
    // File("..."),ContentType.APPLICATION_OCTET_STREAM, "file.ext");

    HttpEntity multipart = builder.build();

    post.setEntity(multipart);
    HttpResponse response = client.execute(post);

    System.out.println("Response Code : " + response.getStatusLine().getStatusCode());

    BufferedReader rd = new BufferedReader(new InputStreamReader(response.getEntity().getContent()));
    StringBuffer result = new StringBuffer();
    String line = "";
    while ((line = rd.readLine()) != null) {
        result.append(line);
    }

    System.out.println(result.toString());
  } 
}
控制台的响应是:

Response Code : 200
Exception in thread "main" java.util.zip.ZipException: Not in GZIP format
at java.util.zip.GZIPInputStream.readHeader(GZIPInputStream.java:164)
at java.util.zip.GZIPInputStream.<init>(GZIPInputStream.java:78)
at java.util.zip.GZIPInputStream.<init>(GZIPInputStream.java:90)
at org.apache.http.client.protocol.ResponseContentEncoding$1.create(ResponseContentEncoding.java:67)
at org.apache.http.client.entity.LazyDecompressingInputStream.initWrapper(LazyDecompressingInputStream.java:54)
at org.apache.http.client.entity.LazyDecompressingInputStream.read(LazyDecompressingInputStream.java:72)
at sun.nio.cs.StreamDecoder.readBytes(StreamDecoder.java:283)
at sun.nio.cs.StreamDecoder.implRead(StreamDecoder.java:325)
at sun.nio.cs.StreamDecoder.read(StreamDecoder.java:177)
at java.io.InputStreamReader.read(InputStreamReader.java:184)
at java.io.BufferedReader.fill(BufferedReader.java:154)
at java.io.BufferedReader.readLine(BufferedReader.java:317)
at java.io.BufferedReader.readLine(BufferedReader.java:382)
at pack.WebServiceClient.main(WebServiceClient.java:78)
响应代码:200 线程“main”java.util.zip.ZipException中的异常:不是GZIP格式 位于java.util.zip.GZIPInputStream.readHeader(GZIPInputStream.java:164) 位于java.util.zip.GZIPInputStream。(GZIPInputStream.java:78) 位于java.util.zip.GZIPInputStream。(GZIPInputStream.java:90) 位于org.apache.http.client.protocol.ResponseContentEncoding$1.create(ResponseContentEncoding.java:67) 位于org.apache.http.client.entity.LazyDecompressingInputStream.initWrapper(LazyDecompressingInputStream.java:54) 位于org.apache.http.client.entity.LazyDecompressingInputStream.read(LazyDecompressingInputStream.java:72) 位于sun.nio.cs.StreamDecoder.readBytes(StreamDecoder.java:283) 位于sun.nio.cs.StreamDecoder.implRead(StreamDecoder.java:325) 位于sun.nio.cs.StreamDecoder.read(StreamDecoder.java:177) 位于java.io.InputStreamReader.read(InputStreamReader.java:184) 在java.io.BufferedReader.fill中(BufferedReader.java:154) 位于java.io.BufferedReader.readLine(BufferedReader.java:317) 位于java.io.BufferedReader.readLine(BufferedReader.java:382) 位于pack.WebServiceClient.main(WebServiceClient.java:78) 我尝试搜索选项,用gzip格式对请求进行编码。直到现在还没有解决办法。帮我解决这个问题