代码:
import java.io.IOException;
import javax.ws.rs.core.MediaType;
import javax.ws.rs.core.MultivaluedMap;
import javax.ws.rs.core.UriBuilder;
import org.apache.http.client.ClientProtocolException;
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.config.ClientConfig;
import com.sun.jersey.api.client.config.DefaultClientConfig;
import com.sun.jersey.core.util.MultivaluedMapImpl;
public class PostClient {
public static void main(String[] args) throws ClientProtocolException, IOException {
String devEmail = "test123@gmail.com";
String apiKey = "a975d70e-bebc-4270-8160-d71fa5241bd2";
String pkgName = "com.test";
String appId = "com.testtestApp";
ClientConfig config = new DefaultClientConfig();
Client client = Client.create(config);
WebResource webResource = client.resource(UriBuilder.fromUri("http://localhost:4444/webbService/apiCheckTest").build());
MultivaluedMap formData = new MultivaluedMapImpl();
formData.add("devEmail", devEmail);
formData.add("apiKey", apiKey);
formData.add("pkgName", pkgName);
formData.add("appId", appId);
ClientResponse response = webResource.type(MediaType.APPLICATION_FORM_URLENCODED_TYPE).post(ClientResponse.class, formData);
System.out.println("Response " + response.getEntity(String.class));
}
}
服务器类:
import java.io.IOException;
import com.sun.jersey.api.container.httpserver.HttpServerFactory;
import com.sun.net.httpserver.HttpServer;
public class RESTserverStartUp {
static final String BASE_URI = "http://localhost:4444/";
public static void main(String[] args) {
try {
HttpServer server = HttpServerFactory.create(BASE_URI);
server.start();
System.out.println("Press Enter to stop the server. ");
System.in.read();
server.stop(0);
} catch (IllegalArgumentException e) {
e.printStackTrace();
} catch (IOException e) {
e.printStackTrace();
}
}
}
如果我在Netbeans中执行,那么相同的代码正在运行。但是,如果我尝试在ADT中运行,那就是抛出错误。
记录跟踪:
05-26 07:18:47.442: W/System.err(1934): com.sun.jersey.api.client.ClientHandlerException: java.lang.NullPointerException
05-26 07:18:47.442: W/System.err(1934): at com.sun.jersey.client.urlconnection.URLConnectionClientHandler.handle(URLConnectionClientHandler.java:149)
05-26 07:18:47.442: W/System.err(1934): at com.sun.jersey.api.client.Client.handle(Client.java:648)
05-26 07:18:47.452: W/System.err(1934): at com.sun.jersey.api.client.WebResource.handle(WebResource.java:670)
05-26 07:18:47.452: W/System.err(1934): at com.sun.jersey.api.client.WebResource.access$200(WebResource.java:74)
05-26 07:18:47.452: W/System.err(1934): at com.sun.jersey.api.client.WebResource$Builder.post(WebResource.java:563)
帮我调试一下。我已经在构建路径中包含在外部jar中。 请帮我调试这个问题。 提前谢谢。