Details
-
Bug
-
Resolution: Done
-
Minor
-
jbossws-1.0.2
-
None
-
Workaround Exists
-
Description
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: -
[Section 5.3.1]
....
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.
From JSR-181
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
parameters. - If the operation is not marked @Oneway, it may have one of the following
forms:
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.