[ https://issues.apache.org/jira/browse/RAMPART-211?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]
Prabath Siriwardena reassigned RAMPART-211: ------------------------------------------- Assignee: Prabath Siriwardena > Rampart and SOAP Fault specification issue > ------------------------------------------ > > Key: RAMPART-211 > URL: https://issues.apache.org/jira/browse/RAMPART-211 > Project: Rampart > Issue Type: Bug > Components: rampart-core > Reporter: Dobri Kitipov > Assignee: Prabath Siriwardena > > Hi everybody, > I have done a test with asymmetric binding where the service jks was missing > from the AAR deployed at server side. As a result an Exception is throw that > in turn is send back to client as a SOAP Fault. This is a correct behavior. > The problem is that <soapenv:Code> has the following value: > <soapenv:Value>axis2ns2:Sender</soapenv:Value> > I have searched the Rampart JIRA and found the following related JIRA: > https://issues.apache.org/jira/browse/RAMPART-166 > I checked the WSS 1.1 spec, too, but there is something that is not correct I > think. > IMHO, in the above mentioned scenario, we should have "axis2ns2:Receiver" as > Value, because it is the Server side that is not set correct (the AAR is > missing the needed server side jks)? Currently the Value is hardcoded into > RampartReceiver method to "axis2ns2:Sender": > private void setFaultCodeAndThrowAxisFault(MessageContext msgContext, > Exception e) throws AxisFault { > msgContext.setProperty(RampartConstants.SEC_FAULT, Boolean.TRUE); > String soapVersionURI = > msgContext.getEnvelope().getNamespace().getNamespaceURI(); > QName invalidSecurity = new > QName(WSConstants.INVALID_SECURITY.getNamespaceURI(),WSConstants.INVALID_SECURITY.getLocalPart(),"wsse"); > if > (soapVersionURI.equals(SOAP11Constants.SOAP_ENVELOPE_NAMESPACE_URI) ) { > throw new AxisFault(invalidSecurity,e.getMessage(),e); > } else if > (soapVersionURI.equals(SOAP12Constants.SOAP_ENVELOPE_NAMESPACE_URI)) > { > List subfaultCodes = new ArrayList(); > subfaultCodes.add(invalidSecurity); > throw new > AxisFault(Constants.FAULT_SOAP12_SENDER,subfaultCodes,e.getMessage(),e); > } > } > The line of code we are interested in is the last one : > throw new > AxisFault(Constants.FAULT_SOAP12_SENDER,subfaultCodes,e.getMessage(),e); > where the Constants.FAULT_SOAP12_SENDER is hardcoded into the thrown > AxisFault. I think that a flag should be set into the > RampartException/MessageCtx so it is possible to check if the problem was > caused by a Sender or a Receiver. > Regards, > Dobri -- This message is automatically generated by JIRA. - You can reply to this email to add a comment to the issue online. --------------------------------------------------------------------- To unsubscribe, e-mail: java-dev-unsubscr...@axis.apache.org For additional commands, e-mail: java-dev-h...@axis.apache.org