No luck. Now I don't get any exception (after fixing a npe) but the
signature verification still fails.

I had to apply this tiny patch to get to the stage of signature verification
failing. All long
it has been exceptions!. Not sure whether the patch is the right one.I would
appreciate if you could verify the xml file that I sent earlier at your end.
Or if you have any tools/utilities to verify a standlone xml message.




--- org/apache/axiom/om/impl/dom/ElementImpl.java.orig  2006-09-19 09:55:
31.445213500 -0400
+++ org/apache/axiom/om/impl/dom/ElementImpl.java       2006-09-19 09:32:
13.461364400 -0400
@@ -361,8 +361,9 @@

        if (namespaceURI == OMConstants.XMLNS_NS_URI) {
            OMNamespace ns = this.findNamespaceURI(localName);
-            AttrImpl namespaceAttr = new AttrImpl(this.ownerNode,
localName, ns
-                    .getNamespaceURI(), this.factory);
+            String nsuri = ns != null ? ns.getNamespaceURI() : "";
+            AttrImpl namespaceAttr = new AttrImpl(this.ownerNode,
localName, nsuri,
+                    this.factory);
            NamespaceImpl xmlNs = new NamespaceImpl(
OMConstants.XMLNS_NS_URI);
            namespaceAttr.setOMNamespace(xmlNs);
            return namespaceAttr;


On 9/18/06, Ruchith Fernando <[EMAIL PROTECTED]> wrote:

Hi,

This is a Bug in DOOM. Thanks for reporting it.
I just fixed it in the latest svn - revision - 447543.

Please try it out.

Thanks,
Ruchith

On 9/18/06, [EMAIL PROTECTED] <[EMAIL PROTECTED]> wrote:
> I updated from subversion today( 20060918 10AM EST). The
> NullPointerException is gone but a new exception
> UnsupportedOperationException is being thrown.
>
> A basic question. Does axiom+wss4j support blank URI's? Using
> XPath? The xml message that fails actually uses blank URIs and XPath to
> refer to the subset that is signed. Here is the stack trace.
>
> Thread [http-8888-Processor25] (Suspended (exception
> UnsupportedOperationException))
>     SOAPMessageImpl(DocumentImpl).getNextSibling() line: 111
>     XMLUtils.circumventBug2650internal(Node) line: 490
>     XMLUtils.circumventBug2650(Document) line: 436
>
>
Canonicalizer20010315ExclOmitComments(CanonicalizerBase).engineCanonicalize(XMLSignatureInput)
> line: 150
>
>
Canonicalizer20010315ExclOmitComments(Canonicalizer20010315Excl).engineCanonicalize(XMLSignatureInput,
> String) line: 115
>     TransformC14NExclusive.enginePerformTransform(XMLSignatureInput,
> OutputStream) line: 93
>     Transform.performTransform(XMLSignatureInput, OutputStream) line:
340
>
>     Transforms.performTransforms(XMLSignatureInput, OutputStream) line:
> 237
>     Reference.getContentsAfterTransformation(XMLSignatureInput,
> OutputStream) line: 433
>     Reference.dereferenceURIandPerformTransforms(OutputStream) line: 603
>     Reference.calculateDigest() line: 688
>     Reference.verify() line: 736
>     SignedInfo(Manifest).verifyReferences(boolean) line: 317
>     SignedInfo.verify(boolean) line: 224
>     XMLSignature.checkSignatureValue(Key) line: 590
>     XMLSignature.checkSignatureValue(X509Certificate) line: 557
>     SignatureProcessor.verifyXMLSignature(Element, Crypto,
> X509Certificate[], Set, byte[][]) line: 264
>     SignatureProcessor.handleToken(Element, Crypto, Crypto,
CallbackHandler,
> WSDocInfo, Vector, WSSConfig) line: 79
>     WSSecurityEngine.processSecurityHeader(Element, CallbackHandler,
Crypto,
> Crypto) line: 269
>     WSSecurityEngine.processSecurityHeader(Document, String,
> CallbackHandler, Crypto, Crypto) line: 191
>     WSDoAllReceiver.processMessage(MessageContext) line: 180
>     WSDoAllReceiver(WSDoAllHandler).invoke(MessageContext) line: 82
>     Phase.invoke(MessageContext) line: 381
>     AxisEngine.invoke(MessageContext) line: 473
>     AxisEngine.receive(MessageContext) line: 445
>     OutInAxisOperationClient.send(MessageContext) line: 355
>     OutInAxisOperationClient.execute(boolean) line: 279
>     CustomerInformationServiceStub.isAliveRequest
(IsAliveRequestDocument)
> line: 317
>     CustomerInformationClient.queryIsAlive() line: 66
>     IsAliveRequestAction.processRequest(HttpServletRequest,
> HttpServletResponse) line: 42
>     IsAliveRequestAction(SimpleAction).executeAction(ActionConfigExt,
> ActionForm, HttpServletRequest, HttpServletResponse) line: 185
>
>
IsAliveRequestAction(AbstractRequestAction).executeAction(ActionConfigExt,
> ActionForm, HttpServletRequest, HttpServletResponse) line: 162
>     IsAliveRequestAction(SimpleAction).execute(ActionMapping,
ActionForm,
> HttpServletRequest, HttpServletResponse) line: 123
>
>
RequestProcessorExt(RequestProcessor).processActionPerform(HttpServletRequest,
> HttpServletResponse, Action, ActionForm, ActionMapping) line: 484
>     RequestProcessorExt(RequestProcessor).process(HttpServletRequest,
> HttpServletResponse) line: 274
>     RequestProcessorExt.process(HttpServletRequest, HttpServletResponse)
> line: 126
>     ActionServletExt(ActionServlet).process(HttpServletRequest,
> HttpServletResponse) line: 1482
>     ActionServletExt.process(HttpServletRequest, HttpServletResponse)
line:
> 111
>     ActionServletExt(ActionServlet).doGet(HttpServletRequest,
> HttpServletResponse) line: 507
>     ActionServletExt(HttpServlet).service(HttpServletRequest,
> HttpServletResponse) line: 697
>     ActionServletExt(HttpServlet).service(ServletRequest,
ServletResponse)
> line: 810
>     ApplicationFilterChain.internalDoFilter(ServletRequest,
ServletResponse)
> line: 237
>     ApplicationFilterChain.doFilter(ServletRequest, ServletResponse)
line:
> 157
>     StandardWrapperValve.invoke(Request, Response, ValveContext) line:
> 214
>     StandardValveContext.invokeNext(Request, Response) line: 104
>     StandardPipeline.invoke(Request, Response) line: 520
>     StandardContextValve.invokeInternal(Wrapper, Request, Response)
line:
> 198
>     StandardContextValve.invoke(Request, Response, ValveContext) line:
> 152
>     StandardValveContext.invokeNext(Request, Response) line: 104
>     StandardPipeline.invoke(Request, Response) line: 520
>     StandardHostValve.invoke(Request, Response, ValveContext) line: 137
>     StandardValveContext.invokeNext(Request, Response) line: 104
>     ErrorReportValve.invoke(Request, Response, ValveContext) line: 118
>     StandardValveContext.invokeNext(Request, Response) line: 102
>     StandardPipeline.invoke(Request, Response) line: 520
>     StandardEngineValve.invoke(Request, Response, ValveContext) line:
109
>
>     StandardValveContext.invokeNext(Request, Response) line: 104
>     StandardPipeline.invoke(Request, Response) line: 520
>     StandardEngine(ContainerBase).invoke(Request, Response) line: 929
>     CoyoteAdapter.service(Request, Response) line: 160
>     Http11Processor.process(InputStream, OutputStream) line: 799
>
Http11Protocol$Http11ConnectionHandler.processConnection(TcpConnection,
> Object[]) line: 705
>     TcpWorkerThread.runIt(Object[]) line: 577
>     ThreadPool$ControlRunnable.run() line: 684
>     ThreadWithAttributes(Thread).run() line: 534
>
>
>
>
>
>
> On 9/18/06, Ruchith Fernando <[EMAIL PROTECTED]> wrote:
> >
> > Hi Aravind,
> >
> > I just checked the latest axiom-dom impl code and there is a null
> > check in line #353 in ElementImpl. Therefore IMHO this exception is
> > not possible. Are you sure you are using the latest axiom-*-SNAPSHOT
> > jars?
> >
> > Thanks,
> > Ruchith
> >
> > On 9/14/06, [EMAIL PROTECTED] <[EMAIL PROTECTED]> wrote:
> > > I upgraded to stax-1.0.1 and wstx-asl-3.0.0.jar as you said. And I
get a
> > > NullPointerException. Here is the stack trace. I have also attached
the
> > xml
> > > message.
> > > In the soap message that causes the problem,I have commented out the
> > private
> > >  information as confidential. I hope that doesn't cause a problem
for
> > you as
> > > it is outside
> > > the signed part. The odd thing is the URI is blank and the message
uses
> > > XPath to refer to the part that is signed. I am not sure how good is
the
> > > support for XPath in xmlsecurity library suite.
> > >
> > >  Any help will be greatly appreciated. Thanks in advance.
> > >
> > >  Aravind
> > >
> > > >
> > >
> >
-------------------------------------------------------------------------------------
> > > >
> > > > SOAPEnvelopeImpl(ElementImpl).getAttributeNodeNS(String,
> > > String) line: 353
> > > > XMLUtils.circumventBug2650(Document) line: 429
> > > >
> > >
> >
Canonicalizer20010315ExclOmitComments(CanonicalizerBase).engineCanonicalize(XMLSignatureInput)
> > > line: 150
> > > >
> > >
> >
Canonicalizer20010315ExclOmitComments(Canonicalizer20010315Excl).engineCanonicalize(XMLSignatureInput,
> > > String) line: 115
> > > >
> > > TransformC14NExclusive.enginePerformTransform(XMLSignatureInput,
> > > OutputStream) line: 93
> > > > Transform.performTransform(XMLSignatureInput, OutputStream) line:
340
> > > > Transforms.performTransforms(XMLSignatureInput, OutputStream)
line:
> > 237
> > > >
> > > Reference.getContentsAfterTransformation(XMLSignatureInput,
> > > OutputStream) line: 433
> > > >
> > > Reference.dereferenceURIandPerformTransforms(OutputStream)
> > > line: 603
> > > > Reference.calculateDigest() line: 688
> > > > Reference.verify() line: 736
> > > > SignedInfo(Manifest).verifyReferences(boolean) line: 317
> > >
> > > > SignedInfo.verify(boolean) line: 224
> > > > XMLSignature.checkSignatureValue(Key) line: 590
> > > > XMLSignature.checkSignatureValue(X509Certificate) line:
> > > 557
> > > > SignatureProcessor.verifyXMLSignature(Element, Crypto,
> > > X509Certificate[], Set, byte[][]) line: 264
> > > > SignatureProcessor.handleToken(Element, Crypto, Crypto,
> > CallbackHandler,
> > > WSDocInfo, Vector, WSSConfig) line: 79
> > > > WSSecurityEngine.processSecurityHeader(Element,
> > > CallbackHandler, Crypto, Crypto) line: 269
> > > > WSSecurityEngine.processSecurityHeader(Document, String,
> > > CallbackHandler, Crypto, Crypto) line: 191
> > > > WSDoAllReceiver.processMessage(MessageContext) line: 180
> > > > WSDoAllReceiver(WSDoAllHandler).invoke(MessageContext)
> > > line: 82
> > > > Phase.invoke(MessageContext) line: 381
> > > > AxisEngine.invoke(MessageContext) line: 473
> > > > AxisEngine.receive(MessageContext) line: 445
> > > > OutInAxisOperationClient.send(MessageContext) line: 355
> > > > OutInAxisOperationClient.execute (boolean) line: 279
> > > >
> > >
> >
-------------------------------------------------------------------------
> > >
> > >
> > >
> > > On 9/13/06, Ruchith Fernando < [EMAIL PROTECTED]> wrote:
> > > > Yes !
> > > >
> > > > You have to use stax-1.0.1. Please replace your stax-api jar with
this
> > > > [1] and woodstox (wstx-asl-*.jar) with this [2].
> > > >
> > > > Thanks,
> > > > Ruchith
> > > >
> > > > [1]
> > > http://www.ibiblio.org/maven/stax/jars/stax-api-1.0.1.jar
> > > > [2]
> > > http://www.ibiblio.org/maven/woodstox/jars/wstx-asl-3.0.0.jar
> > > >
> > > > On 9/14/06, [EMAIL PROTECTED] <[EMAIL PROTECTED]> wrote:
> > > > > Hi,
> > > > >
> > > > > Do I need to upgrade any other libraries? When I used the the
latest
> > > > > snapshot I get this error in my application. I have pasted only
> > > > > the relevant portion of the stack trace as the other parts are
> > > > > confidential.
> > > > >
> > > > > thanks
> > > > >
> > > > > Aravind
> > > > >
> > > > > Error is
> > > > >
> > > > > java.lang.NoSuchMethodError:
> > > > > javax.xml.stream.XMLOutputFactory.newInstance
> > >
> >
(Ljava/lang/String;Ljava/lang/ClassLoader;)Ljavax/xml/stream/XMLOutputFactory;
> > > > >         at
> > > org.apache.axiom.om.util.StAXUtils.getXMLOutputFactory(
StAXUtils.java
> > :97)
> > > > >         at
> > > org.apache.axiom.om.util.StAXUtils.createXMLStreamWriter
> > > (StAXUtils.java:111)
> > > > >         at
> > > org.apache.axiom.om.impl.dom.NodeImpl.serialize(NodeImpl.java:577)
> > > > >         at
> > > org.apache.axiom.om.impl.dom.ElementImpl.toString(ElementImpl.java
:1139)
> > > > >
> > > > >
> > > > >
> > > > > On 9/13/06, Ruchith Fernando <[EMAIL PROTECTED]> wrote:
> > > > > >
> > > > > > Hi,
> > > > > >
> > > > > > Can you please try this with the latest axiom-*-SNAPSHOT jars.
> > > > > >
> > > > > >
> > >
> >
http://people.apache.org/repository/ws-commons/jars/axiom-api-SNAPSHOT.jar
> > > > > >
> > >
> >
http://people.apache.org/repository/ws-commons/jars/axiom-dom-SNAPSHOT.jar
> > > > > >
> > > > > >
> > >
> >
http://people.apache.org/repository/ws-commons/jars/axiom-impl-SNAPSHOT.jar
> > > > > >
> > > > > > Thanks,
> > > > > > Ruchith
> > > > > >
> > > > > > On 9/13/06, [EMAIL PROTECTED] <[EMAIL PROTECTED] >
wrote:
> > > > > > > At ResolverFragment.java:60
> > > > > > >
> > > > > > > Document doc = uri.getOwnerElement().getOwnerDocument();
> > > > > > >
> > > > > > > This happens when we try to verify a xml signature. We are
using
> > > > > > > axiom(version
> > > 1)/wss4j-1.5.0/xerces-2.7.1/xml-api-1.3.02/xmlsec-1.3.0with
> > > > > > > Tomcat.
> > > > > > >
> > > > > > > uri.getOwnerElement() is of type DocumentImpl that can't be
type
> > > cast
> > > > > > > into Element as none of the super classes implement the
Element
> > > > > > interface.
> > > > > > > Am I right? I am new to web services and I don't understand
> > fully.
> > > But
> > > > > > this
> > > > > > > problem is always reproducible in our environment.
> > > > > > >
> > > > > > > Any help will be greatly appreciated.
> > > > > > >
> > > > > > > thanks
> > > > > > >
> > > > > > > Aravind
> > > > > > >
> > > > > > >
> > > > > >
> > > > > >
> > > > > > --
> > > > > > www.ruchith.org
> > > > > >
> > > > > >
> > >
---------------------------------------------------------------------
> > > > > > To unsubscribe, e-mail:
> > > [EMAIL PROTECTED]
> > > > > > For additional commands, e-mail:
[EMAIL PROTECTED]
> > > > > >
> > > > > >
> > > > >
> > > > >
> > > >
> > > >
> > > > --
> > > > www.ruchith.org
> > > >
> > > >
> > >
---------------------------------------------------------------------
> > > > To unsubscribe, e-mail:
> > > [EMAIL PROTECTED]
> > > > For additional commands, e-mail: [EMAIL PROTECTED]
> > > >
> > > >
> > >
> > >
> > >
---------------------------------------------------------------------
> > > To unsubscribe, e-mail:
> > > [EMAIL PROTECTED]
> > > For additional commands, e-mail: [EMAIL PROTECTED]
> > >
> > >
> > >
> >
> >
> > --
> > www.ruchith.org
> >
> > ---------------------------------------------------------------------
> > To unsubscribe, e-mail: [EMAIL PROTECTED]
> > For additional commands, e-mail: [EMAIL PROTECTED]
> >
> >
>
>


--
www.ruchith.org

---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]


Reply via email to