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.