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 &apos;Create&apos; 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 &apos;Create&apos; 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 &quot;DBIMPL.ROUTING_LABEL_ROUTES_BUI&quot;, line 12
ORA-04088: error during execution of trigger &apos;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]

Reply via email to