我要实现一个变通方法修补程序。我们正在使用一个外部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以新版本和适当的方式交付。
答案 0 :(得分:0)
那应该没问题。您可以使用XmlBeans创建您喜欢的任何XML结构 - 根据WSDL,它不会是模式有效的。
编辑:对不起,我不明白最初的问题。您可以使用XmlObject#set替换当前XmlObject的内容:XmlObject customNode = XmlObject.Factory.parse("xml...")
mySchemaConformantNode.set(customNode);