Hi, my name is Brett, and my company is pretty new to java web services, but we need to use them to communicate between PowerBuilder and EJB3.
As far as I can tell, it looks like the annotations from the javax.xml.bind.annotation are being completely ignored in our deployed web services. Below is an example: The web service class... | package com.nsighttel.ejb.services.validation.creditcard; | | import java.io.Serializable; | | import javax.ejb.Stateless; | import javax.jws.WebMethod; | import javax.jws.WebParam; | import javax.jws.WebService; | import javax.jws.soap.SOAPBinding; | | import com.nsighttel.domain.MonthYearWS; | | @Stateless | @WebService | @SOAPBinding(style = SOAPBinding.Style.RPC, parameterStyle = SOAPBinding.ParameterStyle.WRAPPED) | public class CreditCardVerificationServiceWS implements Serializable { | private static final long serialVersionUID = 1L; | | @WebMethod | public int isValid( | @WebParam(name = "cardExp")MonthYearWS cardExpWS | ){ | return 1; | } | | } | And the class for the WebParam... | package com.nsighttel.domain; | | import java.io.Serializable; | import javax.xml.bind.annotation.XmlAccessorType; | import javax.xml.bind.annotation.XmlTransient; | import javax.xml.bind.annotation.XmlAccessType; | | @XmlAccessorType(XmlAccessType.FIELD) | public class MonthYearWS implements Serializable { | private static final long serialVersionUID = 1L; | private Boolean isNull; | private Integer month; | private Integer year; | @XmlTransient private MonthYear obj; | | | public MonthYearWS(Boolean isNull, Integer month, Integer year) { | this.isNull = isNull; | this.month = month; | this.year = year; | if (isNull == null || !isNull){ | obj = new MonthYear(month,year); | } | } | | public Boolean getIsNull() { | return isNull; | } | | public void setIsNull(Boolean isNull) { | this.isNull = isNull; | } | | public Integer getMonth() { | return month; | } | | public void setMonth(Integer month) { | this.month = month; | } | | public Integer getYear() { | return year; | } | | public void setYear(Integer year) { | this.year = year; | } | | @XmlTransient | public MonthYear getObj(){ | return obj; | } | | public void setObj(MonthYear obj){ | this.obj = obj; | } | } | No matter what annotations I use, I get isNull, month, year, and obj all in my WSDL file for the above web service. The @XmlTransient annotation on the getObj() function is not being honored, as I am still getting obj in the WSDL file. Furthermore, if I take away all of the public getter functions, then I get no elements in my WSDL file. Therefore, the @XmlAccessorType(XmlAccessType.FIELD) is not being honored either. I have tried a few other annotations from the javax.xml.bind.annotation package, but none of them appear to be working either. Could someone please clue me in to what I may be doing wrong? Does Jboss not support these annotations? Or maybe the annotations do not apply to web services? Any help is greatly appreciated. Thanks! -Brett Birschbach View the original post : http://www.jboss.com/index.html?module=bb&op=viewtopic&p=3998406#3998406 Reply to the post : http://www.jboss.com/index.html?module=bb&op=posting&mode=reply&p=3998406 _______________________________________________ jboss-user mailing list jboss-user@lists.jboss.org https://lists.jboss.org/mailman/listinfo/jboss-user