我写了个web service
思路是这样的  
一个注册的表  我将其做成web service发布  我一点提交 就把这注册的信息封装到接口中啦  
此接口实现类有一个返回值就是返回者写信息的字符串(我用Struts2而且测试数据也封装好到了这个实现类中了,且发布成功)我在另外一个项目中要调用这个web service 把得到这个返回的数据注入到数据库表中区
在此项目中写了个和上个项目通用的接口
通过xfire手动调用
代码如下:
package com.pwp.client;import java.net.MalformedURLException;import org.codehaus.xfire.XFire;
import org.codehaus.xfire.XFireFactory;
import org.codehaus.xfire.client.XFireProxyFactory;
import org.codehaus.xfire.service.Service;
import org.codehaus.xfire.service.binding.ObjectServiceFactory;public class ServiceTest { public String client() {
Service srModel = new ObjectServiceFactory().create(IBookService.class);
XFireProxyFactory factory = new XFireProxyFactory(XFireFactory
.newInstance().getXFire());// 创建工厂实例 String helloURL = "http://localhost:8080/eHouse/services/book";
IBookService book=null;
try {
book = (IBookService) factory.create(srModel, helloURL);
} catch (MalformedURLException e) {
e.printStackTrace();
}
return book.addBookService();//这就是我要通过web service调用的获得的值
}
}但是我调用之后打印时发现为空啊  没有调用打数据啊   这是怎么回事啊  是我思路出了问题  还是代码有误(严重的是不报错,我不知道哪里出问题啊)  请高手们请教啊

解决方案 »

  1.   

    1 "http://localhost:8080/eHouse/services/book
    你在浏览器访问一下,看能用吗?2 e.printStackTrace();
    难道没出异常信息?
      

  2.   

    我发布成功了啊 所以在浏览器输入http://localhost:8080/eHouse/services/book?wsdl是成功了   
    没有抛出e.printStackTrace()   打印出来的是null
      

  3.   

    怎么多钻到捕获异常上面去了呢  重点不是异常那里啦   是我在调用的时候
    book.addBookService()  它返回的是空(null)  
    我打印System.out.println(book.addBookService());是null
    根本没调用到web service发布的内容啊
      

  4.   

    xfire早就废弃了(虽然可以用) ...