我必须编写一个符合Axis2 1.5.4
的Web服务客户端。给出问题的代码部分如下:
String my_var = "some value";
MetaDataEntry metaDataEntry = MetaDataEntry.Factory.newInstance();
metaDataEntry.setKey(MetaDataKey.Enum.forInt(key));
metaDataEntry.setValue(my_var);
现在基本上
setKey
可以正常工作,但是setValue
期望一个XmlObject
值,而根据我得到的示例响应文档,xml
结构应类似于:....
<MetaDataEntry>
<key>some_key_enum</key>
<value>some _value</value>
</MetaDataEntry>
....
我试过使用:
MetaDataEntry.setValue(XmlObject.Factory.parse("<value>"+my_var+"</value>"));
但它将值标签的格式设置为
<value><value>some_value</value></value>
。我也尝试过:metaDataEntry.setValue(XmlObject.Factory.parse(my_var));
但它给出了例外:意外元素:CDATA。有人可以帮我写正确的声明吗?
最佳答案
尝试使用XmlString值:
metaDataEntry.setValue(XmlString.Factory.newValue(my_var));