我想使用 xmlrpc 传递一个对象,因为这似乎是我可以将整数和字符串传递给服务器上的方法的唯一可能方式。是否可以使用对象来做到这一点?如果没有,还有其他方法吗?
我试图这样做,但收到此错误:
JavaClient:XML-RPC Consumer Fault #java.io.IOException:不支持的 Java 类型:类 Client.Article
这是客户端的代码:
public void addHash()
{
try {
addAuthorName = txtAddAuthorName.getText();
int addArticleNumber = Integer.parseInt(txtAddArticleNumber.getText());
newArticle = new Article(addAuthorName, addArticleNumber);
Vector<Object> addArticleArglist = new Vector<Object>();
addArticleArglist.addElement(newArticle);
System.out.println(newArticle);
// make the call
String callit = ("GetSize.addHash");
articleID = (Integer) client.execute(callit, addArticleArglist);
} // Use XmlRpcException errors
catch (XmlRpcException exception) {
System.err.println("JavaClient: XML-RPC Consumer Fault #"
+ Integer.toString(exception.code) + ": "
+ exception.getCause() + "" + exception.toString());
} catch (Exception exception) {
System.err.println("JavaClient: XML-RPC Consumer Fault #" + exception.toString());
}
}
这是服务器端的代码,但是通过使用 System.out.println 我发现无论出于何种原因,都没有执行此方法中的任何代码:
public void addHash(Article newArticle)
{
theHashtable.addHash(newArticle.getArticleName(), newArticle.getAuthorID());
}