如何使用xmlbeans指定自定义XML

时间:2013-05-28 11:46:20

标签: java xml wsdl schema xmlbeans

我要实现一个变通方法修补程序。我们正在使用一个外部Web服务,其客户端是使用xmlbeans和一个大的WSDL描述生成的。

我需要指定一个未在架构中描述的xml节点。我知道我可以尝试修改WSDL(这非常复杂),但也想看看是否可以重新生成java类。

基本上我正在寻找的是这样的东西。我可以将一个XML对象放入我的树中,在序列化为字符串时,它只解析为给定的文本。

XmlObject customNode = XmlObject.Factory.newInstance();
customNode.setXML(
  "<myns:MyNode xmlns:mytypes='http://example.com/myschema' xsi:type='mytypes:DoesNotExistOnClientSideXML'"
);
mySchemaConformantNode.setTheNode(customNode);

服务器确实理解类型。我知道这不干净。但这是一个解决方法,直到正确的WSDL以新版本和适当的方式交付。

1 个答案:

答案 0 :(得分:0)

那应该没问题。您可以使用XmlBeans创建您喜欢的任何XML结构 - 根据WSDL,它不会是模式有效的。

编辑:对不起,我不明白最初的问题。您可以使用XmlObject#set替换当前XmlObject的内容:

XmlObject customNode = XmlObject.Factory.parse("xml...")

mySchemaConformantNode.set(customNode);