You are viewing a plain text version of this content. The canonical link for it is here.
Posted to issues@cxf.apache.org by "Gyorgy Orban (JIRA)" <ji...@apache.org> on 2007/11/06 17:13:50 UTC

[jira] Created: (CXF-1180) If Exchange is the last parameter on the method parameter list of a JAX-WS operation, then CXF generates a part for it, so invoking the service fails because there will be too many parameters

If Exchange is the last parameter on the method parameter list of a JAX-WS operation, then CXF generates a part for it, so invoking the service fails because there will be too many parameters 
------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------

                 Key: CXF-1180
                 URL: https://issues.apache.org/jira/browse/CXF-1180
             Project: CXF
          Issue Type: Bug
          Components: JAX-WS Runtime, JAXB Databinding, Service Model
    Affects Versions: 2.1
         Environment: 20071002 snapshot
            Reporter: Gyorgy Orban


If Exchange is the last parameter on the method parameter list of a JAX-WS operation, then CXF generates a part for it, so invoking the service fails because there will be too many parameters. This happens because AbstractInvoker.insertExchange puts the Exchange on the parameter list, but the length of the params array will be the number of parameters of the method + 1. A possible solution would be to skip the Exchange parameter in the service building process.
For STAX services it works fine.

Example:

This method signature doesn't work:

public void arithmetic(@WebParam(targetNamespace = NS_URI, name = "Num1")
	double num1, @WebParam(targetNamespace = NS_URI, name = "Num2")
	double num2,
			@WebParam(targetNamespace = NS_URI, name = "Add", mode = Mode.OUT)
			Holder<Double> add,
			@WebParam(targetNamespace = NS_URI, name = "Sub", mode = Mode.OUT)
			Holder<Double> sub,
			@WebParam(targetNamespace = NS_URI, name = "Mul", mode = Mode.OUT)
			Holder<Double> mul,
			@WebParam(targetNamespace = NS_URI, name = "Div", mode = Mode.OUT)
			Holder<Double> div, 
			Exchange ex) {
...
}

-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.


[jira] Assigned: (CXF-1180) If Exchange is the last parameter on the method parameter list of a JAX-WS operation, then CXF generates a part for it, so invoking the service fails because there will be too many parameters

Posted by "Daniel Kulp (JIRA)" <ji...@apache.org>.
     [ https://issues.apache.org/jira/browse/CXF-1180?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]

Daniel Kulp reassigned CXF-1180:
--------------------------------

    Assignee: Daniel Kulp

> If Exchange is the last parameter on the method parameter list of a JAX-WS operation, then CXF generates a part for it, so invoking the service fails because there will be too many parameters 
> ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
>
>                 Key: CXF-1180
>                 URL: https://issues.apache.org/jira/browse/CXF-1180
>             Project: CXF
>          Issue Type: Bug
>          Components: JAX-WS Runtime, JAXB Databinding, Service Model
>    Affects Versions: 2.1
>         Environment: 20071002 snapshot
>            Reporter: Gyorgy Orban
>            Assignee: Daniel Kulp
>
> If Exchange is the last parameter on the method parameter list of a JAX-WS operation, then CXF generates a part for it, so invoking the service fails because there will be too many parameters. This happens because AbstractInvoker.insertExchange puts the Exchange on the parameter list, but the length of the params array will be the number of parameters of the method + 1. A possible solution would be to skip the Exchange parameter in the service building process.
> For STAX services it works fine.
> Example:
> This method signature doesn't work:
> public void arithmetic(@WebParam(targetNamespace = NS_URI, name = "Num1")
> 	double num1, @WebParam(targetNamespace = NS_URI, name = "Num2")
> 	double num2,
> 			@WebParam(targetNamespace = NS_URI, name = "Add", mode = Mode.OUT)
> 			Holder<Double> add,
> 			@WebParam(targetNamespace = NS_URI, name = "Sub", mode = Mode.OUT)
> 			Holder<Double> sub,
> 			@WebParam(targetNamespace = NS_URI, name = "Mul", mode = Mode.OUT)
> 			Holder<Double> mul,
> 			@WebParam(targetNamespace = NS_URI, name = "Div", mode = Mode.OUT)
> 			Holder<Double> div, 
> 			Exchange ex) {
> ...
> }

-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.


[jira] Resolved: (CXF-1180) If Exchange is the last parameter on the method parameter list of a JAX-WS operation, then CXF generates a part for it, so invoking the service fails because there will be too many parameters

Posted by "Daniel Kulp (JIRA)" <ji...@apache.org>.
     [ https://issues.apache.org/jira/browse/CXF-1180?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]

Daniel Kulp resolved CXF-1180.
------------------------------

       Resolution: Fixed
    Fix Version/s: 2.0.4

> If Exchange is the last parameter on the method parameter list of a JAX-WS operation, then CXF generates a part for it, so invoking the service fails because there will be too many parameters 
> ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
>
>                 Key: CXF-1180
>                 URL: https://issues.apache.org/jira/browse/CXF-1180
>             Project: CXF
>          Issue Type: Bug
>          Components: JAX-WS Runtime, JAXB Databinding, Service Model
>    Affects Versions: 2.1
>         Environment: 20071002 snapshot
>            Reporter: Gyorgy Orban
>            Assignee: Daniel Kulp
>             Fix For: 2.0.4
>
>
> If Exchange is the last parameter on the method parameter list of a JAX-WS operation, then CXF generates a part for it, so invoking the service fails because there will be too many parameters. This happens because AbstractInvoker.insertExchange puts the Exchange on the parameter list, but the length of the params array will be the number of parameters of the method + 1. A possible solution would be to skip the Exchange parameter in the service building process.
> For STAX services it works fine.
> Example:
> This method signature doesn't work:
> public void arithmetic(@WebParam(targetNamespace = NS_URI, name = "Num1")
> 	double num1, @WebParam(targetNamespace = NS_URI, name = "Num2")
> 	double num2,
> 			@WebParam(targetNamespace = NS_URI, name = "Add", mode = Mode.OUT)
> 			Holder<Double> add,
> 			@WebParam(targetNamespace = NS_URI, name = "Sub", mode = Mode.OUT)
> 			Holder<Double> sub,
> 			@WebParam(targetNamespace = NS_URI, name = "Mul", mode = Mode.OUT)
> 			Holder<Double> mul,
> 			@WebParam(targetNamespace = NS_URI, name = "Div", mode = Mode.OUT)
> 			Holder<Double> div, 
> 			Exchange ex) {
> ...
> }

-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.