我在运行网络应用时遇到了一些问题,这个问题基本上是一个网址缩短程序。
服务器具有允许上传包含URL列表的CSV文件的功能。下面的代码是一种从队列中获取CSV文件的方法,它读取文件并使其中的URL短路。当我尝试向我的服务器中的控制器发送发布请求时,问题就出现了。出现的例外情况如下:
#include <stdio.h>
int main ()
{
int var1=1048575;
int var2=1048575;
char buffer [17];
char zeros [] = "0000000000000000";
sprintf (buffer, "%x%x", var1, var2);
// Put the zeros in front
int len = strlen(buffer);
if (len < 16)
{
zeros[16-len] = 0x0; // Terminate the string at 16-len
}
else
{
zeros[0] = 0x0; // Terminate the string at 0 as no extra zero is needed
}
printf("%s%s\n", zeros, buffer);
return 0;
}
以下是我提到的方法的代码:
javax.ws.rs.ProcessingException: HTTP 500 Internal Server Error
正如我所说,问题出在这个特定的要求上(两者基本相同):
while(true){
QueueObject qo = csvQueue.take();
copyFile(qo.getFile());
File f = new File("temp");
Scanner sc = new Scanner(f);
sc.useDelimiter(",|\\s");
Client client = ClientBuilder.newClient();
while(sc.hasNext()){
String url = sc.next();
ResponseEntity<ShortURL> res = shortener(url, null, null, null, null, null);
if(res!=null && ((res.getStatusCode()).toString()).equals("400")){
String stat = url + " : Failed";
UpdateMessage um = new UpdateMessage(stat, qo.getUser());
Response response = client.target("http://localhost:8080/urlUploads")
.request(MediaType.APPLICATION_JSON)
.post(Entity.entity(um, MediaType.APPLICATION_JSON));
}
else{
String stat = url + " : Success";
UpdateMessage um = new UpdateMessage(stat, qo.getUser());
Response response = client.target("http://localhost:8080/urlUploads")
.request(MediaType.APPLICATION_JSON)
.post(Entity.entity(um, MediaType.APPLICATION_JSON));
}
}
f.delete();
}
我想要触及的控制器就是这个:
Response response = client.target("http://localhost:8080/urlUploads")
.request(MediaType.APPLICATION_JSON)
.post(Entity.entity(um, MediaType.APPLICATION_JSON));