我必须编写一个符合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));

08-16 08:53