posts - 297,  comments - 1618,  trackbacks - 0
    《使用xfire spring构建web service(一)——helloworld篇》文中我们通过一个简单的xfire spring实例,该实例的sayhelloworld()方法通过传入一个字符串参数来返回一个字符串,而实际的应用过程中,遇到的情况比这个要复杂得多,例如,传入参数是对象、返回自定义对象、返回数组、返回列表。下面让我们在此文中对xfire spring进行更深层的探讨吧。

一.             本例概述

在本例中,我们将在业务逻辑类是一个用户的业务逻辑类,包括创建用户、获取单个用户、获取用户数组、获取用户列表四个方法,因该文讲的是xfire spring构建webservice,所以在该例中我们并不涉及具体的数据库操作,而只是提供模拟实现。方法描述如下:

1) 创建用户方法:createuser(user user)

通过传入user对象作为参数来才创建用户;

2) 通过用户名获取用户信息方法:getuser(string loginname)

根据用户名获取某用户对象,该方法返回的是一个user对象;

3) 返回所有用户的数组方法:getuserarray()

返回为user数组;

4) 返回所有用户的列表的方法:getuserlist()

返回为list对象,放入的对象为user类型。

二.             数据对象user.java

在上篇的例子中,src/webservice目录下新建example2目录,并在example2目录下建立user.java文件,下面看看数据对象user.java的内容,代码如下:

package webservice.example2;

import java.util.date;

/**
 *用户对象.  
 *
@authoramigoxie
 *@version1.0
 *creationdate:2007-9-28-上午10:42:44
 
*/

publicclass user 
implements java.io.serializable {
    privatestaticfinallongserialversionuid 
= 1l;

    
/**用户名*/
    
private string loginname;

    
/**用户密码*/
    
private string password;

    
/**手机号*/
    
private string mobile;

    
/**创建时间*/
    
private date createtime;

    
public date getcreatetime() {
       
return createtime;
    }


    
public void setcreatetime(date createtime) {
       
this.createtime = createtime;
    }


    
public string getloginname() {
       
return loginname;
    }


    
public void setloginname(string loginname) {
       
this.loginname = loginname;
    }


    
public string getmobile() {
       
return mobile;
    }


    
public void setmobile(string mobile) {
       
this.mobile = mobile;

    }


    
public string getpassword() {
       
return password;
    }


    
public void setpassword(string password) {
       
this.password = password;
    }


    
public string tostring() {
       stringbuffer sb 
= new stringbuffer();
       sb.append(
"loginname="  this.loginname);
       sb.append(
"|password="  this.password);
       sb.append(
"|mobile="  this.mobile);
       sb.append(
"|createdate="  this.createtime);
       
return sb.tostring();
    }

}


三.             用户业务类userservice.java及其实现userserviceimpl.java

下面让我们来看看本例的业务逻辑接口类userservice.java的内容:

package webservice.example2;

import java.util.list;

/**
 *用户业务类.
 *
@authoramigoxie
 *@version1.0
 *creationdate:2007-9-28-上午10:37:09
 
*/

publicinterface userservice 
{
    
/**
     *获取用户对象.
     *@paramloginname用户名
     *@return返回用户对象
     
*/

    
public user getuser(string loginname);

    
/**
     *创建用户.
     *@paramuser用户对象
     *@return返回创建的对象的tostring()方法返回的内容
     
*/

    
public string createuser(user user);

    
/**
     *获取用户信息数组.
     *@return返回用户信息数组
     
*/

    
public user[] getuserarray();
    
    
/**
     *获得用户信息列表.
     *@return返回用户信息列表
     *
@authoramigoxie
     *creationdate:2007-9-28-下午12:55:37
     
*/

    
public list<user> getuserlist();
}


它的实现类userserviceimpl.java的内容如下:

package webservice.example2;

import java.util.arraylist;
import java.util.date;
import java.util.list;

/**
 *用户业务实现类.
 *
@authoramigoxie
 *@version1.0
 *creationdate:2007-9-28-上午10:54:11
 
*/

