将自定义对象作为Web服务的参数发送

时间:2011-09-12 20:54:55

标签: java web-services soap

如何在通过SOAP消息调用时将自定义对象指定为Web服务方法的参数?

说我有这段代码:

SOAPElement operation = body.addChildElement("MyMethod", "", trgNamespace);
SOAPElement value = operation.addChildElement("arg0");
value.addTextNode("i need to send here a custom object not a string")
request.saveChanges();

addTextNode发送一个字符串,而我需要发送自己的对象作为调用参数。

3 个答案:

答案 0 :(得分:2)

您必须序列化您的对象才能通过线路传输它。序列化通常使用XML或JSON完成,有关详细信息,请参阅以下链接:http://en.wikipedia.org/wiki/Serialization

这应该让你走上正确的道路。

答案 1 :(得分:0)

也许尝试更高级别并为java使用基于wsdl的存根生成器?这是Axis wsdl to java

答案 2 :(得分:0)

我可以想到另一种方法

  1. 您可以将自定义对象作为二进制数据发送(我假设您的对象是可序列化的)。然后用Base64编码对该数据进行编码。
  2. 之前有similar problem提问。 Plz看看这个链接。这似乎与您的问题最相关。
  3. 上面的帖子中提到的
  4. Another link给出了处理这类问题的一般概述。