axis-java-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Ivan (JIRA)" <j...@apache.org>
Subject [jira] [Created] (AXIS2-5039) Override the SOAPAction from the SOAPMessage MIME header if it is explicitly configured later
Date Fri, 13 May 2011 00:40:47 GMT
Override the SOAPAction from the SOAPMessage MIME header if it is explicitly configured later
---------------------------------------------------------------------------------------------

                 Key: AXIS2-5039
                 URL: https://issues.apache.org/jira/browse/AXIS2-5039
             Project: Axis2
          Issue Type: Bug
          Components: jaxws
    Affects Versions: 1.7.0
            Reporter: Ivan


 While using RI SAAJ impl with Axis2, it seems that RI SAAJ will always adds a SOAPAction
header with the value "" if it is a SOAP 1.1 message. I found that if the action is configured
in the requestContext by the BindingProvider.SOAPACTION_USE_PROPERTY and BindingProvider.SOAPACTION_URI_PROPERTY
will be ignored. And it looks to me that it makes sense to override the soap action if it
is explicitly configured with the later way.
    I did a text search for the setSOAPAction method for the MessageContext, and its initial
values are from SOAPMessage.
    a. o.a.axis2.saaj.SOAPConnectionImpl     Line 185
    b. o.a.axis2.jaxws.message.util.MessageUtils Line 206
    Also, for the SOAPAction in the OperationClient, it is configured in o.a.axis2.jaxws.core.control.impl.AxisInvocationController.initOperationClient
method
    --->
    String soapAction = ClientUtils.findSOAPAction(requestMsgCtx);
   <---     
   The codes in the ClientUtils.findSOAPAction will check the configurations in the RequestContext,
and even the action configured in the Operation, it looks to me that the SOAPAction here is
more valuable.  

   The proposed the changes are in the OperationClient.prepareMessageContext
   From
   --->
  if (mc.getSoapAction() == null || "".equals(mc.getSoapAction())) {
            mc.setSoapAction(options.getAction());
   }
   <---
   To
    if (options.getAction() != null || options.getAction().length() > 0) {
            mc.setSoapAction(options.getAction());
        }
    <---

--
This message is automatically generated by JIRA.
For more information on JIRA, see: http://www.atlassian.com/software/jira

---------------------------------------------------------------------
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