publicclass userserviceimpl 
implements userservice {
    
/**
     *获取用户对象.
     *@paramloginname用户名
     *@return返回用户对象
     
*/

    
public user getuser(string loginname) {
       user user 
= new user();
       user.setloginname(loginname);
       user.setpassword(
"12345678");
       user.setmobile(
"13812345678");
       user.setcreatetime(
new date());
       
return user;
    }


    
/**
     *创建用户.
     *@paramuser用户对象
     *@return返回创建的对象的tostring()方法返回的内容
     
*/

    
public string createuser(user user) {
       user.setcreatetime(
new date());
       
return user.tostring();
    }


    
/**
     *获取用户信息数组.
     *@return返回用户信息数组
     
*/

    
public user[] getuserarray() {
       user[] userlist 
= new user[4];
       userlist[
0= getuser("阿蜜果");
       userlist[
1= getuser("sterning");
       userlist[
2= getuser("娟子");
       userlist[
3= getuser("老肖");
       
return userlist;
    }


    
/**
     *获得用户信息列表.
     *@return返回用户信息列表
     *
@authoramigoxie
     *creationdate:2007-9-28-下午12:55:37
     
*/

    
public list<user> getuserlist() {
       list
<user> userlist = new arraylist<user>();
       userlist.add(getuser(
"阿蜜果"));
       userlist.add(getuser(
"sterning"));
       userlist.add(getuser(
"娟子"));
       userlist.add(getuser(
"老肖"));
       
return userlist;
    }

}

注意:getuserlist()方法返回的list中需要采用泛型,不然会部署失败。

到此为止,我们的业务已经完成,剩下的工作只是修改配置文件和编写测试类来进行测试。让我们继续往下走吧。

四.             配置文件applicationcontext.xmlxfire-servlet.xml的修改

在本小节中,我们需要修改配置文件。首先在applicationcontext.xml文件中添加用户逻辑bean的定义,添加的代码如下:

<bean id="userbean" class="webservice.example2.userserviceimpl"/>

接下来我们还需要修改xfire-servlet.xml文件来暴露我们的web service,修改后的该文件内容如下所示:

<entry key="/userservice.ws">                    

<ref bean="userservice" />                

entry>

并添加如下bean的定义:

<bean id="userservice" parent="basewebservice">
       

       
<property name="servicebean" ref="userbean" />
       

       
<property name="serviceclass" value="webservice.example2.userservice" />
    
bean>

   我们的web service已经开发完成,启动本项目后,可通过浏览器访问:,我们可以在浏览器中看到该例的wsdl信息。

五.             web service测试

在本小节我们将对上述完成的web service进行测试,首先我们在src目录下的client.xml文件增加如下内容:


     
<bean id="testuserwebservice" class="org.codehaus.xfire.spring.remoting.xfireclientfactorybean">
       
<property name="serviceclass">              <value>webservice.example2.userservicevalue> 
       
property>      
        
<property name="wsdldocumenturl">         
<value>http://localhost:8080/webservice_helloworld/userservice.ws?wsdlvalue>       
        
property>      
     
bean>

     接着我们在src/test目录下建立userserviceclienttest.java类,编写测试代码如下:

package test;

import java.util.list;

import org.springframework.context.applicationcontext;
import org.springframework.context.support.classpathxmlapplicationcontext;

import webservice.example2.user;
import webservice.example2.userservice;

/**
 * 用户业务测试类.    
 * 
@author amigoxie
 * 
@version 1.0
 * creation date: 2007-9-28 - 下午12:03:06
 
*/

public class userserviceclienttest {
    
public static void main(string[] args) throws exception {
        userserviceclienttest test 
= new userserviceclienttest();
        test.testclient();
    }
 
    
    
public void testclient() throws exception {
        applicationcontext ctx 
= new classpathxmlapplicationcontext(
                
"client.xml");    
        userservice userservice 
= (userservice) ctx.getbean("testuserwebservice");
        
        
//测试getuser()方法
        system.out.println("--------------getuser()------------");
        user user 
= userservice.getuser("阿蜜果");
        system.out.println(user);
        
        
//测试getarray()方法
        system.out.println("--------------getuserarray()------------");
        user[] userarray 
= userservice.getuserarray();
        
for (int i = 0; i < userarray.length; i{
            system.out.println(
"i="  i  "|"  userarray[i]);
        }

        
        
//测试createuser()方法
        system.out.println("--------------createuser()------------");
        user newuser 
= new user();
        newuser.setloginname(
"离离");
        newuser.setpassword(
"123");
        newuser.setmobile(
"13666666666");
        string result 
= userservice.createuser(newuser);
        system.out.println(result);
        
        
//测试getuserlist()方法
        list<user> userlist = userservice.getuserlist();
        system.out.println(
"--------------getuserlist()------------");
        
for (int i = 0; i < userlist.size(); i{
            system.out.println(
"i="  i  "|"  userlist.get(i));
        }

    }

}

    大家可以运行该类,来查看运行效果。
    运行有问题的人可在此留下你们的email给我,我将这个工程发给你们。

posted on 2007-09-28 13:50 阿蜜果 阅读(14909) 评论(102)     所属分类: web service
评论共2页: 1   


feedback:
# re: 使用xfire spring构建web service(二)
2007-09-28 18:01 | 千里冰封
:(,楼上好牛
  回复  
  
# re: 使用xfire spring构建web service(二)
2007-09-28 23:34 |
哈哈!  回复  
  
# re: 使用xfire spring构建web service(二)[未登录]
2007-09-29 09:16 | 阿蜜果
@ 千里冰封
@杨爱友
多谢支持

@bruce luo
汗!  回复  
  
# re: 使用xfire spring构建web service(二)
2007-09-29 19:27 |
boss,有没有xfire的书籍,给我个,zyl198511@gmail.com
谢谢.  回复  
  
# re: 使用xfire spring构建web service(二)
2007-10-01 21:11 |
很喜欢看你写的文章  回复  
  
# re: 使用xfire spring构建web service(二)
2007-10-12 11:14 |
劳驾把包传给我mail:tangyi006552@yahoo.com.cn  回复  
  
# re: 使用xfire spring构建web service(二)
2007-10-15 09:40 |
发给我一份:kongqi395@hotmail.com  回复  
  
# re: 使用xfire spring构建web service(二)
2007-10-16 17:53 |
够强!  回复  
  
# re: 使用xfire spring构建web service(二)
2007-10-24 09:46 |
你的文章很好,对我很有帮助,谢谢了,呵呵  回复  
  
# re: 使用xfire spring构建web service(二)
2007-10-24 20:39 |
写的真好,正是我需要的。
发我一份:vigor_lee@126.com.
请问如果要对数据库进行操作,那又如何做呢?我试着用xfire spring hibernate,但是老出错。你是怎么做的?能不能给个例子啊?  回复  
  
# 返回list 遇到了麻烦,希望你能帮助
2007-10-24 20:54 |
返回list 遇到了麻烦,希望你能帮助,你有相关的文档吗?还有这个工程,我也想看下,谢谢,我的邮箱是:ghl0618@hotmail.com  回复  
  
# re: 使用xfire spring构建web service(二)[未登录]
2007-10-25 08:36 | 阿蜜果
@vigor
xfire spring hibernate的也差不多,现在我还没有现成的简单例子,都是项目中的,我先将这个例子发给你一份吧。

@bluesea
是不是因为没有用泛型?我等会把这个工程发给你一份吧,多谢关注!  回复  
  
# re: 使用xfire spring构建web service(二)
2007-10-30 10:52 |
阿蜜果,
我又遇到问题了。
如何实现web service的远程调用(用java调用),你能给举个例子吗?如:调用例子中的userservice的getuser()方法。
vigor_lee@126.com  回复  
  
# re: 使用xfire spring构建web service(二)[未登录]
2007-10-30 20:43 |
很好,谢谢楼主发布的例子,给我很大的帮助  回复  
  
# re: 使用xfire spring构建web service(二)[未登录]
2007-11-02 09:17 |
楼主,给我发一份这个工程,谢谢先!我的邮箱是zw.gavin@gmail.com  回复  
  
# re: 使用xfire spring构建web service(二)
2007-11-02 10:38 |
远程客户端调用怎么写呀?  回复  
  
# re: 使用xfire spring构建web service(二)[未登录]
2007-11-02 12:13 | 阿蜜果
@gavin
已发  回复  
  
# re: 使用xfire spring构建web service(二)
2007-11-05 16:44 |
我用xfire 写的服务端程序,返回的是一个user对象
如果另一个客户端调用应该怎么写?  回复  
  
# re: 使用xfire spring构建web service(二)
2007-11-06 15:16 |
如何实现xfire web service的远程调用(用java调用)?
如:调用例子中的userservice的getuser()方法。
  回复  
  
# re: 使用xfire spring构建web service(二)
2007-11-06 17:34 |
请教一下,.net客户端能直接访问:user[] getuserarray方法吗?  回复  
  
# re: 使用xfire spring构建web service(二)
2007-11-13 15:02 |
已做了权限通用框架,,,想用webservice把其他几个j2ee工程集成进来,用这个权限框架管理....,,,有什么好的建议吗??谢谢  回复  
  
# re: 使用xfire spring构建web service(二)
2007-11-26 14:48 |
好  回复  
  
# re: 使用xfire spring构建web service(二)
2007-12-04 17:34 |
麻烦能不能发一份工程给我呢?
mailto:xmkevinchen at gmail.com
谢谢

正好碰到数据类型的问题了  回复  
  
# re: 使用xfire spring构建web service(二)
2007-12-06 16:23 |
最近在学习webservice,需要这方面的例子,先谢谢了.我的e-mail是
wjcava@163.com,帮忙发一下吧  回复  
  
# re: 使用xfire spring构建web service(二)
2008-01-02 22:06 |
楼主姐姐给也给我资料吧,偶现在刚学webservice你的文章很好,支持你.  回复  
  
# re: 使用xfire spring构建web service(二)
2008-01-02 22:23 |
wusuo_007@163.com楼主姐姐给也给我资料吧,偶现在刚学webservice你的文章很好,支持你.  回复  
  
# re: 使用xfire spring构建web service(二)[未登录]
2008-02-28 10:22 |
dear amiguo mm,i am dismayed for a gay above ,he actually call you
sis ahead of me! i have some important thing about us,contanct with me by email:luckyworm2008@gmail.com  回复  
  
# re: 使用xfire spring构建web service(二)[未登录]
2008-02-28 11:36 |
haw-haw,a mi guo is superexcellent,and i support you!  回复  
  
# re: 使用xfire spring构建web service(二)
2008-03-10 13:57 |
阿密果老师。。。请把你的例子发到我的邮箱:472579211@qq.com 谢谢...  回复  
  
# re: 使用xfire spring构建web service(二)
2008-03-15 13:42 |
阿密果老师......您的qq是多少啊......?  回复  
  
# re: 使用xfire spring构建web service(二)
2008-03-25 16:50 |
哪位大哥大姐 也发一份资料给我吧 lele_love_lomboz@hotmail.com
致谢  回复  
  
# re: 使用xfire spring构建web service(二)
2008-04-17 10:03 |
也给我一份,,谢谢...
yangpanwww@126.com

阿密果,你真的是太好了,,,,愿意交我这个朋友不...
我的qq:609865047   回复  
  
# 谢谢
2008-04-24 11:20 |
阿米果您好:刚开始看webservice,麻烦您能否把这个完整工程发给我:
zhang_dlin@cvicse.com
万分感谢!  回复  
  
# re: 使用xfire spring构建web service(二)
2008-05-12 16:35 |
exception in thread "main" org.springframework.beans.factory.beancreationexception: error creating bean with name 'testwebservice' defined in class path resource [client.xml]: initialization of bean failed; nested exception is java.io.filenotfoundexception:
java.io.filenotfoundexception:

我出现了这样一个问题,能把整个工程发给我参考一下吗,谢谢
pwf1128@163.com  回复  
  
# re: 使用xfire spring构建web service(二)
2008-06-04 15:42 |
阿米果您好,能发点webservice方面的资料给我吗,我也正在学webservice

我邮箱:maosha8@163.com

还有就是能发一个传入自定义类型参数的webservice例子给我吗?

我在客户端向服务器传入jaxbelement类型的参数时(为自定义类型)
在服务器端,接到user时,user不为空,但user.getname()为空
user.getname().getvalue()也为空,这是为什么

急,急,急!!!!!  回复  
  
# re: 使用xfire spring构建web service(二)
2008-06-04 15:45 |
向服务器传入自定义类型jaxbelement时,报错:

org.codehaus.xfire.fault.xfirefault: could not unmarshall type : unexpected eof; was expecting a close tag for element

unexpected eof; was expecting a close tag for element

no open start element, when trying to write end element

这是什么错哟,帮忙回答下啊,谢谢了!!!!!!!

我qq:50353845,发我邮箱啊  回复  
  
# re: 使用xfire spring构建web service(二)
2008-06-04 18:24 |
maoguangpu@163.com
谢谢了 很需要这个  回复  
  
# re: 使用xfire spring构建web service(二)
2008-06-12 14:56 |
请问能把工程代码发给我吗?谢谢!abcokli096@163.com  回复  
  
# re: 使用xfire spring构建web service(二)
2008-06-18 15:03 |
我想问你下,我服务端开发与你是同样这么操作的.
然后通过wsdl调客户端.
不同的是我感觉你客户端与服务端写在同一个应用上,这么做我觉得好象失去了webservice跨应用的功能.

而我的写在不同应用上的时候,当我的客户端去调用服务端的时候,如果所调用的方法的返回值是对象或是list的时候,会产生一个xml格式的xmlobject.现在问题卡这了,如果可以希望能向你请教下怎么解决.

msn:xuewei2007@msn.com
qq :280256825  回复  
  
# re: 使用xfire spring构建web service(二)
2008-06-18 15:50 |

webservice.example2.userservice





我是直接拿wsdl文件来开发客户端,这个里面的serviceclass我怎么可能知道,很疑惑.
  回复  
  
# re: 使用xfire spring构建web service(二)
2008-06-21 11:47 |
麻烦发一份源码给我 jakoes@163.com 谢谢  回复  
  
# re: 使用xfire spring构建web service(二)[未登录]
2008-06-22 13:19 |
谢谢 啊米果小姐
feichangjf666@163.com  回复  
  
# re: 使用xfire spring构建web service(二)[未登录]
2008-06-23 16:56 |
谢谢 阿密果 才女噢
文章写得很有条理啊 赞一个!
w_liangmail@yahoo.com.cn  回复  
  
# re: 使用xfire spring构建web service(二)
2008-06-24 11:07 |
我按你的写的,报下面的错误
object is not an instance of declaring class
搞不懂了
网上说可能是架包有问题
阿蜜果吧你的项目发我一份吧,谢谢
li_hy2004@163.com  回复  
  
# re: 使用xfire spring构建web service(二)
2008-07-04 11:08 |
楼上的 object is not an instance of declaring class 错误是怎么解决的啊,请赐教,谢谢!  回复  
  
# re: 使用xfire spring构建web service(二)
2008-07-05 18:50 |
非常好!!!
谢谢!
中国应该多出些才女!!!
哈哈哈!
给我发一份
jiheyuan126@126.com
  回复  
  
# re: 使用xfire spring构建web service(二)
2008-07-05 18:52 |
期待你能早点给我发过来,因为我正在研究这个东西,哎!一点儿头绪都没有呀!  回复  
  
# re: 使用xfire spring构建web service(二)
2008-07-12 20:07 |
楼主,给我发一份这个工程,谢谢先!我的邮箱是cjh_178@163.com   回复  
  
# re: 使用xfire spring构建web service(二)
2008-07-12 20:10 |
楼主,在吗?急!!如果在的话,给我发一份这个工程,谢谢先!我的邮箱是cjh_178@163.com  回复  
  
# re: 使用xfire spring构建web service(二)[未登录]
2008-08-05 10:05 |
楼主,遇到很奇怪的问题,想参考一下你这个工程的例子,能不能把工程给我发一份? 谢谢!kuru1317@yahoo.com.cn  回复  
  
# re: 使用xfire spring构建web service(二)[未登录]
2008-08-19 16:22 |
测试代码出现了问题,麻烦jj发一份工程给我吧。谢谢!
sunxiaoxioayang@163.com  回复  
  
# re: 使用xfire spring构建web service(二)
2008-08-23 19:22 |
如果user bean 中包含 int , date 等类型,createuser(user user), user 中能正常得到这些值么?  回复  
  
# re: 使用xfire spring构建web service(二)
2008-08-25 11:25 |
麻烦jj给我发一份,wkz_214@163.com。谢谢!!!  回复  
  
# re: 使用xfire spring构建web service(二)
2008-09-01 17:14 |
阿米果,麻烦给我一份。xaq84@163.com.谢谢了  回复  
  
# re: 使用xfire spring构建web service(二)
2008-09-02 15:59 |
为什么我传递复杂对象值都是null呢?好郁闷……  回复  
  
# re: 使用xfire spring构建web service(二)
2008-09-02 16:05 |
阿米果,如果方便,也给我发一份吧。quanxiwei@yahoo.com.cn  回复  
  
# re: 使用xfire spring构建web service(二)
2008-09-12 15:51 |
如果方便,也给我发一份吧 wzltian@21cn.com  回复  
  
# re: 使用xfire spring构建web service(二)
2008-11-04 17:23 |
阿蜜果你好 想向你请教下 你现在的例子服务和客户端是在同一个工程下的 不同工程间webservice如何调用 谢谢  回复  
  
# re: 使用xfire spring构建web service(二)
2008-12-20 18:05 |
log4j:warn no appenders could be found for logger (org.springframework.beans.factory.xml.xmlbeandefinitionreader).
log4j:warn please initialize the log4j system properly.
retrieving document at 'null'.
--------------getuser()------------
loginname=阿蜜果|password=12345678|mobile=13812345678|createdate=sat dec 20 18:03:54 cst 2008
--------------getuserarray()------------
i=0|loginname=阿蜜果|password=12345678|mobile=13812345678|createdate=sat dec 20 18:03:54 cst 2008
i=1|loginname=sterning|password=12345678|mobile=13812345678|createdate=sat dec 20 18:03:54 cst 2008
i=2|loginname=娟子|password=12345678|mobile=13812345678|createdate=sat dec 20 18:03:54 cst 2008
i=3|loginname=老肖|password=12345678|mobile=13812345678|createdate=sat dec 20 18:03:54 cst 2008
--------------createuser()------------
loginname=离离|password=123|mobile=13666666666|createdate=sat dec 20 18:03:54 cst 2008
--------------getuserlist()------------
i=0|loginname=阿蜜果|password=12345678|mobile=13812345678|createdate=sat dec 20 18:03:55 cst 2008
i=1|loginname=sterning|password=12345678|mobile=13812345678|createdate=sat dec 20 18:03:55 cst 2008
i=2|loginname=娟子|password=12345678|mobile=13812345678|createdate=sat dec 20 18:03:55 cst 2008
i=3|loginname=老肖|password=12345678|mobile=13812345678|createdate=sat dec 20 18:03:55 cst 2008
  回复  
  
# re: 使用xfire spring构建web service(二)
2009-02-10 13:56 |
你好,可以发我一份工程吗?
topyhups@yahoo.com.cn  回复  
  
# re: 使用xfire spring构建web service(二)[未登录]
2009-03-04 10:27 |
你好 能发一份工程我吗?谢谢
gaowei0722@sohu.com  回复  
  
# re: 使用xfire spring构建web service(二)[未登录]
2009-03-18 17:44 |
你好 我现在正在学习xfire 希望你能发给我一份工程做参考,感激不尽!
fjk_18@163.com  回复  
  
# re: 使用xfire spring构建web service(二)
2009-04-11 15:18 |
你好,能否发一份给我?谢谢了 ok558@sohu.com
  回复  
  
# re: 使用xfire spring构建web service(二)
2009-04-15 20:14 |
我遇到个类型的转换问题。主要用到hibernate出现这个问题。。不知能否帮咨询一下。我的邮箱:jianchuan1216@163.com  回复  
  
# re: 使用xfire spring构建web service(二)
2009-05-09 15:00 | 小罗
我的邮箱:renxiaobin321321@163.com。发一份谢了!若方便的话qq交流:376542367  回复  
  
# re: 使用xfire spring构建web service(二)
2009-05-09 15:01 |
renxiaobin321321@163.com.多多交流,谢了!  回复  
  
# re: 使用xfire spring构建web service(二)
2009-06-03 10:00 |
crys_vv@126.com 请给我也发一份把。谢谢了。蜜果姐~  回复  
  
# re: 使用xfire spring构建web service(二)
2009-06-09 09:36 |
你好,请问夸工程的如何解析返回数组类型的,我返回object[],可打印出来是
[#document: null]这样的,不知道怎么解析,谢谢!  回复  
  
# re: 使用xfire spring构建web service(二)
2009-07-14 16:38 |
你好,我的程序出错了。请发给我一个:gaotao1210@163.com。
谢谢了。急急!  回复  
  
# could not open servletcontext resource [/web/inf/xfire-servlet.xml]
2009-07-15 13:12 |

你好,我用ssh框架添加xfire的程序,运行tomcat出现以下错误,请帮忙改下。邮箱:gaotao1210@163.com

严重: exception sending context initialized event to listener instance of class org.springframework.web.context.contextloaderlistener
org.springframework.beans.factory.beandefinitionstoreexception: ioexception parsing xml document from servletcontext resource [/web/inf/xfire-servlet.xml]; nested exception is java.io.filenotfoundexception: could not open servletcontext resource [/web/inf/xfire-servlet.xml]
caused by: java.io.filenotfoundexception: could not open servletcontext resource [/web/inf/xfire-servlet.xml]
at org.springframework.web.context.support.servletcontextresource.getinputstream(servletcontextresource.java:99)
at org.springframework.beans.factory.xml.xmlbeandefinitionreader.loadbeandefinitions(xmlbeandefinitionreader.java:297)
at org.springframework.beans.factory.xml.xmlbeandefinitionreader.loadbeandefinitions(xmlbeandefinitionreader.java:280)
at org.springframework.beans.factory.support.abstractbeandefinitionreader.loadbeandefinitions(abstractbeandefinitionreader.java:131)
at org.springframework.beans.factory.support.abstractbeandefinitionreader.loadbeandefinitions(abstractbeandefinitionreader.java:147)
at org.springframework.web.context.support.xmlwebapplicationcontext.loadbeandefinitions(xmlwebapplicationcontext.java:124)
at org.springframework.web.context.support.xmlwebapplicationcontext.loadbeandefinitions(xmlwebapplicationcontext.java:92)
at org.springframework.context.support.abstractrefreshableapplicationcontext.refreshbeanfactory(abstractrefreshableapplicationcontext.java:101)
at org.springframework.context.support.abstractapplicationcontext.obtainfreshbeanfactory(abstractapplicationcontext.java:389)
at org.springframework.context.support.abstractapplicationcontext.refresh(abstractapplicationcontext.java:324)
at org.springframework.web.context.contextloader.createwebapplicationcontext(contextloader.java:244)
at org.springframework.web.context.contextloader.initwebapplicationcontext(contextloader.java:187)
at org.springframework.web.context.contextloaderlistener.contextinitialized(contextloaderlistener.java:49)
at org.apache.catalina.core.standardcontext.listenerstart(standardcontext.java:3827)
at org.apache.catalina.core.standardcontext.start(standardcontext.java:4336)
at org.apache.catalina.core.containerbase.addchildinternal(containerbase.java:761)
at org.apache.catalina.core.containerbase.addchild(containerbase.java:741)
at org.apache.catalina.core.standardhost.addchild(standardhost.java:525)
at org.apache.catalina.startup.hostconfig.deploydirectory(hostconfig.java:920)
at org.apache.catalina.startup.hostconfig.deploydirectories(hostconfig.java:883)
at org.apache.catalina.startup.hostconfig.deployapps(hostconfig.java:492)
at org.apache.catalina.startup.hostconfig.start(hostconfig.java:1138)
at org.apache.catalina.startup.hostconfig.lifecycleevent(hostconfig.java:311)
at org.apache.catalina.util.lifecyclesupport.firelifecycleevent(lifecyclesupport.java:120)
at org.apache.catalina.core.containerbase.start(containerbase.java:1023)
at org.apache.catalina.core.standardhost.start(standardhost.java:719)
at org.apache.catalina.core.containerbase.start(containerbase.java:1015)
at org.apache.catalina.core.standardengine.start(standardengine.java:443)
at org.apache.catalina.core.standardservice.start(standardservice.java:448)
at org.apache.catalina.core.standardserver.start(standardserver.java:710)
at org.apache.catalina.startup.catalina.start(catalina.java:552)
at sun.reflect.nativemethodaccessorimpl.invoke0(native method)
at sun.reflect.nativemethodaccessorimpl.invoke(nativemethodaccessorimpl.java:39)
at sun.reflect.delegatingmethodaccessorimpl.invoke(delegatingmethodaccessorimpl.java:25)
at java.lang.reflect.method.invoke(method.java:597)
at org.apache.catalina.startup.bootstrap.start(bootstrap.java:288)
at org.apache.catalina.startup.bootstrap.main(bootstrap.java:413)
2009-7-15 11:44:38 org.apache.catalina.core.standardcontext start
严重: error listenerstart
2009-7-15 11:44:38 org.apache.catalina.core.standardcontext start
严重: context [/cimom] startup failed due to previous errors
2009-7-15 11:44:38 org.apache.catalina.core.applicationcontext log  回复  
  
# re: 使用xfire spring构建web service(二)[未登录]
2009-08-13 12:39 |
运行时报错了,源码能发我一份吗
我的邮箱:115278055@163.com  回复  
  
# re: 使用xfire spring构建web service(二)
2009-08-14 15:50 |
公开声明:

楼主作为中国软件研发界的骄傲,而我作为她旗帜下的一员,我有权利对楼主表示好感。

  回复  
  
# re: 使用xfire spring构建web service(二)[未登录]
2009-08-25 16:15 |
运行时结果是出来了,但是老是打印出retrieving document at 'null'.希望能把你的源码发份给我或者告诉我怎么解决也行 b03050705@163.com  回复  
  
# re: 使用xfire spring构建web service(二)
2009-11-19 16:04 |
你写的太详细了~谢谢啊~谢谢~  回复  
  
# re: 使用xfire spring构建web service(二)
2009-12-30 16:44 |
@阿蜜果
如果使用 xfire发布webservice 的接口方法要求输入的参数是string[] 类型的通过 下面这样的反射的方式调用是 会报错的,不知道该怎么做,下面的代码才会执行成功。
client client = new client(new );
string[] s=new string[]{"4","5"};
object[] params = new object[] { s};
object[] results = client.invoke("notifystatus",params);

notifystatus 方法要求输入一个字符串数组作为参数。
希望你知道的话,指教我一下,我的 邮件地址是 racky@163.com  回复  
  
# re: 使用xfire spring构建web service(二)
2010-01-11 09:51 |
首先感谢阿蜜果的这两篇文章让我入门,可是当我看了jms mq后,我想xfire spring的方式能实现异步吗?阿蜜果或者大家有什么想法吗?zhengbeier2002@yahoo.com.cn
  回复  
  
# re: 使用xfire spring构建web service(二)
2010-01-12 16:42 |
我拉了这么长时间,还没拉到低,女生的博客就是蛮多狼的,哈哈  回复  
  
# re: 使用xfire spring构建web service(二)
2010-03-15 21:09 |
你好!是否可以发我一份,arsenal1992@163.com  回复  
  
# re: 使用xfire spring构建web service(二)
2010-03-16 00:32 |
你的例子解决了我的一个大难题,谢谢,谢谢。。。  回复  
  
# re: 使用xfire spring构建web service(二)
2010-05-07 17:33 |
请问关于 retrieving document at 'null'. 这个问题怎么解决  回复  
  
# re: 使用xfire spring构建web service(二)
2010-11-02 10:33 |
xfire-servlet.xml是由spring-mvc框架来加载的.默认位置是加载是/web-info/xfire-servlet.xml.  回复  
  
# re: 使用xfire spring构建web service(二)[未登录]
2011-05-09 16:38 |
请问在调用时,如何动态传参数呢?请指教 qq:451106874 msn:harvey.sun@polylink  回复  
  
# re: 使用xfire spring构建web service(二)[未登录]
2011-06-14 09:35 |
给我一份,client.xml不知道怎么写。xgzm2006@163.com  回复  
  
# re: 使用xfire spring构建web service(二)
2011-10-12 16:37 |
lzg_81@126.com
能把xfire spring dao层的代码给我来一份吗,谢谢!  回复  
  
# re: 使用xfire spring构建web service(二)
2011-10-12 16:41 |
log4j:warn no appenders could be found for logger (org.springframework.beans.factory.xml.xmlbeandefinitionreader).
log4j:warn please initialize the log4j system properly.
retrieving document at 'null'.
exception in thread "main" java.lang.noclassdeffounderror: org/apache/commons/httpclient/methods/requestentity
at java.lang.class.getdeclaredconstructors0(native method)
at java.lang.class.privategetdeclaredconstructors(class.java:2389)
at java.lang.class.getconstructor0(class.java:2699)
at java.lang.class.getconstructor(class.java:1657)
at org.codehaus.xfire.transport.http.httpchannel.sendviaclient(httpchannel.java:108)
at org.codehaus.xfire.transport.http.httpchannel.send(httpchannel.java:48)
at org.codehaus.xfire.handler.outmessagesender.invoke(outmessagesender.java:26)
at org.codehaus.xfire.handler.handlerpipeline.invoke(handlerpipeline.java:131)
at org.codehaus.xfire.client.invocation.invoke(invocation.java:79)
at org.codehaus.xfire.client.invocation.invoke(invocation.java:114)
at org.codehaus.xfire.client.client.invoke(client.java:336)
at org.codehaus.xfire.client.xfireproxy.handlerequest(xfireproxy.java:77)
at org.codehaus.xfire.client.xfireproxy.invoke(xfireproxy.java:57)
at $proxy0.sayhello(unknown source)
at com.hq.ws.test.webserviceclienttest2.testclient(webserviceclienttest2.java:61)
at com.hq.ws.test.webserviceclienttest2.main(webserviceclienttest2.java:32)
caused by: java.lang.classnotfoundexception: org.apache.commons.httpclient.methods.requestentity
at java.net.urlclassloader$1.run(urlclassloader.java:202)
at java.security.accesscontroller.doprivileged(native method)
at java.net.urlclassloader.findclass(urlclassloader.java:190)
at java.lang.classloader.loadclass(classloader.java:307)
at sun.misc.launcher$appclassloader.loadclass(launcher.java:301)
at java.lang.classloader.loadclass(classloader.java:248)
... 16 more

这是测试的时候报的错,少httpclient的jar文件吗?但是我工程里面有啊,不知道怎么回事,如果知道怎么改qq告诉我一下好吗,谢谢215643070  回复  
  
# re: 使用xfire spring构建web service(二)
2011-11-18 14:35 |
org.codehaus.xfire.xfireruntimeexception: error invoking 'com.mpc.ship.service.webservicemanager.searchshipinfo(java.lang.string, java.lang.string)'. nested exception is java.lang.reflect.invocationtargetexception: null
java.lang.reflect.invocationtargetexception

以上信息是我按照您的例子写的一个调用出的错误信息的一部分,但是工程却是能用的,一直不知道怎么回事,如果有时间,请帮忙解决,谢谢。  回复  
  
# re: 使用xfire spring构建web service(二)[未登录]
2012-04-19 16:55 |
学习了!感谢啊!  回复  
  
# re: 使用xfire spring构建web service(二)
2012-07-05 16:58 |
楼主 能发个工程给我看下么 1025013480@qq.com  回复  
  
# re: 使用xfire spring构建web service(二)
2012-07-16 15:10 |
我qq 351523223 希望加下  回复  
  
# re: 使用xfire spring构建web service(二)
2012-08-21 14:06 |
你好,麻烦你有时间的时候能不能赐教下?或者发一份第三方接口的实例代码?谢谢邮箱no1bigtooth@126.com  回复  
  
# re: 使用xfire spring构建web service(二)[未登录]
2013-08-27 13:50 |
按照你的方法修改,但是运行报错啊,能把你的工程发给我一份吗, 谢谢!402759533@qq.com  回复  
  
# re: 使用xfire spring构建web service(二)[未登录]
2013-10-21 15:10 |
您好,我最近在研究webservice,弄得头挺大的,刚接触,希望能借鉴一下
邮箱 :“area_liu@163.com”,谢谢了  回复  
  
# re: 使用xfire spring构建web service(二)
2014-02-10 10:26 |
@刘晓刚
您好,可以借鉴一下如何解决webservice方案么?刚接触,整了3天了。。  回复  
  
# re: 使用xfire spring构建web service(二)
2014-02-10 10:28 |
@刘晓刚
您好,可以借鉴一下如何解决webservice方案么?刚接触,整了3天了。。
我的qq:2643392939  回复  
  
# re: 使用xfire spring构建web service(二)
2014-04-29 12:43 |
您好,我最近在研究webservice,弄得头挺大的,刚接触,希望能借鉴一下
我的邮箱是 zhkm_cb@163.com  回复  
  
# re: 使用xfire spring构建web service(二)
2014-05-09 12:08 |
可以参考代码:xfire spring整合构建web service的框架搭建实例代码下载
下载地址:
  回复  
  
# re: 使用xfire spring构建web service(二)
2015-08-27 16:33 |
刚开始学webservice,希望能借鉴一下您的工程,谢谢。
我的邮箱是zhaozengbingzzb@163.com。  回复  
  
# re: 使用xfire spring构建web service(二)
2015-10-07 17:59 |
java学徒,新手,想看看你的webservicedemo,谢谢,可以吗?可以的话,给我发一份1213577911@qq.com
  回复  
  
# re: 使用xfire spring构建web service(二)
2015-10-07 18:00 |
可以有完整的webservicedemo模板吗?非常感谢哦,急需!!!!!!  回复  
  
# re: 使用xfire spring构建web service(二)
2016-06-27 11:27 |
出问题了  回复  
  
评论共2页: 1   

只有注册用户后才能发表评论。


网站导航:
              
 
2007年9月
2627282930311
235678
9111415
17182122
232425
123456

      生活将我们磨圆,是为了让我们滚得更远——“圆”来如此。
      我的作品:
        (2015年12月出版)
      

        (2015年7月出版)
      
        (2010年5月出版)
     

留言簿(261)

使用xfire spring构建web service(二) -凯发k8网页登录

积分与排名

  • 积分 - 2268582
  • 排名 - 3

最新评论

阅读排行榜

评论排行榜

网站地图