Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/366.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
jersey java客户端返回HTTP错误代码:406_Java_Rest_Jersey - Fatal编程技术网

jersey java客户端返回HTTP错误代码:406

jersey java客户端返回HTTP错误代码:406,java,rest,jersey,Java,Rest,Jersey,我正在对Teamcity URI进行REST调用,以获得最后一个成功的构建编号,但得到406。如果我在Chrome的REST控制台中使用相同的URI,我会得到正确的字符串(这是最新的版本号) import com.sun.jersey.api.client.Client; import com.sun.jersey.api.client.ClientResponse; import com.sun.jersey.api.client.WebResource; import com.sun.jer

我正在对Teamcity URI进行REST调用,以获得最后一个成功的构建编号,但得到406。如果我在Chrome的REST控制台中使用相同的URI,我会得到正确的字符串(这是最新的版本号)

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.api.client.filter.HTTPBasicAuthFilter;

public class LastSuccessBuildNum {

    public static void main(String[] args) {

        try {

            Client client = Client.create();
            // client basic auth demonstration 
            client.addFilter(new HTTPBasicAuthFilter("username", "password"));

            WebResource webResource = client
                    .resource("http://localteamcity.com/teamcity/app/rest/buildTypes/id:bt26/builds/status:SUCCESS/number");
            ClientResponse response = webResource.accept("application/json")
                    .get(ClientResponse.class);

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

            String output = response.getEntity(String.class);

            System.out.println("Output from Server .... \n");
            System.out.println(output);
        } catch (Exception e) {

            e.printStackTrace();

        }

    }

}
标准:

java.lang.RuntimeException: Failed : HTTP error code : 406
    at LastSuccessBuildNum.main(LastSuccessBuildNum.java:22)

检查Chrome REST客户端中传输的MIME类型,可能不是json。406表示服务器没有客户端接受的MIME类型:


使用jersey客户端而不是Apache Http组件有什么具体原因吗?

json根据WADL也可用,即使我改为webResource.accept(“应用程序/文本”)我仍然得到406你能在Chrome REST客户端的开发者工具中打开网络选项卡并查看传输的MIME类型吗?可能是:资源被解释为图像,但传输的MIME类型为text/javascript:“”.sf_main.jsp:25资源被解释为脚本,但传输的MIME类型为text/plain:“”.script.xd.js:8资源被解释为脚本,但使用MIME类型text/plain:“”传输。script.xd.js:8@kamal这里没有MIME tyoe
application/text
try
text/plain
。宾果游戏感谢@AlexStybaev成功。我想知道为什么mkyong ref有webResource.type(“application/json”)