Status: Closed (View Workflow)
Affects Version/s: jbossws-1.0.2
Fix Version/s: jbossws-2.0.0.CR5
There is some conflicting information in the different specifications regarding how to handle a method in an endpoint interface that does not take any parameters, at the moment we only support this type of method by using wrapped style.
From the BasicProfile: -
Use of wsdl:message elements with zero parts is permitted in Document styles to permit operations that can send or receive messages with empty soap:Bodys.
JSR-181 which states:
- If the operation is marked @Oneway, it MUST have a void return value, a
single non-header parameter marked as IN, and zero or more header
- If the operation is not marked @Oneway, it may have one of the following
o A non-header parameter marked as IN, a non-header parameter marked
as OUT, a void return value, and zero or more header parameters.
o A single non-header parameters marked as IN_OUT, a void return
value, and zero or more header parameters.
o A single non-header parameter marked as IN, non-void return value
and zero or more header parameters.
This clearly requires there to be at least one parameter for a bare doc/lit message.
From JAX-WS (Although not the current spec we implement does show how this has been clarified)
In order to qualify for use of bare mapping mode a Java method must
fulfill all of the following criteria:
1. It must have at most one in or in/out non-header parameter.
2. If it has a return type other than void it must have no in/out or
out non-header parameters.
3. If it has a return type of void it must have at most one in/out or
out non-header parameter.