xiaoshiniudao 2011-07-27 10:21
浏览 282
已采纳

xfire webservice问题

我对xfire不是很了解。我用myeclipse添加了一个webservice的 Client后,他自动生成了一个client类,并提供了这样的方法
GetMessageClient client = new GetMessageClient();

    //create a default service endpoint
    GetMessagePortType service = client.getGetMessageHttpPort();

然后我通过new web service按钮添加了一个webservice功能,然后在实现类中引用了上面给的方法,并发布出去如下
public class WsSenderImpl implements IWsSender {

public String example(String message) {
    return message;
}

public List<Goods> getGoodsMessage(String goods_type) {
    // TODO Auto-generated method stub
    GetMessageClient client = new GetMessageClient();

    //create a default service endpoint
    GetMessagePortType service = client.getGetMessageHttpPort();
    ArrayOfGoods a = service.getGoodsMessage(goods_type);
    List<Goods> goodsList= a.getGoods();
    for (Goods goods : goodsList) {
        System.out.println(goods.getGoodsName().getValue());
    }
    return goodsList;
}

但是用tomcat发布以后用myeclipse带的测试浏览器测试后,发现结果一下子掠过去后,报这样的错误,我觉得他是一个死循环,但是我没找到循环的地方在哪,
Caused by: java.lang.StackOverflowError
at java.security.AccessController.doPrivileged(Native Method)
at java.lang.Class.getClasses(Unknown Source)
at sun.reflect.GeneratedMethodAccessor44.invoke(Unknown Source)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)
at java.lang.reflect.Method.invoke(Unknown Source)
at org.codehaus.xfire.aegis.type.basic.BeanType.readProperty(BeanType.java:442)
at org.codehaus.xfire.aegis.type.basic.BeanType.writeObject(BeanType.java:377)
at org.codehaus.xfire.aegis.type.basic.BeanType.writeObject(BeanType.java:392)
at org.codehaus.xfire.aegis.type.basic.ArrayType.writeValue(ArrayType.java:298)
at org.codehaus.xfire.aegis.type.basic.ArrayType.writeObject(ArrayType.java:210)
at org.codehaus.xfire.aegis.type.basic.BeanType.writeObject(BeanType.java:392)
at org.codehaus.xfire.aegis.type.basic.BeanType.writeObject(BeanType.java:392)
at org.codehaus.xfire.aegis.type.basic.ArrayType.writeValue(ArrayType.java:298)
at org.codehaus.xfire.aegis.type.basic.ArrayType.writeObject(ArrayType.java:210)
at org.codehaus.xfire.aegis.type.basic.BeanType.writeObject(BeanType.java:392)
at org.codehaus.xfire.aegis.type.basic.BeanType.writeObject(BeanType.java:392)
at org.codehaus.xfire.aegis.type.basic.ArrayType.writeValue(ArrayType.java:298)
at org.codehaus.xfire.aegis.type.basic.ArrayType.writeObject(ArrayType.java:210)
at org.codehaus.xfire.aegis.type.basic.BeanType.writeObject(BeanType.java:392)
at org.codehaus.xfire.aegis.type.basic.BeanType.writeObject(BeanType.java:392)
at org.codehaus.xfire.aegis.type.basic.ArrayType.writeValue(ArrayType.java:298)
at org.codehaus.xfire.aegis.type.basic.ArrayType.writeObject(ArrayType.java:210)
at org.codehaus.xfire.aegis.type.basic.BeanType.writeObject(BeanType.java:392)
at org.codehaus.xfire.aegis.type.basic.BeanType.writeObject(BeanType.java:392)
at org.codehaus.xfire.aegis.type.basic.ArrayType.writeValue(ArrayType.java:298)
at org.codehaus.xfire.aegis.type.basic.ArrayType.writeObject(ArrayType.java:210)
at org.codehaus.xfire.aegis.type.basic.BeanType.writeObject(BeanType.java:392)
at org.codehaus.xfire.aegis.type.basic.BeanType.writeObject(BeanType.java:392)
at org.codehaus.xfire.aegis.type.basic.ArrayType.writeValue(ArrayType.java:298)
at org.codehaus.xfire.aegis.type.basic.ArrayType.writeObject(ArrayType.java:210)
at org.codehaus.xfire.aegis.type.basic.BeanType.writeObject(BeanType.java:392)
at org.codehaus.xfire.aegis.type.basic.BeanType.writeObject(BeanType.java:392)
at org.codehaus.xfire.aegis.type.basic.ArrayType.writeValue(ArrayType.java:298)
at org.codehaus.xfire.aegis.type.basic.ArrayType.writeObject(ArrayType.java:210)
at org.codehaus.xfire.aegis.type.basic.BeanType.writeObject(BeanType.java:392)
at org.codehaus.xfire.aegis.type.basic.BeanType.writeObject(BeanType.java:392)
at org.codehaus.xfire.aegis.type.basic.ArrayType.writeValue(ArrayType.java:298)
at org.codehaus.xfire.aegis.type.basic.ArrayType.writeObject(ArrayType.java:210)
at org.codehaus.xfire.aegis.type.basic.BeanType.writeObject(BeanType.java:392)
at org.codehaus.xfire.aegis.type.basic.BeanType.writeObject(BeanType.java:392)
at org.codehaus.xfire.aegis.type.basic.ArrayType.writeValue(ArrayType.java:298)
at org.codehaus.xfire.aegis.type.basic.ArrayType.writeObject(ArrayType.java:210)
at org.codehaus.xfire.aegis.type.basic.BeanType.writeObject(BeanType.java:392)
at org.codehaus.xfire.aegis.type.basic.BeanType.writeObject(BeanType.java:392)
at org.codehaus.xfire.aegis.type.basic.ArrayType.writeValue(ArrayType.java:298)
at org.codehaus.xfire.aegis.type.basic.ArrayType.writeObject(ArrayType.java:210)
at org.codehaus.xfire.aegis.type.basic.BeanType.writeObject(BeanType.java:392)
at org.codehaus.xfire.aegis.type.basic.BeanType.writeObject(BeanType.java:392)
at org.codehaus.xfire.aegis.type.basic.ArrayType.writeValue(ArrayType.java:298)
at org.codehaus.xfire.aegis.type.basic.ArrayType.writeObject(ArrayType.java:210)
at org.codehaus.xfire.aegis.type.basic.BeanType.writeObject(BeanType.java:392)
at org.codehaus.xfire.aegis.type.basic.BeanType.writeObject(BeanType.java:392)
at org.codehaus.xfire.aegis.type.basic.ArrayType.writeValue(ArrayType.java:298)
at org.codehaus.xfire.aegis.type.basic.ArrayType.writeObject(ArrayType.java:210)
at org.codehaus.xfire.aegis.type.basic.BeanType.writeObject(BeanType.java:392)
at org.codehaus.xfire.aegis.type.basic.BeanType.writeObject(BeanType.java:392)
at org.codehaus.xfire.aegis.type.basic.ArrayType.writeValue(ArrayType.java:298)
at org.codehaus.xfire.aegis.type.basic.ArrayType.writeObject(ArrayType.java:210)
at org.codehaus.xfire.aegis.type.basic.BeanType.writeObject(BeanType.java:392)
at org.codehaus.xfire.aegis.type.basic.BeanType.writeObject(BeanType.java:392)
at org.codehaus.xfire.aegis.type.basic.ArrayType.writeValue(ArrayType.java:298)
at org.codehaus.xfire.aegis.type.basic.ArrayType.writeObject(ArrayType.java:210)
at org.codehaus.xfire.aegis.type.basic.BeanType.writeObject(BeanType.java:392)
at org.codehaus.xfire.aegis.type.basic.BeanType.writeObject(BeanType.java:392)
at org.codehaus.xfire.aegis.type.basic.ArrayType.writeValue(ArrayType.java:298)
at org.codehaus.xfire.aegis.type.basic.ArrayType.writeObject(ArrayType.java:210)
at org.codehaus.xfire.aegis.type.basic.BeanType.writeObject(BeanType.java:392)
at org.codehaus.xfire.aegis.type.basic.BeanType.writeObject(BeanType.java:392)
at org.codehaus.xfire.aegis.type.basic.ArrayType.writeValue(ArrayType.java:298)
at org.codehaus.xfire.aegis.type.basic.ArrayType.writeObject(ArrayType.java:210)
at org.codehaus.xfire.aegis.type.basic.BeanType.writeObject(BeanType.java:392)
at org.codehaus.xfire.aegis.type.basic.BeanType.writeObject(BeanType.java:392)
at org.codehaus.xfire.aegis.type.basic.ArrayType.writeValue(ArrayType.java:298)
at org.codehaus.xfire.aegis.type.basic.ArrayType.writeObject(ArrayType.java:210)
at org.codehaus.xfire.aegis.type.basic.BeanType.writeObject(BeanType.java:392)
at org.codehaus.xfire.aegis.type.basic.BeanType.writeObject(BeanType.java:392)
at org.codehaus.xfire.aegis.type.basic.ArrayType.writeValue(ArrayType.java:298)
at org.codehaus.xfire.aegis.type.basic.ArrayType.writeObject(ArrayType.java:210)
at org.codehaus.xfire.aegis.type.basic.BeanType.writeObject(BeanType.java:392)
at org.codehaus.xfire.aegis.type.basic.BeanType.writeObject(BeanType.java:392)
at org.codehaus.xfire.aegis.type.basic.ArrayType.writeValue(ArrayType.java:298)
at org.codehaus.xfire.aegis.type.basic.ArrayType.writeObject(ArrayType.java:210)
at org.codehaus.xfire.aegis.type.basic.BeanType.writeObject(BeanType.java:392)
at org.codehaus.xfire.aegis.type.basic.BeanType.writeObject(BeanType.java:392)
at org.codehaus.xfire.aegis.type.basic.ArrayType.writeValue(ArrayType.java:298)
at org.codehaus.xfire.aegis.type.basic.ArrayType.writeObject(ArrayType.java:210)
at org.codehaus.xfire.aegis.type.basic.BeanType.writeObject(BeanType.java:392)
at org.codehaus.xfire.aegis.type.basic.BeanType.writeObject(BeanType.java:392)
at org.codehaus.xfire.aegis.type.basic.ArrayType.writeValue(ArrayType.java:298)
at org.codehaus.xfire.aegis.type.basic.ArrayType.writeObject(ArrayType.java:210)
at org.codehaus.xfire.aegis.type.basic.BeanType.writeObject(BeanType.java:392)
at org.codehaus.xfire.aegis.type.basic.BeanType.writeObject(BeanType.java:392)
at org.codehaus.xfire.aegis.type.basic.ArrayType.writeValue(ArrayType.java:298)
at org.codehaus.xfire.aegis.type.basic.ArrayType.writeObject(ArrayType.java:210)
at org.codehaus.xfire.aegis.type.basic.BeanType.writeObject(BeanType.java:392)
at org.codehaus.xfire.aegis.type.basic.BeanType.writeObject(BeanType.java:392)
at org.codehaus.xfire.aegis.type.basic.ArrayType.writeValue(ArrayType.java:298)
at org.codehaus.xfire.aegis.type.basic.ArrayType.writeObject(ArrayType.java:210)
at org.codehaus.xfire.aegis.type.basic.BeanType.writeObject(BeanType.java:392)
at org.codehaus.xfire.aegis.type.basic.BeanType.writeObject(BeanType.java:392)
at org.codehaus.xfire.aegis.type.basic.ArrayType.writeValue(ArrayType.java:298)
at org.codehaus.xfire.aegis.type.basic.ArrayType.writeObject(ArrayType.java:210)
at org.codehaus.xfire.aegis.type.basic.BeanType.writeObject(BeanType.java:392)
at org.codehaus.xfire.aegis.type.basic.BeanType.writeObject(BeanType.java:392)
at org.codehaus.xfire.aegis.type.basic.ArrayType.writeValue(ArrayType.java:298)
at org.codehaus.xfire.aegis.type.basic.ArrayType.writeObject(ArrayType.java:210)
at org.codehaus.xfire.aegis.type.basic.BeanType.writeObject(BeanType.java:392)
at org.codehaus.xfire.aegis.type.basic.BeanType.writeObject(BeanType.java:392)
at org.codehaus.xfire.aegis.type.basic.ArrayType.writeValue(ArrayType.java:298)
at org.codehaus.xfire.aegis.type.basic.ArrayType.writeObject(ArrayType.java:210)
at org.codehaus.xfire.aegis.type.basic.BeanType.writeObject(BeanType.java:392)
at org.codehaus.xfire.aegis.type.basic.BeanType.writeObject(BeanType.java:392)
at org.codehaus.xfire.aegis.type.basic.ArrayType.writeValue(ArrayType.java:298)
at org.codehaus.xfire.aegis.type.basic.ArrayType.writeObject(ArrayType.java:210)
at org.codehaus.xfire.aegis.type.basic.BeanType.writeObject(BeanType.java:392)
at org.codehaus.xfire.aegis.type.basic.BeanType.writeObject(BeanType.java:392)
at org.codehaus.xfire.aegis.type.basic.ArrayType.writeValue(ArrayType.java:298)
at org.codehaus.xfire.aegis.type.basic.ArrayType.writeObject(ArrayType.java:210)
at org.codehaus.xfire.aegis.type.basic.BeanType.writeObject(BeanType.java:392)
at org.codehaus.xfire.aegis.type.basic.BeanType.writeObject(BeanType.java:392)
at org.codehaus.xfire.aegis.type.basic.ArrayType.writeValue(ArrayType.java:298)
at org.codehaus.xfire.aegis.type.basic.ArrayType.writeObject(ArrayType.java:210)
at org.codehaus.xfire.aegis.type.basic.BeanType.writeObject(BeanType.java:392)
at org.codehaus.xfire.aegis.type.basic.BeanType.writeObject(BeanType.java:392)
at org.codehaus.xfire.aegis.type.basic.ArrayType.writeValue(ArrayType.java:298)
at org.codehaus.xfire.aegis.type.basic.ArrayType.writeObject(ArrayType.java:210)
at org.codehaus.xfire.aegis.type.basic.BeanType.writeObject(BeanType.java:392)
at org.codehaus.xfire.aegis.type.basic.BeanType.writeObject(BeanType.java:392)
at org.codehaus.xfire.aegis.type.basic.ArrayType.writeValue(ArrayType.java:298)
at org.codehaus.xfire.aegis.type.basic.ArrayType.writeObject(ArrayType.java:210)
at org.codehaus.xfire.aegis.type.basic.BeanType.writeObject(BeanType.java:392)
at org.codehaus.xfire.aegis.type.basic.BeanType.writeObject(BeanType.java:392)
at org.codehaus.xfire.aegis.type.basic.ArrayType.writeValue(ArrayType.java:298)
at org.codehaus.xfire.aegis.type.basic.ArrayType.writeObject(ArrayType.java:210)
at org.codehaus.xfire.aegis.type.basic.BeanType.writeObject(BeanType.java:392)
at org.codehaus.xfire.aegis.type.basic.BeanType.writeObject(BeanType.java:392)
at org.codehaus.xfire.aegis.type.basic.ArrayType.writeValue(ArrayType.java:298)
at org.codehaus.xfire.aegis.type.basic.ArrayType.writeObject(ArrayType.java:210)
at org.codehaus.xfire.aegis.type.basic.BeanType.writeObject(BeanType.java:392)
at org.codehaus.xfire.aegis.type.basic.BeanType.writeObject(BeanType.java:392)
at org.codehaus.xfire.aegis.type.basic.ArrayType.writeValue(ArrayType.java:298)
at org.codehaus.xfire.aegis.type.basic.ArrayType.writeObject(ArrayType.java:210)
at org.codehaus.xfire.aegis.type.basic.BeanType.writeObject(BeanType.java:392)
at org.codehaus.xfire.aegis.type.basic.BeanType.writeObject(BeanType.java:392)
at org.codehaus.xfire.aegis.type.basic.ArrayType.writeValue(ArrayType.java:298)
at org.codehaus.xfire.aegis.type.basic.ArrayType.writeObject(ArrayType.java:210)
at org.codehaus.xfire.aegis.type.basic.BeanType.writeObject(BeanType.java:392)
at org.codehaus.xfire.aegis.type.basic.BeanType.writeObject(BeanType.java:392)
at org.codehaus.xfire.aegis.type.basic.ArrayType.writeValue(ArrayType.java:298)
at org.codehaus.xfire.aegis.type.basic.ArrayType.writeObject(ArrayType.java:210)
at org.codehaus.xfire.aegis.type.basic.BeanType.writeObject(BeanType.java:392)
at org.codehaus.xfire.aegis.type.basic.BeanType.writeObject(BeanType.java:392)
at org.codehaus.xfire.aegis.type.basic.ArrayType.writeValue(ArrayType.java:298)
at org.codehaus.xfire.aegis.type.basic.ArrayType.writeObject(ArrayType.java:210)
at org.codehaus.xfire.aegis.type.basic.BeanType.writeObject(BeanType.java:392)
at org.codehaus.xfire.aegis.type.basic.BeanType.writeObject(BeanType.java:392)
at org.codehaus.xfire.aegis.type.basic.ArrayType.writeValue(ArrayType.java:298)
at org.codehaus.xfire.aegis.type.basic.ArrayType.writeObject(ArrayType.java:210)
at org.codehaus.xfire.aegis.type.basic.BeanType.writeObject(BeanType.java:392)
at org.codehaus.xfire.aegis.type.basic.BeanType.writeObject(BeanType.java:392)
at org.codehaus.xfire.aegis.type.basic.ArrayType.writeValue(ArrayType.java:298)
at org.codehaus.xfire.aegis.type.basic.ArrayType.writeObject(ArrayType.java:210)
at org.codehaus.xfire.aegis.type.basic.BeanType.writeObject(BeanType.java:392)
at org.codehaus.xfire.aegis.type.basic.BeanType.writeObject(BeanType.java:392)
at org.codehaus.xfire.aegis.type.basic.ArrayType.writeValue(ArrayType.java:298)
at org.codehaus.xfire.aegis.type.basic.ArrayType.writeObject(ArrayType.java:210)
at org.codehaus.xfire.aegis.type.basic.BeanType.writeObject(BeanType.java:392)
at org.codehaus.xfire.aegis.type.basic.BeanType.writeObject(BeanType.java:392)
at org.codehaus.xfire.aegis.type.basic.ArrayType.writeValue(ArrayType.java:298)
at org.codehaus.xfire.aegis.type.basic.ArrayType.writeObject(ArrayType.java:210)
at org.codehaus.xfire.aegis.type.basic.BeanType.writeObject(BeanType.java:392)
at org.codehaus.xfire.aegis.type.basic.BeanType.writeObject(BeanType.java:392)
at org.codehaus.xfire.aegis.type.basic.ArrayType.writeValue(ArrayType.java:298)
at org.codehaus.xfire.aegis.type.basic.ArrayType.writeObject(ArrayType.java:210)
at org.codehaus.xfire.aegis.type.basic.BeanType.writeObject(BeanType.java:392)
at org.codehaus.xfire.aegis.type.basic.BeanType.writeObject(BeanType.java:392)
at org.codehaus.xfire.aegis.type.basic.ArrayType.writeValue(ArrayType.java:298)
at org.codehaus.xfire.aegis.type.basic.ArrayType.writeObject(ArrayType.java:210)
at org.codehaus.xfire.aegis.type.basic.BeanType.writeObject(BeanType.java:392)
at org.codehaus.xfire.aegis.type.basic.BeanType.writeObject(BeanType.java:392)
at org.codehaus.xfire.aegis.type.basic.ArrayType.writeValue(ArrayType.java:298)
at org.codehaus.xfire.aegis.type.basic.ArrayType.writeObject(ArrayType.java:210)
at org.codehaus.xfire.aegis.type.basic.BeanType.writeObject(BeanType.java:392)
at org.codehaus.xfire.aegis.type.basic.BeanType.writeObject(BeanType.java:392)
at org.codehaus.xfire.aegis.type.basic.ArrayType.writeValue(ArrayType.java:298)
at org.codehaus.xfire.aegis.type.basic.ArrayType.writeObject(ArrayType.java:210)
at org.codehaus.xfire.aegis.type.basic.BeanType.writeObject(BeanType.java:392)
at org.codehaus.xfire.aegis.type.basic.BeanType.writeObject(BeanType.java:392)
at org.codehaus.xfire.aegis.type.basic.ArrayType.writeValue(ArrayType.java:298)
at org.codehaus.xfire.aegis.type.basic.ArrayType.writeObject(ArrayType.java:210)
at org.codehaus.xfire.aegis.type.basic.BeanType.writeObject(BeanType.java:392)
at org.codehaus.xfire.aegis.type.basic.BeanType.writeObject(BeanType.java:392)
at org.codehaus.xfire.aegis.type.basic.ArrayType.writeValue(ArrayType.java:298)
at org.codehaus.xfire.aegis.type.basic.ArrayType.writeObject(ArrayType.java:210)
at org.codehaus.xfire.aegis.type.basic.BeanType.writeObject(BeanType.java:392)
at org.codehaus.xfire.aegis.type.basic.BeanType.writeObject(BeanType.java:392)
at org.codehaus.xfire.aegis.type.basic.ArrayType.writeValue(ArrayType.java:298)
at org.codehaus.xfire.aegis.type.basic.ArrayType.writeObject(ArrayType.java:210)
at org.codehaus.xfire.aegis.type.basic.BeanType.writeObject(BeanType.java:392)
at org.codehaus.xfire.aegis.type.basic.BeanType.writeObject(BeanType.java:392)
at org.codehaus.xfire.aegis.type.basic.ArrayType.writeValue(ArrayType.java:298)
at org.codehaus.xfire.aegis.type.basic.ArrayType.writeObject(ArrayType.java:210)
at org.codehaus.xfire.aegis.type.basic.BeanType.writeObject(BeanType.java:392)
at org.codehaus.xfire.aegis.type.basic.BeanType.writeObject(BeanType.java:392)
at org.codehaus.xfire.aegis.type.basic.ArrayType.writeValue(ArrayType.java:298)
at org.codehaus.xfire.aegis.type.basic.ArrayType.writeObject(ArrayType.java:210)
at org.codehaus.xfire.aegis.type.basic.BeanType.writeObject(BeanType.java:392)
at org.codehaus.xfire.aegis.type.basic.BeanType.writeObject(BeanType.java:392)
at org.codehaus.xfire.aegis.type.basic.ArrayType.writeValue(ArrayType.java:298)
at org.codehaus.xfire.aegis.type.basic.ArrayType.writeObject(ArrayType.java:210)
at org.codehaus.xfire.aegis.type.basic.BeanType.writeObject(BeanType.java:392)
at org.codehaus.xfire.aegis.type.basic.BeanType.writeObject(BeanType.java:392)
at org.codehaus.xfire.aegis.type.basic.ArrayType.writeValue(ArrayType.java:298)
at org.codehaus.xfire.aegis.type.basic.ArrayType.writeObject(ArrayType.java:210)
at org.codehaus.xfire.aegis.type.basic.BeanType.writeObject(BeanType.java:392)
at org.codehaus.xfire.aegis.type.basic.BeanType.writeObject(BeanType.java:392)
at org.codehaus.xfire.aegis.type.basic.ArrayType.writeValue(ArrayType.java:298)
at org.codehaus.xfire.aegis.type.basic.ArrayType.writeObject(ArrayType.java:210)
at org.codehaus.xfire.aegis.type.basic.BeanType.writeObject(BeanType.java:392)
at org.codehaus.xfire.aegis.type.basic.BeanType.writeObject(BeanType.java:392)
at org.codehaus.xfire.aegis.type.basic.ArrayType.writeValue(ArrayType.java:298

  • 写回答

1条回答 默认 最新

  • weixin_42317583 2011-07-29 17:02
    关注

    嵌套方法慎用,ArrayOfGoods a = service.getGoodsMessage(goods_type);

    问题嘛我没去细研究。。。

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论

报告相同问题?