deserialization of a multiRef that contains an href to another multiRef (in
fault processing)
---------------------------------------------------------------------------------------------
Key: AXIS-2603
URL: http://issues.apache.org/jira/browse/AXIS-2603
Project: Apache Axis
Issue Type: Bug
Components: Serialization/Deserialization
Affects Versions: 1.4
Environment: SunOS zeus 5.9 Generic_117172-07 i86pc i386 i86pc, Axis
1.2RC2 or Axis1.4
Reporter: Dave Scoda
This issue may be related to # 2433.
Attempting to deserialize a fault response message fails when the response
contains a multiRef that contains an href to a nested multiRef.
Part of the stack trace, from Axis1.4 is:
AxisFault faultCode:
{http://schemas.xmlsoap.org/soap/envelope/}Server.userException
faultSubcode:
faultString: org.xml.sax.SAXException: Invalid element in
com.ssi_corp.ws.axis.sonus_psx.model.ManagedEntityKey - key
faultActor:
faultNode:
faultDetail:
{http://xml.apache.org/axis/}stackTrace:org.xml.sax.SAXException:
Invalid element in com.ssi_corp.ws.axis.sonus_psx.model.ManagedEntityKey - key
at org.apache.axis.encoding.ser.BeanDeserializer.onStartChild(BeanDeseri
alizer.java:258)
at org.apache.axis.encoding.DeserializationContext.startElement(Deserial
izationContext.java:1035)
at org.apache.xerces.parsers.AbstractSAXParser.startElement(Unknown
Source)
at org.apache.xerces.parsers.AbstractXMLDocumentParser.emptyElement(Unkn
own Source)
The input message is included below, the failure occurrs at line:
<key href="#id3"/>
I built a test copy of Axis1.4 with additional logging. A new BeanDeserializer
is created at the line:
<multiRef id="id0" soapenc:root="0" soapenv:encodingStyle="http://schemas.xmls
A second new BeanDeserializer is created at the failure line:
<key href="#id3"/>
Any pointers as to what to look for, or additional debug logging would be
greatly appreciated.
I can email gzipped copies of the full log files if they are needed.
My email is [EMAIL PROTECTED] or [EMAIL PROTECTED]
Thanks in advance.
The full input message:
<?xml version="1.0" encoding="UTF-8"?>
<soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/" xmln
s:xsd="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSc
hema-instance">
<soapenv:Body>
<soapenv:Fault>
<faultcode>soapenv:Server.generalException</faultcode>
<faultstring></faultstring>
<detail>
<ns1:fault href="#id0"
xmlns:ns1="http://www.sonusnet.com/ems/emsapi/psx/r05_01_04/intf"/>
<ns2:exceptionName xmlns:ns2="http://xml.apache.org/axis/">com.sonus.ems.api
.psx.r05_01_04.model.ProvApiBatchException</ns2:exceptionName>
</detail>
</soapenv:Fault>
<multiRef id="id0" soapenc:root="0" soapenv:encodingStyle="http://schemas.xmls
oap.org/soap/encoding/" xsi:type="ns3:ProvApiBatchException" xmlns:soapenc="http
://schemas.xmlsoap.org/soap/encoding/"
xmlns:ns3="http://www.sonusnet.com/ems/emsapi/psx/r05_01_04/model">
<errorCode xsi:type="xsd:string">ERR_DB_OPR_FAIL</errorCode>
<message xsi:type="xsd:string">Failed to 'Create' entity.</message>
<rootCause xsi:type="xsd:string" xsi:nil="true"/>
<allErrors href="#id1"/>
<allSuccesses href="#id2"/>
</multiRef>
<multiRef id="id1" soapenc:root="0" soapenv:encodingStyle="http://schemas.xmls
oap.org/soap/encoding/" xsi:type="ns4:ErrorEntity" xmlns:ns4="http://www.sonusne
t.com/ems/emsapi/psx/r05_01_04/model"
xmlns:soapenc="http://schemas.xmlsoap.org/soap/encoding/">
<key href="#id3"/>
<exception href="#id4"/>
</multiRef>
<multiRef id="id2" soapenc:root="0" soapenv:encodingStyle="http://schemas.xmls
oap.org/soap/encoding/" xsi:type="ns5:RoutingLabelKey" xmlns:ns5="http://www.son
usnet.com/ems/emsapi/psx/r05_01_04/model"
xmlns:soapenc="http://schemas.xmlsoap.org/soap/encoding/">
<routingLabelId xsi:type="xsd:string">SSI_VFY_88exp</routingLabelId>
</multiRef>
<multiRef id="id4" soapenc:root="0" soapenv:encodingStyle="http://schemas.xmls
oap.org/soap/encoding/" xsi:type="ns6:ProvApiException" xmlns:ns6="http://www.so
nusnet.com/ems/emsapi/psx/r05_01_04/model"
xmlns:soapenc="http://schemas.xmlsoap.org/soap/encoding/">
<errorCode xsi:type="xsd:string">ERR_DB_OPR_FAIL</errorCode>
<message xsi:type="xsd:string">Failed to 'Create' entity.</message>
<rootCause xsi:type="xsd:string">(ERR_DB_OPR_FAIL) [DataDirect][ODBC 20101 dr
iver][20101]ORA-20041: Invalid ROUTING_LABEL_ID GPHX0_b88
ORA-06512: at "DBIMPL.ROUTING_LABEL_ROUTES_BUI", line 12
ORA-04088: error during execution of trigger 'DBIMPL.ROUTI
(rc=17)</rootCause>
</multiRef>
<multiRef id="id3" soapenc:root="0" soapenv:encodingStyle="http://schemas.xmls
oap.org/soap/encoding/" xsi:type="ns7:RoutingLabelRoutesKey" xmlns:ns7="http://w
ww.sonusnet.com/ems/emsapi/psx/r05_01_04/model" xmlns:soapenc="http://schemas.xm
lsoap.org/soap/encoding/">
<routingLabelId xsi:type="xsd:string">SSI_VFY_88exp</routingLabelId>
<routeSequence xsi:type="soapenc:short">0</routeSequence>
</multiRef>
</soapenv:Body>
</soapenv:Envelope>
A more complete log and stack trace is:
6803 [Thread-20] DEBUG org.apache.axis.message.BodyBuilder - Enter: BodyBuilder
::onStartChild()
6803 [Thread-20] DEBUG org.apache.axis.i18n.ProjectResourceBundle - org.apache.
axis.i18n.resource::handleGetObject(newElem00)
6803 [Thread-20] DEBUG org.apache.axis.message.MessageElement - New MessageElem
ent ([EMAIL PROTECTED]) named {}multiRef
6803 [Thread-20] DEBUG org.apache.axis.message.MessageElement - id = 'id1'
6803 [Thread-20] DEBUG org.apache.axis.message.MessageElement - soapenc:root
= '0'
6803 [Thread-20] DEBUG org.apache.axis.message.MessageElement - soapenv:encod
ingStyle = 'http://schemas.xmlsoap.org/soap/encoding/'
6803 [Thread-20] DEBUG org.apache.axis.message.MessageElement - xsi:type = 'n
s4:ErrorEntity'
6803 [Thread-20] DEBUG org.apache.axis.message.BodyBuilder - Exit: BodyBuilder:
:onStartChild()
6803 [Thread-20] DEBUG org.apache.axis.i18n.ProjectResourceBundle - org.apache.
axis.i18n.resource::handleGetObject(pushHandler00)
6803 [Thread-20] DEBUG org.apache.axis.encoding.DeserializationContext - Pushin
g handler [EMAIL PROTECTED]
6803 [Thread-20] DEBUG org.apache.axis.encoding.DeserializationContext - Pushin
g element multiRef
6804 [Thread-20] DEBUG org.apache.axis.i18n.ProjectResourceBundle - org.apache.
axis.i18n.resource::handleGetObject(deserInitPutValueDebug00)
6804 [Thread-20] DEBUG org.apache.axis.encoding.DeserializerImpl - Initial put
of deserialized value= null for id= id1
6804 [Thread-20] DEBUG org.apache.axis.i18n.ProjectResourceBundle - org.apache.
axis.i18n.resource::handleGetObject(gotType00)
6804 [Thread-20] DEBUG org.apache.axis.encoding.DeserializerImpl - Deser got ty
pe {http://www.sonusnet.com/ems/emsapi/psx/r05_01_04/model}ErrorEntity
6804 [Thread-20] DEBUG org.apache.axis.i18n.ProjectResourceBundle - org.apache.
axis.i18n.resource::handleGetObject(deserInitPutValueDebug00)
6804 [Thread-20] DEBUG org.apache.axis.encoding.DeserializerImpl - Initial put
of deserialized value= [EMAIL PROTECTED] f
or id= id1
6804 [Thread-20] DEBUG org.apache.axis.encoding.DeserializationContext - Exit:
DeserializationContext::startElement()
6804 [Thread-20] DEBUG org.apache.axis.encoding.DeserializationContext - Enter:
DeserializationContext::startElement(, key)
6805 [Thread-20] DEBUG org.apache.axis.i18n.ProjectResourceBundle - org.apache.
axis.i18n.resource::handleGetObject(badElem00)
6807 [Thread-20] DEBUG org.apache.axis.transport.http.HTTPSender - org.xml.sax.
SAXException: Invalid element in com.ssi_corp.ws.axis.sonus_psx.model.ManagedEnt
ityKey - key
6808 [Thread-20] DEBUG org.apache.axis.SOAPPart - Enter: SOAPPart ctor(FORM_FAU
LT)
6808 [Thread-20] DEBUG org.apache.axis.i18n.ProjectResourceBundle - org.apache.
axis.i18n.resource::handleGetObject(setMsgForm)
6808 [Thread-20] DEBUG org.apache.axis.SOAPPart - Setting current message form
to: FORM_FAULT (currentMessage is now org.apache.axis.AxisFault)
6808 [Thread-20] DEBUG org.apache.axis.SOAPPart - Exit: SOAPPart ctor()
6808 [Thread-20] DEBUG org.apache.axis.i18n.ProjectResourceBundle - org.apache.
axis.i18n.resource::handleGetObject(toAxisFault00)
6808 [Thread-20] DEBUG org.apache.axis.enterprise - Mapping Exception to AxisFa
ult
6811 [Thread-20] DEBUG org.apache.axis.utils.NSStack - NSPush (32)
6813 [Thread-20] DEBUG org.apache.axis.i18n.ProjectResourceBundle - org.apache.
axis.i18n.resource::handleGetObject(empty00)
6813 [Thread-20] DEBUG org.apache.axis.utils.NSStack - NSPop (empty)
6813 [Thread-20] DEBUG org.apache.axis.utils.NSStack - NSPush (32)
6818 [Thread-20] DEBUG org.apache.axis.i18n.ProjectResourceBundle - org.apache.
axis.i18n.resource::handleGetObject(empty00)
6818 [Thread-20] DEBUG org.apache.axis.utils.NSStack - NSPop (empty)
AxisFault
faultCode: {http://schemas.xmlsoap.org/soap/envelope/}Server.userException
faultSubcode:
faultString: org.xml.sax.SAXException: Invalid element in com.ssi_corp.ws.axis.
sonus_psx.model.ManagedEntityKey - key
faultActor:
faultNode:
faultDetail:
{http://xml.apache.org/axis/}stackTrace:org.xml.sax.SAXException: Invali
d element in com.ssi_corp.ws.axis.sonus_psx.model.ManagedEntityKey - key
at org.apache.axis.encoding.ser.BeanDeserializer.onStartChild(BeanDeseri
alizer.java:258)
at org.apache.axis.encoding.DeserializationContext.startElement(Deserial
izationContext.java:1035)
at org.apache.xerces.parsers.AbstractSAXParser.startElement(Unknown Sour
ce)
at org.apache.xerces.parsers.AbstractXMLDocumentParser.emptyElement(Unkn
own Source)
at org.apache.xerces.impl.XMLNamespaceBinder.handleStartElement(Unknown
Source)
at org.apache.xerces.impl.XMLNamespaceBinder.emptyElement(Unknown Source
)
at org.apache.xerces.impl.dtd.XMLDTDValidator.emptyElement(Unknown Sourc
e)
at org.apache.xerces.impl.XMLDocumentFragmentScannerImpl.scanStartElemen
t(Unknown Source)
at org.apache.xerces.impl.XMLDocumentFragmentScannerImpl$FragmentContent
Dispatcher.dispatch(Unknown Source)
at org.apache.xerces.impl.XMLDocumentFragmentScannerImpl.scanDocument(Un
known Source)
at org.apache.xerces.parsers.DTDConfiguration.parse(Unknown Source)
at org.apache.xerces.parsers.DTDConfiguration.parse(Unknown Source)
at org.apache.xerces.parsers.XMLParser.parse(Unknown Source)
at org.apache.xerces.parsers.AbstractSAXParser.parse(Unknown Source)
at javax.xml.parsers.SAXParser.parse(SAXParser.java:375)
at org.apache.axis.encoding.DeserializationContext.parse(Deserialization
Context.java:227)
at org.apache.axis.SOAPPart.getAsSOAPEnvelope(SOAPPart.java:696)
at org.apache.axis.Message.getSOAPEnvelope(Message.java:435)
at org.apache.axis.transport.http.HTTPSender.readFromSocket(HTTPSender.j
ava:796)
at org.apache.axis.transport.http.HTTPSender.invoke(HTTPSender.java:144)
at org.apache.axis.strategies.InvocationStrategy.visit(InvocationStrateg
y.java:32)
--
This message is automatically generated by JIRA.
-
If you think it was sent incorrectly contact one of the administrators:
http://issues.apache.org/jira/secure/Administrators.jspa
-
For more information on JIRA, see: http://www.atlassian.com/software/jira
---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]