我们使用 axis 1.4 来实现 WS。 每当 WS 请求失败时,我们都希望将已发送的实际请求的 XML 添加到日志记录中。 为此,我们当然需要能够将请求对象转换为其 XML 表示形式,就像稍后将其发送到服务器一样。 在大多数情况下,这是为了稍后能够将其复制粘贴到其他工具中以进行调试,因此拥有与发送到服务器完全相同的 XML 字符串非常重要。 希望这已经足够清楚了。 谢谢。
最佳答案
好的,回答我自己的问题: 要针对 Axis-1.4 执行此操作,请根据 example由 NJSC 发布,需要将 SerializationContextImpl 替换为 org.apache.axis.encoding.SerializationContext。
qname = removeNamespaces ? new QName(lname) : new QName(qname.getNamespaceURI(), lname);
final AxisServer server = new AxisServer();
final BeanSerializer ser = new BeanSerializer(obj.getClass(), qname, typeDesc);
final SerializationContext ctx = new SerializationContext(outStr, new MessageContext(server));
ctx.setSendDecl(false);
ctx.setDoMultiRefs(false);
ctx.setPretty(prettyPrint);
关于java - 如何使用axis 1.4将java对象转换为XML?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28033249/