java xmlrpc格式错误的输出
正如你在下面看到的。对于字符串中的所有值,输出为{val}而不是EXT 这是我的输出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> &
<?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);
}