You are viewing a plain text version of this content. The canonical link for it is here.
Posted to wss4j-dev@ws.apache.org by "Davanum Srinivas (JIRA)" <ji...@apache.org> on 2005/08/05 15:53:38 UTC

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

     [ http://issues.apache.org/jira/browse/WSS-12?page=all ]
     
Davanum Srinivas resolved WSS-12:
---------------------------------

    Resolution: Fixed

Applied patch.

thanks,
dims

> WSDoAllReceiver crashes due to missing method in SOAPHeaderElement
> ------------------------------------------------------------------
>
>          Key: WSS-12
>          URL: http://issues.apache.org/jira/browse/WSS-12
>      Project: WSS4J
>         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 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: wss4j-dev-unsubscribe@ws.apache.org
For additional commands, e-mail: wss4j-dev-help@ws.apache.org