gpt4 book ai didi

java - 错误: 500 When registering data using webService

转载 作者:行者123 更新时间:2023-11-30 06:18:44 25 4
gpt4 key购买 nike

使用网络服务在我的数据库中注册数据时,出现以下错误。

    Sending 'POST' request to URL : http://localhost:8080/FazendaWS/webresources/fazenda/Usuario/inserir
Post parameters : {"login":"felipe10","senha":"1234","email":"teste@gmail.com","perfil":"teste100"}
Response Code : 500
Exception in thread "main" java.io.IOException: Server returned HTTP response code: 500 for URL: http://localhost:8080/FazendaWS/webresources/fazenda/Usuario/inserir
at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method)
at



sun.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:62)
at sun.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:45)
at java.lang.reflect.Constructor.newInstance(Constructor.java:423)
at sun.net.www.protocol.http.HttpURLConnection$10.run(HttpURLConnection.java:1944)
at sun.net.www.protocol.http.HttpURLConnection$10.run(HttpURLConnection.java:1939)
at java.security.AccessController.doPrivileged(Native Method)
at sun.net.www.protocol.http.HttpURLConnection.getChainedException(HttpURLConnection.java:1938)
at sun.net.www.protocol.http.HttpURLConnection.getInputStream0(HttpURLConnection.java:1508)
at sun.net.www.protocol.http.HttpURLConnection.getInputStream(HttpURLConnection.java:1492)
at consumindows.HttpExemplo.sendPost(HttpExemplo.java:165)
at consumindows.HttpExemplo.main(HttpExemplo.java:50)
Caused by: java.io.IOException: Server returned HTTP response code: 500 for URL: http://localhost:8080/FazendaWS/webresources/fazenda/Usuario/inserir
at sun.net.www.protocol.http.HttpURLConnection.getInputStream0(HttpURLConnection.java:1894)
at sun.net.www.protocol.http.HttpURLConnection.getInputStream(HttpURLConnection.java:1492)
at java.net.HttpURLConnection.getResponseCode(HttpURLConnection.java:480)
at consumindows.HttpExemplo.sendPost(HttpExemplo.java:159)
... 1 more
C:\Users\Felipe\AppData\Local\NetBeans\Cache\8.2\executor-snippets\run.xml:53: Java returned: 1
FALHA NA CONSTRUÇÃO (tempo total: 1 segundo)

执行数据插入的类。

package consumindows;

import com.google.gson.Gson;
import com.google.gson.reflect.TypeToken;
import java.io.BufferedReader;
import java.io.DataOutputStream;
import java.io.InputStreamReader;
import java.net.HttpURLConnection;
import java.net.Proxy.Type;
import java.net.URL;
import javax.net.ssl.HttpsURLConnection;
import modelo.Usuario;


public class HttpExemplo {

private final String USER_AGENT = "Mozilla/5.0";

public static void main(String[] args) throws Exception {


HttpExemplo http = new HttpExemplo();

Gson g =new Gson();
Usuario u = new Usuario();

java.lang.reflect.Type usuarioType= new TypeToken<Usuario>() {}.getType();
String url;


u.setEmail("teste@gmail.com");
u.setLogin("felipe10");
u.setPerfil("teste100");
u.setSenha("1234");
System.out.println(u.getLogin());

String json=g.toJson(u, usuarioType);


url="http://localhost:8080/FazendaWS/webresources/fazenda/Usuario/inserir";
http.sendPost(url,json,"POST");
}

// HTTP POST request
private void sendPost(String url,String urlParameters,String method) throws Exception {

URL obj= new URL(url);
HttpURLConnection con=(HttpURLConnection) obj.openConnection();
//add reuqest header
con.setRequestMethod(method);
con.setRequestProperty("Content-Type", "application/json");
con.setRequestProperty("User-Agent", USER_AGENT);
con.setRequestProperty("Accept-Language", "en-US,en;q=0.5");



// Send post request
con.setDoOutput(true);
DataOutputStream wr = new DataOutputStream(con.getOutputStream());
wr.writeBytes(urlParameters);
wr.flush();
wr.close();

int responseCode = con.getResponseCode();
System.out.println("\nSending 'POST' request to URL : " + url);
System.out.println("Post parameters : " + urlParameters);
System.out.println("Response Code : " + responseCode);

BufferedReader in = new BufferedReader(
new InputStreamReader(con.getInputStream()));
String inputLine;
StringBuffer response = new StringBuffer();

while ((inputLine = in.readLine()) != null) {
response.append(inputLine);
}
in.close();

//print result
System.out.println(response.toString());

}


}

最佳答案

不完全确定您在这里尝试做什么,但我至少稍微整理了一下代码并删除了一些冗余以使其更清晰......

import com.google.gson.Gson;
import com.google.gson.reflect.TypeToken;

import java.io.BufferedReader;
import java.io.DataOutputStream;
import java.io.InputStreamReader;
import java.net.HttpURLConnection;
import java.net.Proxy.Type;
import java.net.URL;

import modelo.Usuario;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;


public class HttpExemplo {

private static final Logger log = LoggerFactory.getLogger(HttpExemplo.class);
private static final String USER_AGENT = "Mozilla/5.0";
private static final Gson GSON = new Gson();

public static void main(String[] args) throws Exception {

HttpExemplo http = new HttpExemplo();

Usuario user = new Usuario();
user.setEmail("teste@gmail.com");
user.setLogin("felipe10");
user.setPerfil("teste100");
user.setSenha("1234");
log.info("Usario: {}", user.getLogin());

Type usuarioType = new TypeToken<Usuario>() {}.getType();

String json = GSON.toJson(user, usuarioType);

URL url = new URL("http://localhost:8080/FazendaWS/webresources/fazenda/Usuario/inserir");
http.post(url, json);
}

private void post(URL url, String json) throws Exception {

HttpURLConnection con = (HttpURLConnection) url.openConnection();
//add reuqest header
con.setRequestMethod("POST");
con.setRequestProperty("Content-Type", "application/json");

// Send post request
DataOutputStream wr = new DataOutputStream(con.getOutputStream());
wr.writeBytes(json);

int responseCode = con.getResponseCode();
log.info("Sending 'POST' request to URL: {}", url);
log.info("Post json: {}", json);
log.info("Response Code: {}", responseCode);

BufferedReader in = new BufferedReader(new InputStreamReader(con.getInputStream()));
StringBuffer response = new StringBuffer();
String inputLine;

while ((inputLine = in.readLine()) != null) {
response.append(inputLine);
}
log.info(response.toString());

in.close();
}
}

关于java - 错误: 500 When registering data using webService,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48631301/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com