[
https://issues.apache.org/jira/browse/CXF-7951?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
]
Aritz Bastida updated CXF-7951:
-------------------------------
Description:
According to JAX-WS 2.3 spec, section 2.3.4.3, the async binding differs from
the sync binding in the handling of in-out and out parameters, namely:
* No Holder class is used
* Out parts or wrapper childs are gathered as properties in an entity called
ResponseBean.
Personally, I don't understand the reason for this requirement because it
produces a different method signature, not very convenient. But that' what the
spec days...
In our project we are deploying our services in Weblogic, which includes Metro
(JAX-WS RI) as JAX-WS implementation. And that requires the above signature for
the async binding to work.
However, CXF does not behave the same way: it expects the exact same same
signature in both cases, just differring in the response type and name ("Async"
suffix).
To put you in context, we are using Document/Literal BARE style in our clients,
with four parts in each @WebMethod:
* "request": IN
* "response": OUT
* "cabecera": IN-OUT header=true
* "metadatos": IN-OUT header=true
So, for the sync binding we have three method parameters, the last two wrapped
by Holders. That same signature works in tthe async style, but Weblogic/JAX-WS
RI doesn't like it...
was:
According to JAX-WS 2.3 spec, section 2.3.4.3, the async binding differs from
the sync binding in the handling of in-out and out parameters, namely:
* No Holder class is used
* Out parts or wrapper childs are gathered as properties in an ebtity called
RespobseBean.
Personally, I don't understand this requirement because this results in a
different method signature. But for some reason that' what the spec days...
In our project we are deploying our our services in Weblogic, which includes
Metro (JAX-WS RI) as JAX-WS implementation. And that requires the above
signature for the async binding to work.
However, CXF does not behave the same way: it expects the exact same same
signature in both cases, just differring in the response type and name ("Async"
suffix).
To put you in context, we are using Document/Literal Bare style in our clients,
with four parts:
* "request": IN
* "response": OUT
* "cabecera": IN-OUT header=true
* "metadatos": IN-OUT header=true
So, for the sync binding we have three method parameters, the last two wrapped
by Holders. That same signature works in tthe async style, but Weblogic/JAX-WS
RI doesn't like it...
> Async binding not JAX-WS compliant
> ----------------------------------
>
> Key: CXF-7951
> URL: https://issues.apache.org/jira/browse/CXF-7951
> Project: CXF
> Issue Type: Bug
> Components: JAX-WS Runtime
> Affects Versions: 3.2.6
> Reporter: Aritz Bastida
> Priority: Major
>
> According to JAX-WS 2.3 spec, section 2.3.4.3, the async binding differs from
> the sync binding in the handling of in-out and out parameters, namely:
> * No Holder class is used
> * Out parts or wrapper childs are gathered as properties in an entity called
> ResponseBean.
> Personally, I don't understand the reason for this requirement because it
> produces a different method signature, not very convenient. But that' what
> the spec days...
> In our project we are deploying our services in Weblogic, which includes
> Metro (JAX-WS RI) as JAX-WS implementation. And that requires the above
> signature for the async binding to work.
> However, CXF does not behave the same way: it expects the exact same same
> signature in both cases, just differring in the response type and name
> ("Async" suffix).
> To put you in context, we are using Document/Literal BARE style in our
> clients, with four parts in each @WebMethod:
> * "request": IN
> * "response": OUT
> * "cabecera": IN-OUT header=true
> * "metadatos": IN-OUT header=true
> So, for the sync binding we have three method parameters, the last two
> wrapped by Holders. That same signature works in tthe async style, but
> Weblogic/JAX-WS RI doesn't like it...
--
This message was sent by Atlassian JIRA
(v7.6.3#76005)