axis-java-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Prabath Siriwardena (JIRA)" <j...@apache.org>
Subject [jira] Assigned: (RAMPART-211) Rampart and SOAP Fault specification issue
Date Mon, 24 Jan 2011 05:06:43 GMT

     [ 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-unsubscribe@axis.apache.org
For additional commands, e-mail: java-dev-help@axis.apache.org


Mime
View raw message