我想将数据从我的Java程序发送到Tine2.0
服务器。我找到了一个名为JSON-RPC for Java
的解决方案,正在使用Post http方法。
我已经创建了一个对服务器的测试页面发出Post请求的类,这是代码:
import java.io.*;
import java.net.*;
public class EnvoiEnBaseViaURL {
public static void main(String[] args) throws Exception {
String tacheSent = URLEncoder.encode(args[0], "UTF-8"); //args[0] = "tache a envoyer"
String noteSent = URLEncoder.encode(args[1], "UTF-8"); //args[1] = "note a envoyer"
String dossier = URLEncoder.encode(args[2], "UTF-8"); //args[2] = "dossier a envoyer"
String context = URLEncoder.encode(args[3], "UTF-8"); //args[3] = "contexte a envoyer"
String iD = URLEncoder.encode(args[4], "UTF-8");
String pass = URLEncoder.encode(args[5], "UTF-8");
URL url = new URL(args[6]);
URLConnection connection = url.openConnection();
connection.setDoOutput(true);
OutputStreamWriter out = new OutputStreamWriter(
connection.getOutputStream());
out.write("TacheEnvoyee=" + tacheSent + "&NoteEnvoyee=" + noteSent + "&Dossier=" + dossier + "&Contexte=" + context + "&Identifiant=" + iD + "&Password=" + pass);
out.close();
BufferedReader in = new BufferedReader(
new InputStreamReader(
connection.getInputStream()));
String decodedString;
while ((decodedString = in.readLine()) != null) {
System.out.println(decodedString);
}
in.close();
}
}
它有效,我成功地将数据发送到此页面,它返回我发送的内容。但是现在我使用Tine2.0服务器,我必须使用身份验证来连接。
我试过按照这个教程:https://github.com/briandilley/jsonrpc4j,我已经下载了ZIP文件,但我不知道我应该做什么,我必须发送它...(教程没有完全解释...)目前,User
上的public Interface UserService
不存在,等等......
我想我可以用
做我想做的事JsonRpcHttpClient client = new JsonRpcHttpClient(
new URL("http://example.com/UserService.json"));
User user = client.invoke("createUser", new Object[] { "bob", "the builder" }, User.class);
但是,如前所述,Java显然无法识别JsonRpcHttpClient
或User
..
如果有人已经使用过JSON-RPC并且可以解释我应该做些什么,可以安装或添加到Java Build Path
吗?
我希望我足够简洁,不要犹豫,询问信息是否有些缺失。
谢谢。