我是新來的,我無法弄清楚這個錯誤的含義。這個錯誤的含義是什麼:方法...不適用於參數
我試過Google搜索,但不能從我發現的任何意義。
我需要與API進行交互以將票證發佈到遠程服務器,並從我正在遵循的教程中獲得此代碼。
在代碼我得到這個錯誤塊:
The method postToRemoteServer(String) in the type HelpDeskTestService is not applicable for the arguments (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();
}
任何幫助將不勝感激。
是'HelpDeskTestService.postToRemoteServer'靜態方法的調用? –