AXIS传递包含javaBean对象的List对象

返回值是Customer对象时正常,返回List一直报错,不知道是deploy.wsdd写错了还是其他原因,请帮忙看一下
axis版本为1.4

服务端程序和Javabean

[code="java"]
public class Customer implements java.io.Serializable{
private String customerId;
private String name;

public String getCustomerId() {
    return customerId;
}
public void setCustomerId(String customerId) {
    this.customerId = customerId;
}
public String getName() {
    return name;
}
public void setName(String name) {
    this.name = name;
}

}
[/code]

[code="java"]
import java.util.List;

public class CustomerInfo {
public List getCustomerList() {
List list= null;
Customer customer = new Customer();
customer.setName("哈哈哈");
list.add(customer);
return list;
}
}

[/code]

deploy.wsdd文件代码
[code="java"]
xmlns:java="http://xml.apache.org/axis/wsdd/providers/java">
type="java:org.apache.ws.axis.security.WSDoAllReceiver">

value="com.hundsun.insure.framework.webservice.handler.WsAuthHandler" />


value="com.hundsun.insure.webservice.CustomerInfo" />





languageSpecificType="java:com.hundsun.insure.webservice.Customer"
qname="ns2:List" xmlns:ns2="urn:CustomerInfo" />

[/code]

客户端代码:
[code="java"]
public class Test {
public static void main(String[] args) throws Exception {
CustomerInfoServiceLocator service = new CustomerInfoServiceLocator();
CustomerInfo customerInfo = service.getCustomerInfo();
Object obj = customerInfo.getCustomerList();
}
}
[/code]

执行客户端时报错信息
[color=red] faultDetail:
{http://xml.apache.org/axis/}hostname:hundsun-cfb9b40

java.lang.NullPointerException
at org.apache.axis.message.SOAPFaultBuilder.createFault(SOAPFaultBuilder.java:222)[/color]

[b]问题补充:[/b]
谢谢 :oops:
帖的代码里这个是有问题List list= null;

改了之后报的错是

[color=red]No deserializer for {urn:CustomerInfo}List[/color]

Javabean中已经实现了Serializable接口,为什么还会包这个错呢 ? :cry:

Customer implements java.io.Serializable
[b]问题补充:[/b]
[code="java"]
languageSpecificType="java:com.hundsun.insure.webservice.Customer"
qname="ns1:List" xmlns:ns1="urn:CustomerInfo" />

[/code]

请问beanMapping有没有写对?正确的代码应该怎么写
[b]问题补充:[/b]
没人帮忙 8)

错误信息你都没看明白先

这是你没给List指定序列化/反序列化类啊

http://webdev.csdn.net/page/2c2bd2a8-d514-4208-b9fd-7906a94677ca
http://www.blogjava.net/kalujia/archive/2006/06/19/53743.html

应该是服务器端程序出现问题了!service调用应该没有问题!你把[code="java"]List list= null; [/code]改成 [code="java"]List list= new LinkedList(); [/code]就ok 了吧!基础错误哦!

空指针异常。为什么不自己Debug一下看看到底是什么变量运行时为[u][b]null[/b][/u]呢?
写程序的先要自己搞,尽量搞,实在不行了出来晒晒。

你先服务器端程序调式下么,肯定是你服务器端的程序有问题的![code="java"]No deserializer for {urn:CustomerInfo}List [/code]这个怎么会报出来的是CustomerInfo这个类的啊!仔细调试下!

朋友,问题要自动关闭啦,结分哦

哥们给分了啊,问题要被关闭了~