java xmlrpc格式错误的输出

java xmlrpc格式错误的输出,java,xml,rpc,malformed,Java,Xml,Rpc,Malformed,正如你在下面看到的。对于字符串中的所有值,输出为{val}而不是EXT 这是我的输出 <?xml version="1.0" encoding="UTF-8"?> <methodCall> <methodName>GetBalanceAndDate</methodName> <params> <param> <value> &

正如你在下面看到的。对于字符串中的所有值,输出为{val}而不是EXT

这是我的输出

<?xml version="1.0" encoding="UTF-8"?>
<methodCall>
    <methodName>GetBalanceAndDate</methodName>
    <params>
        <param>
            <value>
                <struct>
                    <member>
                        <name>subscriberNumberNAI</name>
                        <value>
                            <i4>2</i4>
                        </value>
                    </member>
                    <member>
                        <name>hostName</name>
                        <value>EXT</value>
                    </member>
                    <member>
                        <name>subscriberNumber</name>
                        <value>278980890</value>
                    </member>
                        <name>originTimeStamp</name>
                        <value>
                            <dateTime.iso8601>20150912T08:50:04</dateTime.iso8601>
                        </value>
                    </member>
                    <member>
                        <name>externalData1</name>
                        <value>EXEMPLE</value>
                    </member>
                </struct>
            </value>
        </param>
    </params>
</methodCall>
根据,字符串可以是

<string>Hello world!</string>
标记是可选的

Apache XML-RPC is sending strings as <value>SomeString</value>.
Whereas I would expect <value><string>SomeString</string></value>.
}


然后你必须安装定制的工厂。这与“自定义数据类型”一节中所述的一样:

您使用什么库?我已经格式化了输出,使其可读,并且它显示在originTimeStamp之前缺少a。同样,在任何地方都看不到{val},那么你的问题又是什么呢?嗨,Jacek,我使用org apache xmlrpc libraryAndreas,我的意思是例如example而不是example我更改了我的xmlrpc库,现在一切正常。谢谢大家的宝贵支持
Apache XML-RPC is sending strings as <value>SomeString</value>.
Whereas I would expect <value><string>SomeString</string></value>.
package mypackage;

import org.apache.xmlrpc.common.TypeFactoryImpl;
import org.apache.xmlrpc.common.XmlRpcController;
import org.apache.xmlrpc.common.XmlRpcStreamConfig;
import org.xml.sax.ContentHandler;
import org.xml.sax.SAXException;

public class MyTypeFactory extends TypeFactoryImpl {
    private static final TypeSerializer myStringSerializer = new StringSerializer(){
        public void write(ContentHandler pHandler, Object pObject) throws SAXException {
            write(pHandler, STRING_TAG, pObject.toString());
        }
    };

    public MyTypeFactory(XmlRpcController pController) {
        super(pController);
    }

    public TypeSerializer getSerializer(XmlRpcStreamConfig pConfig,
            Object pObject) throws SAXException {
        if (pObject instanceof String) {
            return myStringSerializer;
        }
        return super.getSerializer(pConfig, pObject);
    }