Details
-
Type:
Bug
-
Status:
Open
-
Priority:
Major
-
Resolution: Unresolved
-
Labels:None
-
Environment:WindowsXP, Oracle OC4J 1.0.1.3
-
Number of attachments :
Description
I created shared-library in oc4j, which include the following files:
stax2.jar
stax-api-1.0.jar
wstx-asl-2.0.5.jar
Then I run Nexus application on the server and see XMLStreamException is shown in the following stack:
SimpleNsStreamWriter.writeStartOrEmpty(String, String) line: 240
SimpleNsStreamWriter(BaseNsStreamWriter).writeStartElement(String, String) line: 271
XmlWriterFormatter.writeStartElement(String, String) line: 74
(XmlWriterFormatter is a class that implements XMLStreamWriter)
From the debugger and java decompiler, I can see the exception is due to fact that mCurrElem.getPrefix returns null in
protected void writeStartOrEmpty(String localName, String nsURI)
throws XMLStreamException
I also tried the curent version (2.9.1), and the issue is the same.
Please see the varible values captured in the debugger:
SimpleNsStreamWriter this= SimpleNsStreamWriter (id=1195)
int ATTRIBUTE= 10
int CDATA= 12
int CFG_AUTOMATIC_EMPTY_ELEMS= 4
int CFG_AUTOMATIC_NS= 2
int CFG_COPY_DEFAULT_ATTRS= 16
int CFG_ENABLE_NS= 1
int CFG_FIX_CONTENT= 512
int CFG_OUTPUT_CDATA_AS_TEXT= 8
int CFG_VALIDATE_ATTR= 256
int CFG_VALIDATE_CONTENT= 64
int CFG_VALIDATE_NAMES= 128
int CFG_VALIDATE_STRUCTURE= 32
char CHAR_SPACE=
int CHARACTERS= 4
int COMMENT= 5
char DEFAULT_QUOTE_CHAR= "
int DTD= 11
int END_DOCUMENT= 8
int END_ELEMENT= 2
int ENTITY_DECLARATION= 15
int ENTITY_REFERENCE= 9
String ERR_NSDECL_WRONG_STATE= "Trying to write a namespace declaration when there is no open start element."
int NAMESPACE= 13
String NO_NS_URI= ""
String NO_PREFIX= null
int NOTATION_DECLARATION= 14
int PROCESSING_INSTRUCTION= 3
int SPACE= 6
String sPrefixXml= "xml"
String sPrefixXmlns= "xmlns"
int START_DOCUMENT= 7
int START_ELEMENT= 1
int STATE_EPILOG= 3
int STATE_PROLOG= 1
int STATE_TREE= 2
boolean mAnyOutput= true
AttributeCollector mAttrCollector= null
Writer mAttrValueWriter= null
boolean mAutomaticNS= false
boolean mCfgAutomaticEmptyElems= true
boolean mCfgCDataAsText= false
boolean mCfgCopyDefaultAttrs= false
boolean mCheckAttrs= false
boolean mCheckContent= false
boolean mCheckNames= false
boolean mCheckStructure= true
WriterConfig mConfig= WriterConfig (id=1210)
SimpleOutputElement mCurrElem= SimpleOutputElement (id=1212)
int PREFIX_MISBOUND= 2
int PREFIX_OK= 1
int PREFIX_UNBOUND= 0
String sXmlNsPrefix= "xml"
String sXmlNsURI= "http://www.w3.org/XML/1998/namespace"
HashMap<K,V> mAttrMap= null
boolean mDefaultNsSet= false
String mDefaultNsURI= ""
String mLocalName= "object"
<unknown type> mNsMapping= null
boolean mNsMapShared= false
SimpleOutputElement mParent= SimpleOutputElement (id=1242)
int PREFIX_MISBOUND= 2
int PREFIX_OK= 1
int PREFIX_UNBOUND= 0
String sXmlNsPrefix= "xml"
String sXmlNsURI= "http://www.w3.org/XML/1998/namespace"
HashMap<K,V> mAttrMap= null
boolean mDefaultNsSet= false
String mDefaultNsURI= ""
String mLocalName= "getObjectReply"
<unknown type> mNsMapping= null
boolean mNsMapShared= false
SimpleOutputElement mParent= SimpleOutputElement (id=1247)
String mPrefix= "s1"
NamespaceContext mRootNsContext= null
String mURI= "urn:siebel:nexus:repos:runtime"
String mPrefix= "s34"
NamespaceContext mRootNsContext= null
String mURI= "urn:siebel:nexus:repos:runtime"
String mDtdRootElem= null
boolean mEmptyElement= false
String mEncoding= "UTF-8"
boolean mFixContent= true
InputElementStack mInputElemStack= null
XMLStreamReader2 mLastReader= null
StreamReaderImpl mLastReaderImpl= null
boolean mNsAware= true
NamespaceContext mRootNsContext= null
boolean mStartElementOpen= false
int mState= 2
Writer mTextWriter= UTFTextWriter (id=1215)
<unknown type> mValidator= null
int mVldContent= 3
Writer mWriter= OutputStreamWriter (id=1221)
boolean mXml11= false
String localName= "busComp"
String nsURI= "urn:siebel:nexus:om:metadata:types:buscomp"
String prefix= null
This file has nicer format.