在客户端,CXF与spring的整合,实际上是SpringMVC中controller或service调用WebService代理的一个过程,我们只需要将通过wsdl2java生成的文件加入到我们的项目中,然后在Controller或service中依赖注入WebService 的代理,即将生成文件中服务接口注入到Controller中。然后在我们的配置文件中配置生成的服务接口,在这里与我们一般配置bean的方式是不一样的:
//这也是配置一个bean
<jaxws:client id="hw"
serviceClass="interf.Helloworld" //服务接口
address="http://localhost:1111/helloworld">//调用服务的地址
<jaxws:outInterceptors>
<bean class="util.AuthInterpector"/>//配置拦截器
</jaxws:outInterceptors>
</jaxws:client>
在我们的Controller中:
@Controller
public class ControllerTest {
@Autowired
@Qualifier("hw")
private Helloworld hw;// 服务接口
public Helloworld getHw() {
return hw;
}
public void setHw(Helloworld hw) {
this.hw = hw;
}
@RequestMapping(value="sayHello")
public String sayHello(@RequestParam("name")String name,ModelMap map)
{
String str=hw.sayHello(name);
map.addAttribute("result", str);
return "result";
}