Thanks, Ivan!

Yep, Iris referred the latest mr4, that explicitly mentions getMessage() for 
bean getters:
"All the getter methods except getMessage from java.lang.Throwable type 
hierarchy
are excluded from the list of getters to be mapped. "

As far as RI also generates getMessage() accordingly spec, it seems that we are 
really incompatible here.
+1 to create Jira issue.

Cheers,
Andrei.

> -----Original Message-----
> From: Ivan [mailto:[email protected]]
> Sent: Donnerstag, 10. Januar 2013 10:50
> To: [email protected]
> Subject: Re: getMessage from java.lang.Throwable is excluded from
> accepted method
> 
> Well, the latest the spec is mr4, I think Iris referred to the latest 
> version. One
> of the reason for this change is that, a new method getSuppressed is added
> in JDK 7. I am thinking that CXF is 'lucky' here as it does not strictly 
> follow the
> rules required by spec
> 
> [1] http://jcp.org/en/jsr/detail?id=224
> 
> 
> 2013/1/10 Andrei Shakirin <[email protected]>
> 
> > Hi Freeman,
> >
> > I am not completely agree with you.
> > The spec statement "3. For each getter in the exception ..." didn't
> > really changed from 2_0 to 2_2.
> > Spec explicitly says which methods must be excluded from getters:
> > getCause(), getLocalizedMessage(), getStackTrace() and getClass().
> > getMessage() is not in the list => getter should be generated.
> >
> > If you check RI, it generates following for exception element:
> >
> > <xs:complexType name="AddNumbersException">  <xs:sequence>
> >     <xs:element name="detail" type="xs:string" minOccurs="0"/>
> >     <xs:element name="message" type="xs:string" minOccurs="0"/>
> >   </xs:sequence>
> > </xs:complexType>
> >
> > Precisely said, we are not 100% compatible with the spec here,
> > although I agree with Dan regarding performance concern and possible
> > duplication of fault:Message.
> >
> > Would we like to fix it in further CXF versions?
> > Any thoughts?
> >
> > Cheers,
> > Andrei.
> >
> > > -----Original Message-----
> > > From: Freeman Fang [mailto:[email protected]]
> > > Sent: Donnerstag, 10. Januar 2013 06:26
> > > To: [email protected]
> > > Cc: [email protected]
> > > Subject: Re: getMessage from java.lang.Throwable is excluded from
> > > accepted method
> > >
> > > Hi Iris,
> > >
> > > Yep, I'm with Dan here.
> > >
> > > Moreover, seems your spec isn't the latest one. What I read from
> > > this
> > part is
> > > For each getter in the exception and its superclasses, a property of
> > > the
> > same
> > > type and name is added to the bean. The getCause,
> > > getLocalizedMessage and getStackTrace getters from
> > > java.lang.Throwable and the getClass
> > getter
> > > from java.lang.Object are excluded from the list of getters to be mapped.
> > >
> > > In java.lang.Throwable.getLocalizedMessage() will return
> > > getMessage(), that's what's the message you set from your code
> > > super(message);
> > >
> > >
> > > FYI, you can download the latest JAXWS 2.2 spec from here[1], it's
> > > Maintenance Release 3
> > > [1]http://download.oracle.com/otndocs/jcp/jaxws-
> > > 2.2-mrel3-full-oth-JSpec/
> > >
> > > −−−−−−−−−−−−−
> > > Freeman(Yue) Fang
> > >
> > > Red Hat, Inc.
> > > FuseSource is now part of Red Hat
> > > Web: http://fusesource.com | http://www.redhat.com/
> > > Twitter: freemanfang
> > > Blog: http://freemanfang.blogspot.com
> > > http://blog.sina.com.cn/u/1473905042
> > > weibo: @Freeman小屋
> > >
> > > On 2013-1-9, at 下午11:57, Daniel Kulp wrote:
> > >
> > > >
> > > > Yea, definitely check what the RI is doing here.   IMO, it shouldn't be
> > > mapped as the information would already be available on the wire as
> > > part
> > of
> > > the <fault:Message> and thus outputting it in the details would just
> > > be redundant, waste bandwidth, etc….
> > > >
> > > >
> > > > Dan
> > > >
> > > >
> > > > On Jan 9, 2013, at 8:35 AM, Andrei Shakirin <[email protected]>
> > wrote:
> > > >
> > > >> Hi Iris,
> > > >>
> > > >> If I interpret spec correctly, you are right.
> > > >> Java bean mapped from exception should have getMessage()
> method.
> > > >>
> > > >> Did you check it under the reference implementation?
> > > >>
> > > >> Cheers,
> > > >> Andrei.
> > > >>
> > > >>> -----Original Message-----
> > > >>> From: iris ding [mailto:[email protected]]
> > > >>> Sent: Dienstag, 8. Januar 2013 02:56
> > > >>> To: [email protected]
> > > >>> Subject: getMessage from java.lang.Throwable is excluded from
> > > >>> accepted method
> > > >>>
> > > >>> According to jax-ws spec:
> > > >>>
> > > >>> For each getter in the exception and its superclasses, a
> > > >>> property of the same type and name is added to the bean. All the
> > > >>> getter methods except getMessage from java.lang.Throwable type
> > > >>> hierarchy are excluded from the list of getters to be mapped.
> > > >>>
> > > >>> But currently, message does not show up in generated wsdl in CXF:
> > > >>>
> > > >>> public class AddNumbersException extends Exception {
> > > >>>   private static final long serialVersionUID =
> > > >>> 4629689348515005826L; String detail;
> > > >>>
> > > >>>   public AddNumbersException(String message, String detail) {
> > > >>>       super(message);
> > > >>>       this.detail = detail;
> > > >>>   }
> > > >>>
> > > >>>  public String getDetail() {
> > > >>>      return detail;
> > > >>>  }
> > > >>> }
> > > >>> <xs:complexType name="AddNumbersException"> <xs:sequence>
> > > >>> <xs:element name="detail" nillable="true" type="xs:string"/>
> > > >>> </xs:sequence> </xs:complexType>
> > > >>>
> > > >>> The corrected version should be:
> > > >>> <xs:complexType name="AddNumbersException"> <xs:sequence>
> > > >>> <xs:element name="detail" nillable="true" type="xs:string"/>
> > > >>> <xs:element name="message" nillable="true" type="xs:string"/>
> > > >>> </xs:sequence> </xs:complexType>
> > > >>>
> > > >>> any thoughts?
> > > >>>
> > > >>>
> > > >>>
> > > >>> --
> > > >>> View this message in context:
> > > >>> http://cxf.547215.n5.nabble.com/getMessage-from-java-lang-
> > > Throwable-
> > > >>> is- excluded-from-accepted-method-tp5721196.html
> > > >>> Sent from the cxf-user mailing list archive at Nabble.com.
> > > >
> > > > --
> > > > Daniel Kulp
> > > > [email protected] - http://dankulp.com/blog Talend Community Coder
> > > > - http://coders.talend.com
> > > >
> >
> >
> 
> 
> --
> Ivan

Reply via email to