You are viewing a plain text version of this content. The canonical link for it is here.
Posted to java-dev@axis.apache.org by "Dennis Sosnoski (JIRA)" <ji...@apache.org> on 2006/10/08 13:14:19 UTC
[jira] Created: (AXIS2-1327) Incorrect operation selected when no
SOAPAction specified
Incorrect operation selected when no SOAPAction specified
---------------------------------------------------------
Key: AXIS2-1327
URL: http://issues.apache.org/jira/browse/AXIS2-1327
Project: Apache Axis 2.0 (Axis2)
Issue Type: Bug
Affects Versions: nightly
Environment: Linux, JDK 1.5.0
Reporter: Dennis Sosnoski
Priority: Critical
The org.apache.axis2.description.AxisService.addOperation() method gets an ArrayList of wsamappings (line 376) and then adds each mapping as an alias for the operation by calling mapActionToOperation(). Unfortunately the wasmappings list includes an empty string for each operation, meaning that the last operation added will be aliased to the empty string.
If an incoming request is received with no SOAPAction set, the SOAPActionBasedDispatcher (line 51) calls the service method getOperationByAction() which returns this last operation added. Because the operation has been set by this dispatcher the message receiver code will attempt to invoke the wrong action. This is the cause of AXIS2-1316
It looks to me like the empty string is being set as an action mapping because the generated service.xml contains an empty <actionMapping> element in the case where no soapAction is defined by the WSDL used for code generation:
<operation name="addBook" mep="http://www.w3.org/2004/08/wsdl/in-out">
<actionMapping></actionMapping>
<outputActionMapping>http://ws.sosnoski.com/library/wsdl/Library/addBookResponse</outputActionMapping>
</operation>
The suggested fix is to avoid adding empty strings to the mappingList in org.apache.axis2.deployment.DescriptionBuilder (lines 462-466). I'd prefer to have this change verified by someone who knows this code, though, in case there are side effects from removing the empty string mappings.
--
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: axis-dev-unsubscribe@ws.apache.org
For additional commands, e-mail: axis-dev-help@ws.apache.org
[jira] Reopened: (AXIS2-1327) Incorrect operation selected when no
SOAPAction specified
Posted by "Amila Chinthaka Suriarachchi (JIRA)" <ji...@apache.org>.
[ http://issues.apache.org/jira/browse/AXIS2-1327?page=all ]
Amila Chinthaka Suriarachchi reopened AXIS2-1327:
-------------------------------------------------
> Incorrect operation selected when no SOAPAction specified
> ---------------------------------------------------------
>
> Key: AXIS2-1327
> URL: http://issues.apache.org/jira/browse/AXIS2-1327
> Project: Apache Axis 2.0 (Axis2)
> Issue Type: Bug
> Affects Versions: nightly
> Environment: Linux, JDK 1.5.0
> Reporter: Dennis Sosnoski
> Assigned To: David Illsley
> Priority: Blocker
>
> The org.apache.axis2.description.AxisService.addOperation() method gets an ArrayList of wsamappings (line 376) and then adds each mapping as an alias for the operation by calling mapActionToOperation(). Unfortunately the wasmappings list includes an empty string for each operation, meaning that the last operation added will be aliased to the empty string.
> If an incoming request is received with no SOAPAction set, the SOAPActionBasedDispatcher (line 51) calls the service method getOperationByAction() which returns this last operation added. Because the operation has been set by this dispatcher the message receiver code will attempt to invoke the wrong action. This is the cause of AXIS2-1316
> It looks to me like the empty string is being set as an action mapping because the generated service.xml contains an empty <actionMapping> element in the case where no soapAction is defined by the WSDL used for code generation:
> <operation name="addBook" mep="http://www.w3.org/2004/08/wsdl/in-out">
> <actionMapping></actionMapping>
> <outputActionMapping>http://ws.sosnoski.com/library/wsdl/Library/addBookResponse</outputActionMapping>
> </operation>
> The suggested fix is to avoid adding empty strings to the mappingList in org.apache.axis2.deployment.DescriptionBuilder (lines 462-466). I'd prefer to have this change verified by someone who knows this code, though, in case there are side effects from removing the empty string mappings.
--
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: axis-dev-unsubscribe@ws.apache.org
For additional commands, e-mail: axis-dev-help@ws.apache.org
[jira] Reopened: (AXIS2-1327) Incorrect operation selected when no
SOAPAction specified
Posted by "David Illsley (JIRA)" <ji...@apache.org>.
[ https://issues.apache.org/jira/browse/AXIS2-1327?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]
David Illsley reopened AXIS2-1327:
----------------------------------
Hi, sorry I've not been keeping up with JIRA for the last couple of weeks so I missed this.
I haven't had a chance to work out everything that was changed here (the diffs aren't too helpful) but I'm not sure the fix that was applied is a long-term solution.
The change to getInputAction totally destroys the point of the method which is easy access to the action which uniquely identifies the operation. If a soapAction is specified we should use that, otherwise we should use the ws-addressing action.
I've had a quick look at AXIS2-1897 and I take the point that sending an unrecognised soapAction might be a problem. Part of the problem is that Axis2 conflates soapAction and wsa:Action in some places and not others.
It's important that the correct action (including a ws-a generated one) is generated for the client stub so it can be used for ws-a if engaged.
However AXIS2-1897 is correct that it shouldn't be added to the generated wsdl and isn't necessary for the services.xml file.
I'll take a look at a long term fix for this over the next few days.
> Incorrect operation selected when no SOAPAction specified
> ---------------------------------------------------------
>
> Key: AXIS2-1327
> URL: https://issues.apache.org/jira/browse/AXIS2-1327
> Project: Apache Axis 2.0 (Axis2)
> Issue Type: Bug
> Affects Versions: nightly
> Environment: Linux, JDK 1.5.0
> Reporter: Dennis Sosnoski
> Assigned To: David Illsley
> Priority: Blocker
>
> The org.apache.axis2.description.AxisService.addOperation() method gets an ArrayList of wsamappings (line 376) and then adds each mapping as an alias for the operation by calling mapActionToOperation(). Unfortunately the wasmappings list includes an empty string for each operation, meaning that the last operation added will be aliased to the empty string.
> If an incoming request is received with no SOAPAction set, the SOAPActionBasedDispatcher (line 51) calls the service method getOperationByAction() which returns this last operation added. Because the operation has been set by this dispatcher the message receiver code will attempt to invoke the wrong action. This is the cause of AXIS2-1316
> It looks to me like the empty string is being set as an action mapping because the generated service.xml contains an empty <actionMapping> element in the case where no soapAction is defined by the WSDL used for code generation:
> <operation name="addBook" mep="http://www.w3.org/2004/08/wsdl/in-out">
> <actionMapping></actionMapping>
> <outputActionMapping>http://ws.sosnoski.com/library/wsdl/Library/addBookResponse</outputActionMapping>
> </operation>
> The suggested fix is to avoid adding empty strings to the mappingList in org.apache.axis2.deployment.DescriptionBuilder (lines 462-466). I'd prefer to have this change verified by someone who knows this code, though, in case there are side effects from removing the empty string mappings.
--
This message is automatically generated by JIRA.
-
If you think it was sent incorrectly contact one of the administrators: https://issues.apache.org/jira/secure/Administrators.jspa
-
For more information on JIRA, see: http://www.atlassian.com/software/jira
---------------------------------------------------------------------
To unsubscribe, e-mail: axis-dev-unsubscribe@ws.apache.org
For additional commands, e-mail: axis-dev-help@ws.apache.org
[jira] Commented: (AXIS2-1327) Incorrect operation selected when no
SOAPAction specified
Posted by "Amila Chinthaka Suriarachchi (JIRA)" <ji...@apache.org>.
[ http://issues.apache.org/jira/browse/AXIS2-1327?page=comments#action_12460141 ]
Amila Chinthaka Suriarachchi commented on AXIS2-1327:
-----------------------------------------------------
I think it is wrong to set a generated soapaction when there is no soapaction.
see the issue http://issues.apache.org/jira/browse/AXIS2-1897
this method works only with the axis2 client and axis2 server and does not support the interoperatability. My suggestion is to use the body based dispatching when there is no soapaction specified in http header.
Unfortunately I am not much familar with the regarding code. Any thoughts?
> Incorrect operation selected when no SOAPAction specified
> ---------------------------------------------------------
>
> Key: AXIS2-1327
> URL: http://issues.apache.org/jira/browse/AXIS2-1327
> Project: Apache Axis 2.0 (Axis2)
> Issue Type: Bug
> Affects Versions: nightly
> Environment: Linux, JDK 1.5.0
> Reporter: Dennis Sosnoski
> Assigned To: David Illsley
> Priority: Blocker
>
> The org.apache.axis2.description.AxisService.addOperation() method gets an ArrayList of wsamappings (line 376) and then adds each mapping as an alias for the operation by calling mapActionToOperation(). Unfortunately the wasmappings list includes an empty string for each operation, meaning that the last operation added will be aliased to the empty string.
> If an incoming request is received with no SOAPAction set, the SOAPActionBasedDispatcher (line 51) calls the service method getOperationByAction() which returns this last operation added. Because the operation has been set by this dispatcher the message receiver code will attempt to invoke the wrong action. This is the cause of AXIS2-1316
> It looks to me like the empty string is being set as an action mapping because the generated service.xml contains an empty <actionMapping> element in the case where no soapAction is defined by the WSDL used for code generation:
> <operation name="addBook" mep="http://www.w3.org/2004/08/wsdl/in-out">
> <actionMapping></actionMapping>
> <outputActionMapping>http://ws.sosnoski.com/library/wsdl/Library/addBookResponse</outputActionMapping>
> </operation>
> The suggested fix is to avoid adding empty strings to the mappingList in org.apache.axis2.deployment.DescriptionBuilder (lines 462-466). I'd prefer to have this change verified by someone who knows this code, though, in case there are side effects from removing the empty string mappings.
--
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: axis-dev-unsubscribe@ws.apache.org
For additional commands, e-mail: axis-dev-help@ws.apache.org
[jira] Updated: (AXIS2-1327) Incorrect operation selected when no
SOAPAction specified
Posted by "Davanum Srinivas (JIRA)" <ji...@apache.org>.
[ http://issues.apache.org/jira/browse/AXIS2-1327?page=all ]
Davanum Srinivas updated AXIS2-1327:
------------------------------------
Priority: Blocker (was: Critical)
> Incorrect operation selected when no SOAPAction specified
> ---------------------------------------------------------
>
> Key: AXIS2-1327
> URL: http://issues.apache.org/jira/browse/AXIS2-1327
> Project: Apache Axis 2.0 (Axis2)
> Issue Type: Bug
> Affects Versions: nightly
> Environment: Linux, JDK 1.5.0
> Reporter: Dennis Sosnoski
> Priority: Blocker
>
> The org.apache.axis2.description.AxisService.addOperation() method gets an ArrayList of wsamappings (line 376) and then adds each mapping as an alias for the operation by calling mapActionToOperation(). Unfortunately the wasmappings list includes an empty string for each operation, meaning that the last operation added will be aliased to the empty string.
> If an incoming request is received with no SOAPAction set, the SOAPActionBasedDispatcher (line 51) calls the service method getOperationByAction() which returns this last operation added. Because the operation has been set by this dispatcher the message receiver code will attempt to invoke the wrong action. This is the cause of AXIS2-1316
> It looks to me like the empty string is being set as an action mapping because the generated service.xml contains an empty <actionMapping> element in the case where no soapAction is defined by the WSDL used for code generation:
> <operation name="addBook" mep="http://www.w3.org/2004/08/wsdl/in-out">
> <actionMapping></actionMapping>
> <outputActionMapping>http://ws.sosnoski.com/library/wsdl/Library/addBookResponse</outputActionMapping>
> </operation>
> The suggested fix is to avoid adding empty strings to the mappingList in org.apache.axis2.deployment.DescriptionBuilder (lines 462-466). I'd prefer to have this change verified by someone who knows this code, though, in case there are side effects from removing the empty string mappings.
--
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: axis-dev-unsubscribe@ws.apache.org
For additional commands, e-mail: axis-dev-help@ws.apache.org
[jira] Assigned: (AXIS2-1327) Incorrect operation selected when no
SOAPAction specified
Posted by "David Illsley (JIRA)" <ji...@apache.org>.
[ http://issues.apache.org/jira/browse/AXIS2-1327?page=all ]
David Illsley reassigned AXIS2-1327:
------------------------------------
Assignee: David Illsley
I'm pretty familiar with this code so I'll take a look.
> Incorrect operation selected when no SOAPAction specified
> ---------------------------------------------------------
>
> Key: AXIS2-1327
> URL: http://issues.apache.org/jira/browse/AXIS2-1327
> Project: Apache Axis 2.0 (Axis2)
> Issue Type: Bug
> Affects Versions: nightly
> Environment: Linux, JDK 1.5.0
> Reporter: Dennis Sosnoski
> Assigned To: David Illsley
> Priority: Blocker
>
> The org.apache.axis2.description.AxisService.addOperation() method gets an ArrayList of wsamappings (line 376) and then adds each mapping as an alias for the operation by calling mapActionToOperation(). Unfortunately the wasmappings list includes an empty string for each operation, meaning that the last operation added will be aliased to the empty string.
> If an incoming request is received with no SOAPAction set, the SOAPActionBasedDispatcher (line 51) calls the service method getOperationByAction() which returns this last operation added. Because the operation has been set by this dispatcher the message receiver code will attempt to invoke the wrong action. This is the cause of AXIS2-1316
> It looks to me like the empty string is being set as an action mapping because the generated service.xml contains an empty <actionMapping> element in the case where no soapAction is defined by the WSDL used for code generation:
> <operation name="addBook" mep="http://www.w3.org/2004/08/wsdl/in-out">
> <actionMapping></actionMapping>
> <outputActionMapping>http://ws.sosnoski.com/library/wsdl/Library/addBookResponse</outputActionMapping>
> </operation>
> The suggested fix is to avoid adding empty strings to the mappingList in org.apache.axis2.deployment.DescriptionBuilder (lines 462-466). I'd prefer to have this change verified by someone who knows this code, though, in case there are side effects from removing the empty string mappings.
--
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: axis-dev-unsubscribe@ws.apache.org
For additional commands, e-mail: axis-dev-help@ws.apache.org
[jira] Resolved: (AXIS2-1327) Incorrect operation selected when no
SOAPAction specified
Posted by "Deepal Jayasinghe (JIRA)" <ji...@apache.org>.
[ https://issues.apache.org/jira/browse/AXIS2-1327?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]
Deepal Jayasinghe resolved AXIS2-1327.
--------------------------------------
Resolution: Fixed
fixed the issue in the current code base.
> Incorrect operation selected when no SOAPAction specified
> ---------------------------------------------------------
>
> Key: AXIS2-1327
> URL: https://issues.apache.org/jira/browse/AXIS2-1327
> Project: Apache Axis 2.0 (Axis2)
> Issue Type: Bug
> Affects Versions: nightly
> Environment: Linux, JDK 1.5.0
> Reporter: Dennis Sosnoski
> Assigned To: David Illsley
> Priority: Blocker
>
> The org.apache.axis2.description.AxisService.addOperation() method gets an ArrayList of wsamappings (line 376) and then adds each mapping as an alias for the operation by calling mapActionToOperation(). Unfortunately the wasmappings list includes an empty string for each operation, meaning that the last operation added will be aliased to the empty string.
> If an incoming request is received with no SOAPAction set, the SOAPActionBasedDispatcher (line 51) calls the service method getOperationByAction() which returns this last operation added. Because the operation has been set by this dispatcher the message receiver code will attempt to invoke the wrong action. This is the cause of AXIS2-1316
> It looks to me like the empty string is being set as an action mapping because the generated service.xml contains an empty <actionMapping> element in the case where no soapAction is defined by the WSDL used for code generation:
> <operation name="addBook" mep="http://www.w3.org/2004/08/wsdl/in-out">
> <actionMapping></actionMapping>
> <outputActionMapping>http://ws.sosnoski.com/library/wsdl/Library/addBookResponse</outputActionMapping>
> </operation>
> The suggested fix is to avoid adding empty strings to the mappingList in org.apache.axis2.deployment.DescriptionBuilder (lines 462-466). I'd prefer to have this change verified by someone who knows this code, though, in case there are side effects from removing the empty string mappings.
--
This message is automatically generated by JIRA.
-
If you think it was sent incorrectly contact one of the administrators: https://issues.apache.org/jira/secure/Administrators.jspa
-
For more information on JIRA, see: http://www.atlassian.com/software/jira
---------------------------------------------------------------------
To unsubscribe, e-mail: axis-dev-unsubscribe@ws.apache.org
For additional commands, e-mail: axis-dev-help@ws.apache.org
[jira] Commented: (AXIS2-1327) Incorrect operation selected when no
SOAPAction specified
Posted by "Amila Chinthaka Suriarachchi (JIRA)" <ji...@apache.org>.
[ https://issues.apache.org/jira/browse/AXIS2-1327?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel#action_12462959 ]
Amila Chinthaka Suriarachchi commented on AXIS2-1327:
-----------------------------------------------------
I think In your patch you have made a mistake here
protected void addSOAPAction(Document doc, Element rootElement, AxisOperation axisOperation) {
addAttribute(doc, "soapaction", axisOperation.getInputAction(), rootElement);
}
this should be as earlier i.e.
addAttribute(doc, "soapaction", axisOperation.getSoapAction(), rootElement);
because if there is no soap action specified in wsdl both generated stub and service.xml should have an empty strings.
As I understood the the problem reported here is that the server try to dispatch the operation using soapaction even if it is an empty string (i.e "").
The correct fix should be to dispatch the operation either using address based dispatching or body based dispatching when the soap action is an empty string.
> Incorrect operation selected when no SOAPAction specified
> ---------------------------------------------------------
>
> Key: AXIS2-1327
> URL: https://issues.apache.org/jira/browse/AXIS2-1327
> Project: Apache Axis 2.0 (Axis2)
> Issue Type: Bug
> Affects Versions: nightly
> Environment: Linux, JDK 1.5.0
> Reporter: Dennis Sosnoski
> Assigned To: David Illsley
> Priority: Blocker
>
> The org.apache.axis2.description.AxisService.addOperation() method gets an ArrayList of wsamappings (line 376) and then adds each mapping as an alias for the operation by calling mapActionToOperation(). Unfortunately the wasmappings list includes an empty string for each operation, meaning that the last operation added will be aliased to the empty string.
> If an incoming request is received with no SOAPAction set, the SOAPActionBasedDispatcher (line 51) calls the service method getOperationByAction() which returns this last operation added. Because the operation has been set by this dispatcher the message receiver code will attempt to invoke the wrong action. This is the cause of AXIS2-1316
> It looks to me like the empty string is being set as an action mapping because the generated service.xml contains an empty <actionMapping> element in the case where no soapAction is defined by the WSDL used for code generation:
> <operation name="addBook" mep="http://www.w3.org/2004/08/wsdl/in-out">
> <actionMapping></actionMapping>
> <outputActionMapping>http://ws.sosnoski.com/library/wsdl/Library/addBookResponse</outputActionMapping>
> </operation>
> The suggested fix is to avoid adding empty strings to the mappingList in org.apache.axis2.deployment.DescriptionBuilder (lines 462-466). I'd prefer to have this change verified by someone who knows this code, though, in case there are side effects from removing the empty string mappings.
--
This message is automatically generated by JIRA.
-
If you think it was sent incorrectly contact one of the administrators: https://issues.apache.org/jira/secure/Administrators.jspa
-
For more information on JIRA, see: http://www.atlassian.com/software/jira
---------------------------------------------------------------------
To unsubscribe, e-mail: axis-dev-unsubscribe@ws.apache.org
For additional commands, e-mail: axis-dev-help@ws.apache.org
[jira] Resolved: (AXIS2-1327) Incorrect operation selected when no
SOAPAction specified
Posted by "David Illsley (JIRA)" <ji...@apache.org>.
[ http://issues.apache.org/jira/browse/AXIS2-1327?page=all ]
David Illsley resolved AXIS2-1327.
----------------------------------
Resolution: Fixed
I've added code to ignore empty actionMapping elemenets and to reduce the chances of one being generated.
trunk: r454186
branch: r454188
> Incorrect operation selected when no SOAPAction specified
> ---------------------------------------------------------
>
> Key: AXIS2-1327
> URL: http://issues.apache.org/jira/browse/AXIS2-1327
> Project: Apache Axis 2.0 (Axis2)
> Issue Type: Bug
> Affects Versions: nightly
> Environment: Linux, JDK 1.5.0
> Reporter: Dennis Sosnoski
> Assigned To: David Illsley
> Priority: Blocker
>
> The org.apache.axis2.description.AxisService.addOperation() method gets an ArrayList of wsamappings (line 376) and then adds each mapping as an alias for the operation by calling mapActionToOperation(). Unfortunately the wasmappings list includes an empty string for each operation, meaning that the last operation added will be aliased to the empty string.
> If an incoming request is received with no SOAPAction set, the SOAPActionBasedDispatcher (line 51) calls the service method getOperationByAction() which returns this last operation added. Because the operation has been set by this dispatcher the message receiver code will attempt to invoke the wrong action. This is the cause of AXIS2-1316
> It looks to me like the empty string is being set as an action mapping because the generated service.xml contains an empty <actionMapping> element in the case where no soapAction is defined by the WSDL used for code generation:
> <operation name="addBook" mep="http://www.w3.org/2004/08/wsdl/in-out">
> <actionMapping></actionMapping>
> <outputActionMapping>http://ws.sosnoski.com/library/wsdl/Library/addBookResponse</outputActionMapping>
> </operation>
> The suggested fix is to avoid adding empty strings to the mappingList in org.apache.axis2.deployment.DescriptionBuilder (lines 462-466). I'd prefer to have this change verified by someone who knows this code, though, in case there are side effects from removing the empty string mappings.
--
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: axis-dev-unsubscribe@ws.apache.org
For additional commands, e-mail: axis-dev-help@ws.apache.org
[jira] Closed: (AXIS2-1327) Incorrect operation selected when no
SOAPAction specified
Posted by "David Illsley (JIRA)" <ji...@apache.org>.
[ https://issues.apache.org/jira/browse/AXIS2-1327?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]
David Illsley closed AXIS2-1327.
--------------------------------
Resolution: Fixed
> Incorrect operation selected when no SOAPAction specified
> ---------------------------------------------------------
>
> Key: AXIS2-1327
> URL: https://issues.apache.org/jira/browse/AXIS2-1327
> Project: Axis 2.0 (Axis2)
> Issue Type: Bug
> Affects Versions: nightly
> Environment: Linux, JDK 1.5.0
> Reporter: Dennis Sosnoski
> Assignee: David Illsley
> Priority: Critical
>
> The org.apache.axis2.description.AxisService.addOperation() method gets an ArrayList of wsamappings (line 376) and then adds each mapping as an alias for the operation by calling mapActionToOperation(). Unfortunately the wasmappings list includes an empty string for each operation, meaning that the last operation added will be aliased to the empty string.
> If an incoming request is received with no SOAPAction set, the SOAPActionBasedDispatcher (line 51) calls the service method getOperationByAction() which returns this last operation added. Because the operation has been set by this dispatcher the message receiver code will attempt to invoke the wrong action. This is the cause of AXIS2-1316
> It looks to me like the empty string is being set as an action mapping because the generated service.xml contains an empty <actionMapping> element in the case where no soapAction is defined by the WSDL used for code generation:
> <operation name="addBook" mep="http://www.w3.org/2004/08/wsdl/in-out">
> <actionMapping></actionMapping>
> <outputActionMapping>http://ws.sosnoski.com/library/wsdl/Library/addBookResponse</outputActionMapping>
> </operation>
> The suggested fix is to avoid adding empty strings to the mappingList in org.apache.axis2.deployment.DescriptionBuilder (lines 462-466). I'd prefer to have this change verified by someone who knows this code, though, in case there are side effects from removing the empty string mappings.
--
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.
[jira] Commented: (AXIS2-1327) Incorrect operation selected when no
SOAPAction specified
Posted by "Deepal Jayasinghe (JIRA)" <ji...@apache.org>.
[ http://issues.apache.org/jira/browse/AXIS2-1327?page=comments#action_12460232 ]
Deepal Jayasinghe commented on AXIS2-1327:
------------------------------------------
I went through AxisOperation and found some code which are not clear to me as well as , I can not understand the requirement of getInputAction method as well (this change has done in [1]).
public String getInputAction() {
String result = this.soapAction;
if (result == null || "".equals(result)) {
if (wsamappingList != null && !wsamappingList.isEmpty()) {
result = wsamappingList.get(0).toString();
}
}
return result;
}
So as I understand to fix the problem we need to do the following ;
If the SOAP action is not there in wsdl then we should not generate actionMapping in services.xml for the operation which dose not have soapaction;
As in 454188 we need should not add mapping into AxisOperation if the mapping value is empty.
So to fix the issue we need to revert [1] and to fix the codegen side not to generate actionmapping when soapaction is not there.
[1] http://svn.apache.org/viewvc?view=rev&revision=429177
> Incorrect operation selected when no SOAPAction specified
> ---------------------------------------------------------
>
> Key: AXIS2-1327
> URL: http://issues.apache.org/jira/browse/AXIS2-1327
> Project: Apache Axis 2.0 (Axis2)
> Issue Type: Bug
> Affects Versions: nightly
> Environment: Linux, JDK 1.5.0
> Reporter: Dennis Sosnoski
> Assigned To: David Illsley
> Priority: Blocker
>
> The org.apache.axis2.description.AxisService.addOperation() method gets an ArrayList of wsamappings (line 376) and then adds each mapping as an alias for the operation by calling mapActionToOperation(). Unfortunately the wasmappings list includes an empty string for each operation, meaning that the last operation added will be aliased to the empty string.
> If an incoming request is received with no SOAPAction set, the SOAPActionBasedDispatcher (line 51) calls the service method getOperationByAction() which returns this last operation added. Because the operation has been set by this dispatcher the message receiver code will attempt to invoke the wrong action. This is the cause of AXIS2-1316
> It looks to me like the empty string is being set as an action mapping because the generated service.xml contains an empty <actionMapping> element in the case where no soapAction is defined by the WSDL used for code generation:
> <operation name="addBook" mep="http://www.w3.org/2004/08/wsdl/in-out">
> <actionMapping></actionMapping>
> <outputActionMapping>http://ws.sosnoski.com/library/wsdl/Library/addBookResponse</outputActionMapping>
> </operation>
> The suggested fix is to avoid adding empty strings to the mappingList in org.apache.axis2.deployment.DescriptionBuilder (lines 462-466). I'd prefer to have this change verified by someone who knows this code, though, in case there are side effects from removing the empty string mappings.
--
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: axis-dev-unsubscribe@ws.apache.org
For additional commands, e-mail: axis-dev-help@ws.apache.org
[jira] Updated: (AXIS2-1327) Incorrect operation selected when no
SOAPAction specified
Posted by "Thilina Gunarathne (JIRA)" <ji...@apache.org>.
[ https://issues.apache.org/jira/browse/AXIS2-1327?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]
Thilina Gunarathne updated AXIS2-1327:
--------------------------------------
Priority: Critical (was: Blocker)
Downgrading as this as we have a workaround in place for this..
> Incorrect operation selected when no SOAPAction specified
> ---------------------------------------------------------
>
> Key: AXIS2-1327
> URL: https://issues.apache.org/jira/browse/AXIS2-1327
> Project: Apache Axis 2.0 (Axis2)
> Issue Type: Bug
> Affects Versions: nightly
> Environment: Linux, JDK 1.5.0
> Reporter: Dennis Sosnoski
> Assigned To: David Illsley
> Priority: Critical
>
> The org.apache.axis2.description.AxisService.addOperation() method gets an ArrayList of wsamappings (line 376) and then adds each mapping as an alias for the operation by calling mapActionToOperation(). Unfortunately the wasmappings list includes an empty string for each operation, meaning that the last operation added will be aliased to the empty string.
> If an incoming request is received with no SOAPAction set, the SOAPActionBasedDispatcher (line 51) calls the service method getOperationByAction() which returns this last operation added. Because the operation has been set by this dispatcher the message receiver code will attempt to invoke the wrong action. This is the cause of AXIS2-1316
> It looks to me like the empty string is being set as an action mapping because the generated service.xml contains an empty <actionMapping> element in the case where no soapAction is defined by the WSDL used for code generation:
> <operation name="addBook" mep="http://www.w3.org/2004/08/wsdl/in-out">
> <actionMapping></actionMapping>
> <outputActionMapping>http://ws.sosnoski.com/library/wsdl/Library/addBookResponse</outputActionMapping>
> </operation>
> The suggested fix is to avoid adding empty strings to the mappingList in org.apache.axis2.deployment.DescriptionBuilder (lines 462-466). I'd prefer to have this change verified by someone who knows this code, though, in case there are side effects from removing the empty string mappings.
--
This message is automatically generated by JIRA.
-
If you think it was sent incorrectly contact one of the administrators: https://issues.apache.org/jira/secure/Administrators.jspa
-
For more information on JIRA, see: http://www.atlassian.com/software/jira
---------------------------------------------------------------------
To unsubscribe, e-mail: axis-dev-unsubscribe@ws.apache.org
For additional commands, e-mail: axis-dev-help@ws.apache.org
[jira] Commented: (AXIS2-1327) Incorrect operation selected when no
SOAPAction specified
Posted by "David Illsley (JIRA)" <ji...@apache.org>.
[ https://issues.apache.org/jira/browse/AXIS2-1327?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel#action_12509044 ]
David Illsley commented on AXIS2-1327:
--------------------------------------
Dims,
I no longer know what the problem is here. The incorrect dispatch will no longer happen.
I still think that something else is broken by the reversion odfgetInputAction, but I'll look into that separately.
David
> Incorrect operation selected when no SOAPAction specified
> ---------------------------------------------------------
>
> Key: AXIS2-1327
> URL: https://issues.apache.org/jira/browse/AXIS2-1327
> Project: Axis 2.0 (Axis2)
> Issue Type: Bug
> Affects Versions: nightly
> Environment: Linux, JDK 1.5.0
> Reporter: Dennis Sosnoski
> Assignee: David Illsley
> Priority: Critical
>
> The org.apache.axis2.description.AxisService.addOperation() method gets an ArrayList of wsamappings (line 376) and then adds each mapping as an alias for the operation by calling mapActionToOperation(). Unfortunately the wasmappings list includes an empty string for each operation, meaning that the last operation added will be aliased to the empty string.
> If an incoming request is received with no SOAPAction set, the SOAPActionBasedDispatcher (line 51) calls the service method getOperationByAction() which returns this last operation added. Because the operation has been set by this dispatcher the message receiver code will attempt to invoke the wrong action. This is the cause of AXIS2-1316
> It looks to me like the empty string is being set as an action mapping because the generated service.xml contains an empty <actionMapping> element in the case where no soapAction is defined by the WSDL used for code generation:
> <operation name="addBook" mep="http://www.w3.org/2004/08/wsdl/in-out">
> <actionMapping></actionMapping>
> <outputActionMapping>http://ws.sosnoski.com/library/wsdl/Library/addBookResponse</outputActionMapping>
> </operation>
> The suggested fix is to avoid adding empty strings to the mappingList in org.apache.axis2.deployment.DescriptionBuilder (lines 462-466). I'd prefer to have this change verified by someone who knows this code, though, in case there are side effects from removing the empty string mappings.
--
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: axis-dev-unsubscribe@ws.apache.org
For additional commands, e-mail: axis-dev-help@ws.apache.org
[jira] Commented: (AXIS2-1327) Incorrect operation selected when no
SOAPAction specified
Posted by "Davanum Srinivas (JIRA)" <ji...@apache.org>.
[ https://issues.apache.org/jira/browse/AXIS2-1327?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel#action_12503112 ]
Davanum Srinivas commented on AXIS2-1327:
-----------------------------------------
David,
should we fix this for 1.3?
thanks,
dims
> Incorrect operation selected when no SOAPAction specified
> ---------------------------------------------------------
>
> Key: AXIS2-1327
> URL: https://issues.apache.org/jira/browse/AXIS2-1327
> Project: Axis 2.0 (Axis2)
> Issue Type: Bug
> Affects Versions: nightly
> Environment: Linux, JDK 1.5.0
> Reporter: Dennis Sosnoski
> Assignee: David Illsley
> Priority: Critical
>
> The org.apache.axis2.description.AxisService.addOperation() method gets an ArrayList of wsamappings (line 376) and then adds each mapping as an alias for the operation by calling mapActionToOperation(). Unfortunately the wasmappings list includes an empty string for each operation, meaning that the last operation added will be aliased to the empty string.
> If an incoming request is received with no SOAPAction set, the SOAPActionBasedDispatcher (line 51) calls the service method getOperationByAction() which returns this last operation added. Because the operation has been set by this dispatcher the message receiver code will attempt to invoke the wrong action. This is the cause of AXIS2-1316
> It looks to me like the empty string is being set as an action mapping because the generated service.xml contains an empty <actionMapping> element in the case where no soapAction is defined by the WSDL used for code generation:
> <operation name="addBook" mep="http://www.w3.org/2004/08/wsdl/in-out">
> <actionMapping></actionMapping>
> <outputActionMapping>http://ws.sosnoski.com/library/wsdl/Library/addBookResponse</outputActionMapping>
> </operation>
> The suggested fix is to avoid adding empty strings to the mappingList in org.apache.axis2.deployment.DescriptionBuilder (lines 462-466). I'd prefer to have this change verified by someone who knows this code, though, in case there are side effects from removing the empty string mappings.
--
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: axis-dev-unsubscribe@ws.apache.org
For additional commands, e-mail: axis-dev-help@ws.apache.org