You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@ws.apache.org by "Colm O hEigeartaigh (Closed) (JIRA)" <ji...@apache.org> on 2011/10/03 11:04:42 UTC

[jira] [Closed] (WSS-12) WSDoAllReceiver crashes due to missing method in SOAPHeaderElement

     [ https://issues.apache.org/jira/browse/WSS-12?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]

Colm O hEigeartaigh closed WSS-12.
----------------------------------

    
> WSDoAllReceiver crashes due to missing method in SOAPHeaderElement
> ------------------------------------------------------------------
>
>                 Key: WSS-12
>                 URL: https://issues.apache.org/jira/browse/WSS-12
>             Project: WSS4J
>          Issue Type: Bug
>         Environment: Windows XP SP2, SUN JDK 1.5.0, Axis 1.2.1, WSS4J 1.0.0
>            Reporter: Guy Rixon
>            Assignee: Davanum Srinivas
>            Priority: Critical
>
> I am using WSDoAllReceiver to process message signature. It consistently crashes when reading the message with this error:
> javax.xml.soap.SOAPHeaderElement.getLocalName()Ljava/lang/String;
> java.lang.NoSuchMethodError: javax.xml.soap.SOAPHeaderElement.getLocalName()Ljava/lang/String;
> 	at org.apache.ws.axis.security.WSDoAllReceiver.invoke(WSDoAllReceiver.java:270)
> 	at org.apache.axis.strategies.InvocationStrategy.visit(InvocationStrategy.java:32)
> 	at org.apache.axis.SimpleChain.doVisiting(SimpleChain.java:118)
> 	at org.apache.axis.SimpleChain.invoke(SimpleChain.java:83)
> 	at org.apache.axis.client.AxisClient.invoke(AxisClient.java:121)
> 	at org.apache.axis.client.Call.invokeEngine(Call.java:2765)
> 	at org.apache.axis.client.Call.invoke(Call.java:2748)
> 	at org.apache.axis.client.Call.invoke(Call.java:2424)
> 	at org.apache.axis.client.Call.invoke(Call.java:2347)
> 	at org.apache.axis.client.Call.invoke(Call.java:1804)
> 	at org.astrogrid.security.sample.SamplePortSoapBindingStub.whoAmI(SamplePortSoapBindingStub.java:108)
> 	at org.astrogrid.security.EndToEndTest.testAll(EndToEndTest.java:46)
> 	at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
> 	at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
> 	at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
> The method in question is specified by org.w3c.dom.Element; it looks like the inheritence tree has gone wrong in Axis 1.2.1. The inheritence of interfaces between javax.xml.soap.SOAPHeaderInterface, javax.xml.soap.SOAPElement and org.w3c.dom.Node may be the problem; it looks to me like there may be a loop.
> This problem can be worked around in WSS4J by changing WSDoAllReceiver.  Around line 269, change this
>             SOAPHeaderElement headerElement = null;
>             while (headers.hasNext()) {
>                 SOAPHeaderElement hE = (SOAPHeaderElement)headers.next();
>                 if (hE.getLocalName().equals(WSConstants.WSSE_LN)
>                         && hE.getNamespaceURI().equals(WSConstants.WSSE_NS)) {
>                     headerElement = hE;
>                     break;
>                 }
>             }
>             ((org.apache.axis.message.SOAPHeaderElement) headerElement)
>                     .setProcessed(true);
> to this
>             SOAPHeaderElement headerElement = null;
>             while (headers.hasNext()) {
>                 org.apache.axis.message.SOAPHeaderElement hE = (org.apache.axis.message.SOAPHeaderElement) headers.next();
>                 if (hE.getLocalName().equals(WSConstants.WSSE_LN)
>                         && hE.getNamespaceURI().equals(WSConstants.WSSE_NS)) {
>                     headerElement = hE;
>                     break;
>                 }
>             }
>             ((org.apache.axis.message.SOAPHeaderElement) headerElement)
>                     .setProcessed(true);

--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators: https://issues.apache.org/jira/secure/ContactAdministrators!default.jspa
For more information on JIRA, see: http://www.atlassian.com/software/jira

        

---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscribe@ws.apache.org
For additional commands, e-mail: dev-help@ws.apache.org