You are viewing a plain text version of this content. The canonical link for it is here.
Posted to rampart-dev@ws.apache.org by "Lori VanGulick (JIRA)" <ji...@apache.org> on 2010/07/07 23:08:51 UTC
[jira] Updated: (AXIS2-4763) Comply with JAX-WS 2.2: do not send
response when Provider returns null
[ https://issues.apache.org/jira/browse/AXIS2-4763?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]
Lori VanGulick updated AXIS2-4763:
----------------------------------
Attachment: PM16015_axis2_patch.txt
I have attached a patch which contains the following fix:
A new configuration property is introduced to enable JAX-WS web
service Providers without WSDL which return null to behave
like one-way operations and not return a SOAP response.
The property name is
"jaxws.provider.interpretNullAsOneway"
The value is "true" or "false".
The default value is "false".
When the property is set to true, the JAX-WS runtime
will detect a null return from a Provider which does not
specify WSDL and it will not generate a SOAP response. Instead
an HTTP acknowldegement will be returned, just as is the case
for a one-way operation.
Note that the client invoking such a Provider must use a
one-way invocation pattern, for example:
dispatch.invokeOneWay(requestSource);
Note that if the operation is defined in WSDL as
two-way the runtime will continue to send a response
consisting of a SOAPEnvelope containing an empty SOAPBody,
regardless of the property setting.
> Comply with JAX-WS 2.2: do not send response when Provider returns null
> -----------------------------------------------------------------------
>
> Key: AXIS2-4763
> URL: https://issues.apache.org/jira/browse/AXIS2-4763
> Project: Axis2
> Issue Type: Improvement
> Components: jaxws
> Reporter: Lori VanGulick
> Assignee: Rich Scheuerle
> Attachments: PM16015_axis2_patch.txt
>
>
> The JAX-WS 2.2 specification, section 5.1.1, states that when
> a Provider invoke method returns null, it is considered that no
> response needs to be sent by the service.
> Currently in the JAX-WS runtime there is no way for a Provider
> which does not specify a WSDL file to act like a one-way
> operation (that is, an operation that does not return a SOAP
> response, but instead responds with an HTTP acknowledgement).
> The current behavior of a JAX-WS web service Provider which
> does not specify a WSDL file is to always return a response.
> In the case where the Provider returns null, the response
> consists of a SOAPEnvelope which contains a SOAPBody that is
> empty.
> The following is an example of a Provider which returns
> null and does not have a WSDL file:
> @WebServiceProvider
> public class HelloProvider implements Provider<Source> {
> @Override
> public Source invoke(Source req) {
> return null;
> }
> }
> The invocation of Provider<T>.invoke()produces the following
> SOAP response:
> <soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.
> org/soap/envelope/">
> <soapenv:Body/>
> </soapenv:Envelope>
> The desired behavior is for the invocation to return no SOAP
> response.
--
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: java-dev-unsubscribe@axis.apache.org
For additional commands, e-mail: java-dev-help@axis.apache.org