2
我試圖使用gwtwiki Java庫與私有wiki(Mint Linux上的MediaWiki 1.19.5)進行交互,而且我很難創建新的wiki頁面。使用gtwtwiki創建MediaWiki頁面
維基運行正常,我可以連接並編輯已有的頁面罰款,但創建失敗,出現錯誤:
info.bliki.api.UnexpectedAnswerException: The specified page was not found
我的代碼:
Connector connection = new Connector();
User user = new User("username", "password", "http://xxxx/mediawiki/api.php");
connection.login(user);
StringBuilder page = new StringBuilder();
page.append("== Test page ==\r\n");
page.append("Some page text");
String title = Encoder.encodeTitleToUrl("Test page", true);
Edit newPage = Edit.create()
.title(title)
.text(page.toString());
try {
connection.edit(user, newPage);
} catch (UnexpectedAnswerException e) {
e.printStackTrace();
}
看來,問題出在庫,因爲它執行query
(在edit
命令發出之前返回空pageid
。該行位於Connector.java的edit(....)
方法中:
if (pages != null && pages.size() == 1 && pages.get(0).getPageid() != null) {
...
使用調試器強制它傳遞null pageid檢查允許我的頁面創建成功。
那麼,我做錯了什麼? gwtwiki是否支持頁面創建?如果是這樣,我該怎麼做?