我之前使用过JAX-WS,但之前没有将自定义对象作为参数传递过.我正在使用GlassFish 3.1,NetBeans 7.3并通过NetBeans JAX-WS向导创建服务.我的问题是当服务器上接收到传递给服务的自定义对象(Criteria)为null时.我可以成功传递像int这样的默认类型.
@WebService(serviceName = "ECLService")
@Stateless()
public class ECLService {
@EJB
PersistenceImpl persistence;
@WebMethod(operationName = "listRevisions")
public List<Revision> listRevisions(@WebParam(name="criteria")Criteria criteria) {
System.out.println("criteria is "+(criteria ==null ? "null":" not null"));
List<Revision> revisions = persistence.getRevisions(criteria);
return revisions;
}
}
Run Code Online (Sandbox Code Playgroud)
Criteria.java
@XmlRootElement
public class Criteria implements Serializable {
private static final long serialVersionUID = 1L;
public static final String LIST_TYPE = "criteria.key.listtype";
public static final String TYPE_ALL = "criteria.value.all";
public static final String TYPE_ERROR = "criteria.value.error";
public static final String TYPE_ARCHIVE …Run Code Online (Sandbox Code Playgroud)