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]