[prev in list] [next in list] [prev in thread] [next in thread]
List: kandula-dev
Subject: [jira] [Created] (RAMPART-429) Invoking org.apache.rahas.Token.writeExternal(ObjectOutput) breaks to
From: "Sundeep Garla (JIRA)" <jira () apache ! org>
Date: 2015-09-24 5:03:04
Message-ID: JIRA.12896003.1443070966000.59056.1443070984367 () Atlassian ! JIRA
[Download RAW message or body]
Sundeep Garla created RAMPART-429:
-------------------------------------
Summary: Invoking org.apache.rahas.Token.writeExternal(ObjectOutput) \
breaks token insertion when connecting to the serivce Key: RAMPART-429
URL: https://issues.apache.org/jira/browse/RAMPART-429
Project: Rampart
Issue Type: Bug
Components: rampart-trust
Affects Versions: 1.6.2
Reporter: Sundeep Garla
Fix For: 1.6.2
Hello,
In our usecase we serialize the Rampart token into secure storage using \
org.apache.rahas.Token.writeExternal(ObjectOutput out) before rampart handler \
executes to inject the SAML assertion into security header. Once serialized, It \
breaks with the following exception: {code:title=Error when inserting assertion into \
security header} java.util.NoSuchElementException: End of the document reached
at org.apache.axiom.om.impl.llom.SwitchingWrapper.next(SwitchingWrapper.java:987)
at javax.xml.stream.util.StreamReaderDelegate.next(StreamReaderDelegate.java:88)
at org.apache.axiom.om.impl.builder.StAXOMBuilder.parserNext(StAXOMBuilder.java:668)
at org.apache.axiom.om.impl.builder.StAXOMBuilder.next(StAXOMBuilder.java:214)
at org.apache.axiom.om.impl.dom.ParentNode.buildNext(ParentNode.java:89)
at org.apache.axiom.om.impl.dom.ChildNode.getNextOMSibling(ChildNode.java:103)
at org.apache.axiom.om.impl.dom.ChildNode.getNextSibling(ChildNode.java:113)
at org.apache.axiom.om.impl.dom.DocumentImpl.importNode(DocumentImpl.java:403)
at org.apache.rampart.util.RampartUtil.appendChildToSecHeader(RampartUtil.java:826)
at org.apache.rampart.util.RampartUtil.insertSiblingAfter(RampartUtil.java:834)
at org.apache.rampart.builder.BindingBuilder.handleSupportingTokens(BindingBuilder.java:380)
at org.apache.rampart.builder.TransportBindingBuilder.build(TransportBindingBuilder.java:148)
at org.apache.rampart.MessageBuilder.build(MessageBuilder.java:140)
at org.apache.rampart.handler.RampartSender.invoke(RampartSender.java:65)
at org.apache.axis2.engine.Phase.invokeHandler(Phase.java:340)
at org.apache.axis2.engine.Phase.invoke(Phase.java:313)
at org.apache.axis2.engine.AxisEngine.invoke(AxisEngine.java:262)
at org.apache.axis2.engine.AxisEngine.send(AxisEngine.java:427)
at org.apache.axis2.description.OutInAxisOperationClient.send(OutInAxisOperation.java:406)
at org.apache.axis2.description.OutInAxisOperationClient.executeImpl(OutInAxisOperation.java:229)
at org.apache.axis2.client.OperationClient.execute(OperationClient.java:165)
at org.apache.axis2.client.ServiceClient.sendReceive(ServiceClient.java:555)
at org.apache.axis2.client.ServiceClient.sendReceive(ServiceClient.java:531)
{code}
The above error reported in JIRA's:
# https://issues.apache.org/jira/browse/AXIOM-439
# https://issues.apache.org/jira/browse/RAMPART-392
This is because of method:
{code:title=org.apache.rahas.Token.java|borderStyle=solid}
private String convertOMElementToString(OMElement element)
throws IOException {
String serializedToken = "";
if (null == element) {
return serializedToken;
}
try {
serializedToken = element.toStringWithConsume();
} catch (XMLStreamException e) {
throw new IOException("Could not serialize token OM element");
}
return serializedToken;
}
{code}
Invoking toStringWithConsume() causes the errors when RampartHandler tries to access \
the object model to insert <Assertion> into security header.
I have patched the above code to invoke OMElement.toString() instead of \
toStringWithConsume() modified source as below:
{code:title=org.apache.rahas.Token.java|borderStyle=solid}
private String convertOMElementToString(OMElement element)
throws IOException {
String serializedToken = "";
if (null == element) {
return serializedToken;
}
serializedToken = element.toString();
return serializedToken;
}
{code}
--
This message was sent by Atlassian JIRA
(v6.3.4#6332)
---------------------------------------------------------------------
To unsubscribe, e-mail: java-dev-unsubscribe@axis.apache.org
For additional commands, e-mail: java-dev-help@axis.apache.org
[prev in list] [next in list] [prev in thread] [next in thread]
Configure |
About |
News |
Add a list |
Sponsored by KoreLogic