代码:
Server
public class A{
public List getA(){
List result=new ArrayList();
for(int i=0;i<10;i++){
Bean a=new Bean();
a.set()....
result.add(a);
}
return result;
}
这样在CLIENT端调用的时候可以得到list 但是里面的Bean确成了Object对像,,不能强制转化为Bean对像,请高手看一下,分还可以加,,谢谢
Server
public class A{
public List getA(){
List result=new ArrayList();
for(int i=0;i<10;i++){
Bean a=new Bean();
a.set()....
result.add(a);
}
return result;
}
这样在CLIENT端调用的时候可以得到list 但是里面的Bean确成了Object对像,,不能强制转化为Bean对像,请高手看一下,分还可以加,,谢谢
解决方案 »
- tomcat启动问题
- 求救:千万级sql优化
- 关于UBB的问题??
- myeclipse下开发webservice的配置问题
- 谁能提供给我一个axis包,网站上下载不了!谢谢
- 请问如何适用Hibernate API中public Query createSQLQuery(String sql, String[] returnAliases,Class[] returnClasses)
- 值得讨论的问题,大家请进!
- 求JDBC范例
- struts主从表
- Properties 是个什么东东?
- Hibernate:many-to-one问题,最好有实例,解决了重新开贴加倍给分(晚上结贴)
- 如何在Action中传递参数,在ActionForm中获得??
把这些对象转换成XML,然后以字符串的形式发送出去
ll42002(灰舌) ,,这样定义对吗?? <service name="urn:WebServiceList" provider="java:RPC"> <parameter name="allowedMethods" value="*"/> <parameter name="className" value="webservice.WebServiceList"/>
</service>
<beanMapping qname="myNS:List" xmlns:myNS="urn:BeanService"
languageSpecificType="java:java.util.List"/>
<beanMapping qname="myNS:Person" xmlns:myNS="urn:BeanService"
languageSpecificType="java:webservice.PersonImpl"/>
只有自定义的Bean需要注册,List不需要注册。Axis会自行序列化的。
但是现在用Vector或用LIST都能返回结果,但是我强制转化时报错说类型不匹配
[Ljava.lang.Object;@120cc56public class WebServiceClientList {
private static final String serverAddress = "http://localhost/sex/WebServiceList.jws"; private static final String s_serviceName = "WebServiceList";
public Vector getPersonInfo(String name, int age, int tall, boolean sex) {
Service service = new Service();
Call call = null;
Vector person = new Vector();
try {
call = (Call) service.createCall();
call.setTargetEndpointAddress(new java.net.URL(serverAddress));
QName q_person = new QName("urn:BeanService", "Person");
call.registerTypeMapping(PersonImpl.class, q_person,
new org.apache.axis.encoding.ser.BeanSerializerFactory(PersonImpl.class, q_person),
new org.apache.axis.encoding.ser.BeanDeserializerFactory(PersonImpl.class, q_person));
// QName qn = new QName("urn:BeanService", "List","Person");
//
// call.registerTypeMapping(List.class, qn,
// new org.apache.axis.encoding.ser.BeanSerializerFactory(List.class, qn),
// new org.apache.axis.encoding.ser.BeanDeserializerFactory(List.class, qn));
QName qname=new QName("urn:WebServiceList","getPersonInfoList");
call.setOperationName(qname);
call.addParameter("name", qname, ParameterMode.IN);
call.addParameter("age", qname, ParameterMode.IN);
call.addParameter("tall", qname, ParameterMode.IN);
call.addParameter("sex", qname, ParameterMode.IN);
call.setReturnType(qname,Vector.class);
person = (Vector) call.invoke(new Object[] { name,new Integer(age),new Integer(tall),new Boolean(sex) });
} catch (Exception e) {
e.printStackTrace();
}
return person;
}
}