我是新手,我无法弄清楚这个错误是什么意思。
我试过谷歌搜索,但对我的发现没有任何意义。
我需要与 API 交互以将票证发布到远程服务器,并且我从我正在关注的教程中获得了此代码。
在这段代码中,我收到了这个错误:
HelpDeskTestService 类型中的方法 postToRemoteServer(String) 不适用于参数 (String, new AsyncCallback(){})
sendButton.addClickHandler(new ClickHandler() {
@Override
public void onClick(ClickEvent event) {
HelpDeskTestService.postToRemoteServer(
"http://xx.xx.xx.xx/sdpapi/request/",
new AsyncCallback<String>() {
@Override
public void onFailure(Throwable caught) {
Window.alert("Failure getting XML through proxy");
}
@Override
public void onSuccess(String result) {
processXML(result);
}
});
}
});
这是来自同步接口的代码:
public String postToRemoteServer(final String serviceUrl)
throws HelpDeskTestException;
这是来自异步接口的代码:
void postToRemoteServer(
final String serviceUrl,
AsyncCallback<String> callback);
最后,这是实现类的代码:
@Override
public String postToRemoteServer(String serviceUrl)
throws HelpDeskTestException {
try {
//dividing url into host: http://some.server
//path: a/path/in/it
//and parameters: this=that&those=others
int hostStart= serviceUrl.indexOf("//");
int pathStart= serviceUrl.substring(hostStart + 2).indexOf("/");
int parameterStart= serviceUrl.substring(hostStart + 2 + pathStart).indexOf("?");
final String serverHost= serviceUrl.substring(0, hostStart + pathStart + 2);
final String serverPath= serviceUrl.substring(hostStart + 3,
hostStart + pathStart + 2 + parameterStart);
final String serverParameters= serviceUrl.substring(hostStart + pathStart + 3 + parameterStart);
final URL url = new URL(serverHost);
final URLConnection connection= url.openConnection();
connection.setDoOutput(true);
final OutputStreamWriter out= new OutputStreamWriter(connection.getOutputStream());
final BufferedReader in= new BufferedReader(new InputStreamReader(
connection.getInputStream()));
out.write("POST " + serverPath + "\r\n");
out.write("Host: " + serverHost + "\r\n");
out.write("Accept-Encoding: identity\r\n");
out.write("Connection: close\r\n");
out.write("Content-Type: application/x-www-form-urlencoded\r\n");
out.write("Content-Length: " + serverParameters.length() + "\r\n\r\n" +
serverParameters + "\r\n");
String result = "";
String inputLine;
while ((inputLine=in.readLine()) != null) {
result+= inputLine;
}
in.close();
out.close();
return result;
} catch (final Exception e) {
throw new HelpDeskTestException();
}
任何帮助将不胜感激。