cxf-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Glen Mazza <>
Subject wrapper vs. non-wrapper style confusion
Date Sat, 16 Feb 2008 13:49:25 GMT

Some questions:

1.)  According to the JAX-WS 2.1 Spec of May 2007, Section and, for the following web service (from Figure 2.2):

<operation name="setLastTradePrice">
    <!-- input contains ticker symbol and last trade price elements -->
    <input message="tns:setLastTradePrice"/>
    <output message="tns:setLastTradePriceResponse"/>

This is non-wrapper style mapping:
SetLastTradePriceResponse setLastTradePrice(SetLastTradePrice

This is wrapper style mapping:
void setLastTradePrice(String tickerSymbol, float lastTradePrice);

Is it just me, or does this seem highly counterintuitive?  I would say
the "wrapper" style uses one object to hold (or wrap) all the input
elements constituting the request, while the "non-wrapper" (i.e.
unwrapped) style would provide separate Java parameters for each part of
the SOAP request.  

2.) The wrapper / non-wrapper style above is a separate concept that is
unrelated to 
@javax.jws.SOAPBinding(parameterStyle.WRAPPED) and 
@javax.jws.SOAPBinding(parameterStyle.BARE), correct?

3.) If (2) is "Yes":  I think our WSDL2Java page[1] may have some
confusing phrasing here:

Q: My WSDL is in wrapped style, but how can I generate the bare style

A: You can customize the WSDL with the following binding file:


I think the question should be phrased as:  "My WSDL is in wrapper
style, but how can I generate the non-wrapper style code?"

AFAICT, the term "bare" has nothing to do with <enableWrapperStyle/>,
it's an unrelated concept.

I'll add more clarification to the Wiki page here as soon as I
understand things better.


View raw message