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 "Mike Rheinheimer (JIRA)" <ji...@apache.org> on 2008/02/29 19:00:51 UTC
[jira] Created: (AXIS2-3560) dispatchable OperationDescription list
is incorrect
dispatchable OperationDescription list is incorrect
---------------------------------------------------
Key: AXIS2-3560
URL: https://issues.apache.org/jira/browse/AXIS2-3560
Project: Axis 2.0 (Axis2)
Issue Type: Bug
Components: jaxws
Reporter: Mike Rheinheimer
In the metadata module, the org.apache.axis2.jaxws.description.impl.OperationDescriptionImpl.isJAXWSAsyncClientMethod() has some incorrect logic at the end:
CURRENTLY:
if (methodName != null && returnTypeName != null) {
// REVIEW: Not sure the method MUST end with "Async"; I think it can be customized.
answer = methodName.endsWith("Async")
&& (returnTypeName.equals(Response.class.getName()) ||
returnTypeName.equals(Future.class.getName()));
}
The returnTypeName, however, is always one of the forms:
javax.xml.ws.Response<some.other.MyClass>
java.util.concurrent.Future<some.other.MyClass>
Thus the check for returnTypeName.equals(Response.class.getName()) or returnTypeName.equals(Future.class.getName()) will ALWAYS FAIL. Not only that, the placement of the && and || and lack of perentheses means the statement is interpreted as such:
answer = ( methodName.endsWith("Async")
&& (returnTypeName.equals(Response.class.getName()) ) ||
returnTypeName.equals(Future.class.getName()));
Ok, so the reason I'm not fixing this, is because the change over to this logic:
answer = methodName.endsWith("Async")
&& (((returnTypeName.indexOf(Response.class.getName()) == 0) ||
returnTypeName.indexOf(Future.class.getName()) == 0));
caused much test breakage.
UNCOMMENT suite.addTestSuite(NonWrapTests.class); in JAXWSTest and fix the logic in OperationDescriptionImpl.
I'll continue to look at this...
--
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] Updated: (AXIS2-3560) [Break] NonWrapTests break -
dispatchable OperationDescription list is incorrect
Posted by "Mike Rheinheimer (JIRA)" <ji...@apache.org>.
[ https://issues.apache.org/jira/browse/AXIS2-3560?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]
Mike Rheinheimer updated AXIS2-3560:
------------------------------------
Attachment: patch.txt
Attached patch is the fix applied in rev 638059. This item is resolved fixed.
> [Break] NonWrapTests break - dispatchable OperationDescription list is incorrect
> ---------------------------------------------------------------------------------
>
> Key: AXIS2-3560
> URL: https://issues.apache.org/jira/browse/AXIS2-3560
> Project: Axis 2.0 (Axis2)
> Issue Type: Bug
> Components: jaxws
> Reporter: Mike Rheinheimer
> Assignee: Mike Rheinheimer
> Priority: Blocker
> Fix For: 1.4
>
> Attachments: patch.txt
>
>
> In the metadata module, the org.apache.axis2.jaxws.description.impl.OperationDescriptionImpl.isJAXWSAsyncClientMethod() has some incorrect logic at the end:
> CURRENTLY:
> if (methodName != null && returnTypeName != null) {
> // REVIEW: Not sure the method MUST end with "Async"; I think it can be customized.
> answer = methodName.endsWith("Async")
> && (returnTypeName.equals(Response.class.getName()) ||
> returnTypeName.equals(Future.class.getName()));
> }
> The returnTypeName, however, is always one of the forms:
> javax.xml.ws.Response<some.other.MyClass>
> java.util.concurrent.Future<some.other.MyClass>
> Thus the check for returnTypeName.equals(Response.class.getName()) or returnTypeName.equals(Future.class.getName()) will ALWAYS FAIL. Not only that, the placement of the && and || and lack of perentheses means the statement is interpreted as such:
> answer = ( methodName.endsWith("Async")
> && (returnTypeName.equals(Response.class.getName()) ) ||
> returnTypeName.equals(Future.class.getName()));
> Ok, so the reason I'm not fixing this, is because the change over to this logic:
> answer = methodName.endsWith("Async")
> && (((returnTypeName.indexOf(Response.class.getName()) == 0) ||
> returnTypeName.indexOf(Future.class.getName()) == 0));
> caused much test breakage.
> UNCOMMENT suite.addTestSuite(NonWrapTests.class); in JAXWSTest and fix the logic in OperationDescriptionImpl.
> I'll continue to look at this...
--
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] Updated: (AXIS2-3560) NonWrapTests break - dispatchable
OperationDescription list is incorrect
Posted by "Davanum Srinivas (JIRA)" <ji...@apache.org>.
[ https://issues.apache.org/jira/browse/AXIS2-3560?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]
Davanum Srinivas updated AXIS2-3560:
------------------------------------
Priority: Blocker (was: Major)
> NonWrapTests break - dispatchable OperationDescription list is incorrect
> -------------------------------------------------------------------------
>
> Key: AXIS2-3560
> URL: https://issues.apache.org/jira/browse/AXIS2-3560
> Project: Axis 2.0 (Axis2)
> Issue Type: Bug
> Components: jaxws
> Reporter: Mike Rheinheimer
> Assignee: Mike Rheinheimer
> Priority: Blocker
> Fix For: 1.4
>
>
> In the metadata module, the org.apache.axis2.jaxws.description.impl.OperationDescriptionImpl.isJAXWSAsyncClientMethod() has some incorrect logic at the end:
> CURRENTLY:
> if (methodName != null && returnTypeName != null) {
> // REVIEW: Not sure the method MUST end with "Async"; I think it can be customized.
> answer = methodName.endsWith("Async")
> && (returnTypeName.equals(Response.class.getName()) ||
> returnTypeName.equals(Future.class.getName()));
> }
> The returnTypeName, however, is always one of the forms:
> javax.xml.ws.Response<some.other.MyClass>
> java.util.concurrent.Future<some.other.MyClass>
> Thus the check for returnTypeName.equals(Response.class.getName()) or returnTypeName.equals(Future.class.getName()) will ALWAYS FAIL. Not only that, the placement of the && and || and lack of perentheses means the statement is interpreted as such:
> answer = ( methodName.endsWith("Async")
> && (returnTypeName.equals(Response.class.getName()) ) ||
> returnTypeName.equals(Future.class.getName()));
> Ok, so the reason I'm not fixing this, is because the change over to this logic:
> answer = methodName.endsWith("Async")
> && (((returnTypeName.indexOf(Response.class.getName()) == 0) ||
> returnTypeName.indexOf(Future.class.getName()) == 0));
> caused much test breakage.
> UNCOMMENT suite.addTestSuite(NonWrapTests.class); in JAXWSTest and fix the logic in OperationDescriptionImpl.
> I'll continue to look at this...
--
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] Updated: (AXIS2-3560) NonWrapTests break - dispatchable
OperationDescription list is incorrect
Posted by "Davanum Srinivas (JIRA)" <ji...@apache.org>.
[ https://issues.apache.org/jira/browse/AXIS2-3560?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]
Davanum Srinivas updated AXIS2-3560:
------------------------------------
Summary: NonWrapTests break - dispatchable OperationDescription list is incorrect (was: dispatchable OperationDescription list is incorrect)
> NonWrapTests break - dispatchable OperationDescription list is incorrect
> -------------------------------------------------------------------------
>
> Key: AXIS2-3560
> URL: https://issues.apache.org/jira/browse/AXIS2-3560
> Project: Axis 2.0 (Axis2)
> Issue Type: Bug
> Components: jaxws
> Reporter: Mike Rheinheimer
> Assignee: Mike Rheinheimer
> Fix For: 1.4
>
>
> In the metadata module, the org.apache.axis2.jaxws.description.impl.OperationDescriptionImpl.isJAXWSAsyncClientMethod() has some incorrect logic at the end:
> CURRENTLY:
> if (methodName != null && returnTypeName != null) {
> // REVIEW: Not sure the method MUST end with "Async"; I think it can be customized.
> answer = methodName.endsWith("Async")
> && (returnTypeName.equals(Response.class.getName()) ||
> returnTypeName.equals(Future.class.getName()));
> }
> The returnTypeName, however, is always one of the forms:
> javax.xml.ws.Response<some.other.MyClass>
> java.util.concurrent.Future<some.other.MyClass>
> Thus the check for returnTypeName.equals(Response.class.getName()) or returnTypeName.equals(Future.class.getName()) will ALWAYS FAIL. Not only that, the placement of the && and || and lack of perentheses means the statement is interpreted as such:
> answer = ( methodName.endsWith("Async")
> && (returnTypeName.equals(Response.class.getName()) ) ||
> returnTypeName.equals(Future.class.getName()));
> Ok, so the reason I'm not fixing this, is because the change over to this logic:
> answer = methodName.endsWith("Async")
> && (((returnTypeName.indexOf(Response.class.getName()) == 0) ||
> returnTypeName.indexOf(Future.class.getName()) == 0));
> caused much test breakage.
> UNCOMMENT suite.addTestSuite(NonWrapTests.class); in JAXWSTest and fix the logic in OperationDescriptionImpl.
> I'll continue to look at this...
--
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-3560) dispatchable OperationDescription
list is incorrect
Posted by "Davanum Srinivas (JIRA)" <ji...@apache.org>.
[ https://issues.apache.org/jira/browse/AXIS2-3560?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=12576647#action_12576647 ]
Davanum Srinivas commented on AXIS2-3560:
-----------------------------------------
Mike,
is this needed for 1.4?
> dispatchable OperationDescription list is incorrect
> ---------------------------------------------------
>
> Key: AXIS2-3560
> URL: https://issues.apache.org/jira/browse/AXIS2-3560
> Project: Axis 2.0 (Axis2)
> Issue Type: Bug
> Components: jaxws
> Reporter: Mike Rheinheimer
> Assignee: Mike Rheinheimer
> Fix For: 1.4
>
>
> In the metadata module, the org.apache.axis2.jaxws.description.impl.OperationDescriptionImpl.isJAXWSAsyncClientMethod() has some incorrect logic at the end:
> CURRENTLY:
> if (methodName != null && returnTypeName != null) {
> // REVIEW: Not sure the method MUST end with "Async"; I think it can be customized.
> answer = methodName.endsWith("Async")
> && (returnTypeName.equals(Response.class.getName()) ||
> returnTypeName.equals(Future.class.getName()));
> }
> The returnTypeName, however, is always one of the forms:
> javax.xml.ws.Response<some.other.MyClass>
> java.util.concurrent.Future<some.other.MyClass>
> Thus the check for returnTypeName.equals(Response.class.getName()) or returnTypeName.equals(Future.class.getName()) will ALWAYS FAIL. Not only that, the placement of the && and || and lack of perentheses means the statement is interpreted as such:
> answer = ( methodName.endsWith("Async")
> && (returnTypeName.equals(Response.class.getName()) ) ||
> returnTypeName.equals(Future.class.getName()));
> Ok, so the reason I'm not fixing this, is because the change over to this logic:
> answer = methodName.endsWith("Async")
> && (((returnTypeName.indexOf(Response.class.getName()) == 0) ||
> returnTypeName.indexOf(Future.class.getName()) == 0));
> caused much test breakage.
> UNCOMMENT suite.addTestSuite(NonWrapTests.class); in JAXWSTest and fix the logic in OperationDescriptionImpl.
> I'll continue to look at this...
--
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] Updated: (AXIS2-3560) [Break] NonWrapTests break -
dispatchable OperationDescription list is incorrect
Posted by "Davanum Srinivas (JIRA)" <ji...@apache.org>.
[ https://issues.apache.org/jira/browse/AXIS2-3560?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]
Davanum Srinivas updated AXIS2-3560:
------------------------------------
Summary: [Break] NonWrapTests break - dispatchable OperationDescription list is incorrect (was: NonWrapTests break - dispatchable OperationDescription list is incorrect)
> [Break] NonWrapTests break - dispatchable OperationDescription list is incorrect
> ---------------------------------------------------------------------------------
>
> Key: AXIS2-3560
> URL: https://issues.apache.org/jira/browse/AXIS2-3560
> Project: Axis 2.0 (Axis2)
> Issue Type: Bug
> Components: jaxws
> Reporter: Mike Rheinheimer
> Assignee: Mike Rheinheimer
> Priority: Blocker
> Fix For: 1.4
>
>
> In the metadata module, the org.apache.axis2.jaxws.description.impl.OperationDescriptionImpl.isJAXWSAsyncClientMethod() has some incorrect logic at the end:
> CURRENTLY:
> if (methodName != null && returnTypeName != null) {
> // REVIEW: Not sure the method MUST end with "Async"; I think it can be customized.
> answer = methodName.endsWith("Async")
> && (returnTypeName.equals(Response.class.getName()) ||
> returnTypeName.equals(Future.class.getName()));
> }
> The returnTypeName, however, is always one of the forms:
> javax.xml.ws.Response<some.other.MyClass>
> java.util.concurrent.Future<some.other.MyClass>
> Thus the check for returnTypeName.equals(Response.class.getName()) or returnTypeName.equals(Future.class.getName()) will ALWAYS FAIL. Not only that, the placement of the && and || and lack of perentheses means the statement is interpreted as such:
> answer = ( methodName.endsWith("Async")
> && (returnTypeName.equals(Response.class.getName()) ) ||
> returnTypeName.equals(Future.class.getName()));
> Ok, so the reason I'm not fixing this, is because the change over to this logic:
> answer = methodName.endsWith("Async")
> && (((returnTypeName.indexOf(Response.class.getName()) == 0) ||
> returnTypeName.indexOf(Future.class.getName()) == 0));
> caused much test breakage.
> UNCOMMENT suite.addTestSuite(NonWrapTests.class); in JAXWSTest and fix the logic in OperationDescriptionImpl.
> I'll continue to look at this...
--
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-3560) dispatchable OperationDescription
list is incorrect
Posted by "Mike Rheinheimer (JIRA)" <ji...@apache.org>.
[ https://issues.apache.org/jira/browse/AXIS2-3560?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=12577055#action_12577055 ]
Mike Rheinheimer commented on AXIS2-3560:
-----------------------------------------
I believe it is required, since all non-wrap style transactions would fail without this fix.
> dispatchable OperationDescription list is incorrect
> ---------------------------------------------------
>
> Key: AXIS2-3560
> URL: https://issues.apache.org/jira/browse/AXIS2-3560
> Project: Axis 2.0 (Axis2)
> Issue Type: Bug
> Components: jaxws
> Reporter: Mike Rheinheimer
> Assignee: Mike Rheinheimer
> Fix For: 1.4
>
>
> In the metadata module, the org.apache.axis2.jaxws.description.impl.OperationDescriptionImpl.isJAXWSAsyncClientMethod() has some incorrect logic at the end:
> CURRENTLY:
> if (methodName != null && returnTypeName != null) {
> // REVIEW: Not sure the method MUST end with "Async"; I think it can be customized.
> answer = methodName.endsWith("Async")
> && (returnTypeName.equals(Response.class.getName()) ||
> returnTypeName.equals(Future.class.getName()));
> }
> The returnTypeName, however, is always one of the forms:
> javax.xml.ws.Response<some.other.MyClass>
> java.util.concurrent.Future<some.other.MyClass>
> Thus the check for returnTypeName.equals(Response.class.getName()) or returnTypeName.equals(Future.class.getName()) will ALWAYS FAIL. Not only that, the placement of the && and || and lack of perentheses means the statement is interpreted as such:
> answer = ( methodName.endsWith("Async")
> && (returnTypeName.equals(Response.class.getName()) ) ||
> returnTypeName.equals(Future.class.getName()));
> Ok, so the reason I'm not fixing this, is because the change over to this logic:
> answer = methodName.endsWith("Async")
> && (((returnTypeName.indexOf(Response.class.getName()) == 0) ||
> returnTypeName.indexOf(Future.class.getName()) == 0));
> caused much test breakage.
> UNCOMMENT suite.addTestSuite(NonWrapTests.class); in JAXWSTest and fix the logic in OperationDescriptionImpl.
> I'll continue to look at this...
--
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] Resolved: (AXIS2-3560) [Break] NonWrapTests break -
dispatchable OperationDescription list is incorrect
Posted by "Mike Rheinheimer (JIRA)" <ji...@apache.org>.
[ https://issues.apache.org/jira/browse/AXIS2-3560?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]
Mike Rheinheimer resolved AXIS2-3560.
-------------------------------------
Resolution: Fixed
Fixed in rev 638059
> [Break] NonWrapTests break - dispatchable OperationDescription list is incorrect
> ---------------------------------------------------------------------------------
>
> Key: AXIS2-3560
> URL: https://issues.apache.org/jira/browse/AXIS2-3560
> Project: Axis 2.0 (Axis2)
> Issue Type: Bug
> Components: jaxws
> Reporter: Mike Rheinheimer
> Assignee: Mike Rheinheimer
> Priority: Blocker
> Fix For: 1.4
>
> Attachments: patch.txt
>
>
> In the metadata module, the org.apache.axis2.jaxws.description.impl.OperationDescriptionImpl.isJAXWSAsyncClientMethod() has some incorrect logic at the end:
> CURRENTLY:
> if (methodName != null && returnTypeName != null) {
> // REVIEW: Not sure the method MUST end with "Async"; I think it can be customized.
> answer = methodName.endsWith("Async")
> && (returnTypeName.equals(Response.class.getName()) ||
> returnTypeName.equals(Future.class.getName()));
> }
> The returnTypeName, however, is always one of the forms:
> javax.xml.ws.Response<some.other.MyClass>
> java.util.concurrent.Future<some.other.MyClass>
> Thus the check for returnTypeName.equals(Response.class.getName()) or returnTypeName.equals(Future.class.getName()) will ALWAYS FAIL. Not only that, the placement of the && and || and lack of perentheses means the statement is interpreted as such:
> answer = ( methodName.endsWith("Async")
> && (returnTypeName.equals(Response.class.getName()) ) ||
> returnTypeName.equals(Future.class.getName()));
> Ok, so the reason I'm not fixing this, is because the change over to this logic:
> answer = methodName.endsWith("Async")
> && (((returnTypeName.indexOf(Response.class.getName()) == 0) ||
> returnTypeName.indexOf(Future.class.getName()) == 0));
> caused much test breakage.
> UNCOMMENT suite.addTestSuite(NonWrapTests.class); in JAXWSTest and fix the logic in OperationDescriptionImpl.
> I'll continue to look at this...
--
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] Updated: (AXIS2-3560) dispatchable OperationDescription list
is incorrect
Posted by "Davanum Srinivas (JIRA)" <ji...@apache.org>.
[ https://issues.apache.org/jira/browse/AXIS2-3560?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]
Davanum Srinivas updated AXIS2-3560:
------------------------------------
Fix Version/s: 1.4
Assignee: Mike Rheinheimer
> dispatchable OperationDescription list is incorrect
> ---------------------------------------------------
>
> Key: AXIS2-3560
> URL: https://issues.apache.org/jira/browse/AXIS2-3560
> Project: Axis 2.0 (Axis2)
> Issue Type: Bug
> Components: jaxws
> Reporter: Mike Rheinheimer
> Assignee: Mike Rheinheimer
> Fix For: 1.4
>
>
> In the metadata module, the org.apache.axis2.jaxws.description.impl.OperationDescriptionImpl.isJAXWSAsyncClientMethod() has some incorrect logic at the end:
> CURRENTLY:
> if (methodName != null && returnTypeName != null) {
> // REVIEW: Not sure the method MUST end with "Async"; I think it can be customized.
> answer = methodName.endsWith("Async")
> && (returnTypeName.equals(Response.class.getName()) ||
> returnTypeName.equals(Future.class.getName()));
> }
> The returnTypeName, however, is always one of the forms:
> javax.xml.ws.Response<some.other.MyClass>
> java.util.concurrent.Future<some.other.MyClass>
> Thus the check for returnTypeName.equals(Response.class.getName()) or returnTypeName.equals(Future.class.getName()) will ALWAYS FAIL. Not only that, the placement of the && and || and lack of perentheses means the statement is interpreted as such:
> answer = ( methodName.endsWith("Async")
> && (returnTypeName.equals(Response.class.getName()) ) ||
> returnTypeName.equals(Future.class.getName()));
> Ok, so the reason I'm not fixing this, is because the change over to this logic:
> answer = methodName.endsWith("Async")
> && (((returnTypeName.indexOf(Response.class.getName()) == 0) ||
> returnTypeName.indexOf(Future.class.getName()) == 0));
> caused much test breakage.
> UNCOMMENT suite.addTestSuite(NonWrapTests.class); in JAXWSTest and fix the logic in OperationDescriptionImpl.
> I'll continue to look at this...
--
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-3560) [Break] NonWrapTests break -
dispatchable OperationDescription list is incorrect
Posted by "Mike Rheinheimer (JIRA)" <ji...@apache.org>.
[ https://issues.apache.org/jira/browse/AXIS2-3560?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=12578895#action_12578895 ]
Mike Rheinheimer commented on AXIS2-3560:
-----------------------------------------
The correct code for OperationDescriptionImpl.isJAXWSAsyncClientMethod() is:
answer = methodName.endsWith("Async")
&& ((returnTypeName.contains(Response.class.getName()) ||
returnTypeName.contains(Future.class.getName())));
After I implemented this, I ran into another problem where the server side was processing async operations. It should not be doing this. Running theory:
org.apache.axis2.jaxws.runtime.description.marshal.impl.AnnotationBuilder.getAnnotationDescs
(EndpointInterfaceDescription endpointInterfaceDesc,
ArtifactProcessor ap,
Map<String, AnnotationDesc> map)
We need to see if we are on the client or the server side. If on the client, we call EndpointInterfaceDescription.getOperations(). If on the server, we call EndpointInterfaceDescription.getDispatchableOperations()
I tried this, and ran into yet another problem:
java.lang.ClassCastException: java.lang.Class incompatible with java.lang.reflect.ParameterizedType
I'll continue looking at this during week of 3/17.
> [Break] NonWrapTests break - dispatchable OperationDescription list is incorrect
> ---------------------------------------------------------------------------------
>
> Key: AXIS2-3560
> URL: https://issues.apache.org/jira/browse/AXIS2-3560
> Project: Axis 2.0 (Axis2)
> Issue Type: Bug
> Components: jaxws
> Reporter: Mike Rheinheimer
> Assignee: Mike Rheinheimer
> Priority: Blocker
> Fix For: 1.4
>
>
> In the metadata module, the org.apache.axis2.jaxws.description.impl.OperationDescriptionImpl.isJAXWSAsyncClientMethod() has some incorrect logic at the end:
> CURRENTLY:
> if (methodName != null && returnTypeName != null) {
> // REVIEW: Not sure the method MUST end with "Async"; I think it can be customized.
> answer = methodName.endsWith("Async")
> && (returnTypeName.equals(Response.class.getName()) ||
> returnTypeName.equals(Future.class.getName()));
> }
> The returnTypeName, however, is always one of the forms:
> javax.xml.ws.Response<some.other.MyClass>
> java.util.concurrent.Future<some.other.MyClass>
> Thus the check for returnTypeName.equals(Response.class.getName()) or returnTypeName.equals(Future.class.getName()) will ALWAYS FAIL. Not only that, the placement of the && and || and lack of perentheses means the statement is interpreted as such:
> answer = ( methodName.endsWith("Async")
> && (returnTypeName.equals(Response.class.getName()) ) ||
> returnTypeName.equals(Future.class.getName()));
> Ok, so the reason I'm not fixing this, is because the change over to this logic:
> answer = methodName.endsWith("Async")
> && (((returnTypeName.indexOf(Response.class.getName()) == 0) ||
> returnTypeName.indexOf(Future.class.getName()) == 0));
> caused much test breakage.
> UNCOMMENT suite.addTestSuite(NonWrapTests.class); in JAXWSTest and fix the logic in OperationDescriptionImpl.
> I'll continue to look at this...
--
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