java - 我可以在java中使用xmlrpc传递一个对象吗

标签 java xml-rpc

我想使用 xmlrpc 传递一个对象,因为这似乎是我可以将一个 Integer 和一个 String 传递给服务器上的方法的唯一可能方式。是否可以使用对象来做到这一点?如果没有,还有其他方法吗?

我曾尝试这样做,但出现此错误:

JavaClient: XML-RPC Consumer Fault #java.io.IOException: unsupported Java type: class 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());
   }

最佳答案

假设您正在使用 ws-xmlrpc,文档说明如下:

DOM nodes, or JAXB objects, can be transmitted. So are objects implementing the java.io.Serializable interface.

因此,通过声明您的对象可序列化,您就可以传输它。根据你想做什么,好好看看 jaxb 可能是个好主意。

参见 http://ws.apache.org/xmlrpc/了解更多信息。

关于java - 我可以在java中使用xmlrpc传递一个对象吗,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18301386/

相关文章:

java - 为什么我不能在匿名内部类中创建新方法?

api - XML-RPC 与 REST

java - 如何使用docker-java库检查图像状态

java - 无法使用包扩展类

java - H2客户端无法连接到服务器

java - 判断圆是否相交

node.js - 如何使用 xmlrpc - Node 模块将参数作为对象传递(github.com/baalexander/node-xmlrpc)

java - 创建需要跨线程共享全局数据的 XML-RPC 服务时如何避免并发异常

python - 用于对象代理的 XML-RPC