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

Reply via email to