XFire使用日期参数类型
使用XFire客户端调用webservice时,如果服务端的参数为日期类型,那么只能使用XMLGregorianCalendar类型作为客户端的参数,否则可能会出现ClassCastException(webservice发布时,会将Date类型转换为XMLGregorianCalendar类型)。下边是一个日期类型的调用示例:
?
import java.net.MalformedURLException;import java.net.URL;import java.util.Calendar;import java.util.Date;import java.util.GregorianCalendar;import javax.xml.datatype.DatatypeFactory;import javax.xml.datatype.XMLGregorianCalendar;import org.codehaus.xfire.client.Client;public class Test {public static void main(String[] args) throws MalformedURLException, Exception {Client client=new Client(new URL("http://localhost:8080/XFireService/services/BookService?wsdl"));DatatypeFactory factory = DatatypeFactory.newInstance();XMLGregorianCalendar calendar = factory.newXMLGregorianCalendar((GregorianCalendar)Calendar.getInstance());Object[] obj=client.invoke("getDate",new Object[]{calendar});System.out.println(obj[0]);}}?