Я разрабатываю связь с указанными c веб-службами.
При взаимодействии с веб-службой возникает следующая ошибка.
17:09:54.220 [http-bio-40443-exec-10] ERROR org.apache.axis.client.Call - Exception:
org.xml.sax.SAXException: Invalid element in x.tager.ws.PollResponse - PollResult
at org.apache.axis.encoding.ser.BeanDeserializer.onStartChild(BeanDeserializer.java:258) ~[axis-axis-1.4.jar:?]
at org.apache.axis.encoding.DeserializationContext.startElement(DeserializationContext.java:1035) ~[axis-axis-1.4.jar:?]
at org.apache.axis.message.SAX2EventRecorder.replay(SAX2EventRecorder.java:165) ~[axis-axis-1.4.jar:?]
at org.apache.axis.message.MessageElement.publishToHandler(MessageElement.java:1141) ~[axis-axis-1.4.jar:?]
at org.apache.axis.message.RPCElement.deserialize(RPCElement.java:236) ~[axis-axis-1.4.jar:?]
at org.apache.axis.message.RPCElement.getParams(RPCElement.java:384) ~[axis-axis-1.4.jar:?]
at org.apache.axis.client.Call.invoke(Call.java:2467) [axis-axis-1.4.jar:?]
at org.apache.axis.client.Call.invoke(Call.java:2366) [axis-axis-1.4.jar:?]
at org.apache.axis.client.Call.invoke(Call.java:1812) [axis-axis-1.4.jar:?]
Причина проблемы была определена как результат кода ниже.
org.apache.axis.client.Call
/** Invoke an RPC service with a pre-constructed RPCElement.
*
* Note: Not part of JAX-RPC specification.
*
* @param body an RPCElement containing all the information about
* this call.
* @return a deserialized Java Object containing the return value
* @exception AxisFault
*/
public Object invoke( RPCElement body ) throws AxisFault {
...
if (bodyEl instanceof RPCElement) {
try {
resArgs = ((RPCElement) bodyEl).getParams(); //exception
} catch (Exception e) {
log.error(Messages.getMessage("exception00"), e); //log
throw AxisFault.makeFault(e);
}
В приведенном выше коде bodyEl имеет ответ XML, который я хочу. Другими словами, проблем со связью не было.
"name - parent , Value - SOAPBody" of the elements of "(RPCElement) bodyEl"
There is an xml response result I want in .
Но (RPCElement) bodyEl. The value of getParams() is []
и возникает ошибка.
Как это исправить?