Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/322.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 无法在@ManagedBean中插入cxf服务_Java_Spring_Jsf_Primefaces_Cxf - Fatal编程技术网

Java 无法在@ManagedBean中插入cxf服务

Java 无法在@ManagedBean中插入cxf服务,java,spring,jsf,primefaces,cxf,Java,Spring,Jsf,Primefaces,Cxf,我正在使用以下技术进行一个项目- 春季3.2 CXF 2.2.12 Primefaces 3.5 我已创建并成功发布以下web服务- <bean id="loginService" class="com.cloudsym.service.login.LoginServiceImpl" /> <jaxws:endpoint id="loginServiceWSId" implementor="#loginService" address="/iLoginService" />

我正在使用以下技术进行一个项目-

  • 春季3.2
  • CXF 2.2.12
  • Primefaces 3.5
  • 我已创建并成功发布以下web服务-

    <bean id="loginService" class="com.cloudsym.service.login.LoginServiceImpl" />
    <jaxws:endpoint id="loginServiceWSId" implementor="#loginService" address="/iLoginService" />
    
    }

    当我从index.xhtml调用上述方法时-

    <p:commandButton value="Submit" action="#{loginBean.fetchLoginDetails}" ajax="false" />
    
    但是,当我尝试使用ClassPathXmlApplicationContext(注释代码)时,我成功地完成了服务调用并获得了期望的结果

    我不知道为什么setter注入不起作用


    谢谢

    在您的LoginController类中,将ILoginService loginService替换为ILoginService loginService客户端;也相应地改变你的变异子。谢谢你的回复,上面的代码没有显示我尝试过的方法。(在这里共享时忘了注释代码)
    但是上面的方法不起作用了哈,你在定义bean的客户端xml中包含了吗?我也尝试过,在调试期间,我发现当通过clients-bean.xml解析LoginController类时,LoginController中ILoginService loginService的setter不为null,但当我从
    loginService调用fetchLoginDetails方法时,为null,因此引发了NullPointerException。我不确定在定义豆。
    import java.io.Serializable;
    import javax.faces.bean.ManagedBean;
    import javax.faces.view.ViewScoped;
    
    import org.springframework.beans.factory.annotation.Autowired;
    import org.springframework.context.support.ClassPathXmlApplicationContext;
    import org.springframework.dao.DataAccessException;
    
    import com.service.login.ILoginService;
    import com.vo.login.LoginVo;
    
    @ManagedBean(name="loginBean")
    @ViewScoped
    public class LoginController implements Serializable {
    
    private static final long serialVersionUID = 1L;
    
    ILoginService loginService;
    
    public void fetchLoginDetails() {
        try {
            //String clientBeansPath = "classpath:com/resources/spring/client-beans.xml";
            //ClassPathXmlApplicationContext classPathXmlAppContext = new ClassPathXmlApplicationContext(clientBeansPath); 
            //classPathXmlAppContext.start();
            //ILoginService loginService = (ILoginService)classPathXmlAppContext.getBean("loginServiceClient");
            LoginVo loginVo = loginService.getLoginData("1");
            System.out.println("IN LOGINCONTROLLER");
        } catch (Exception e) {
            e.printStackTrace();
        }
    }
    
    @Autowired
    public void setLoginService(ILoginService loginService) {
        this.loginService = loginService;
    }
    
    <p:commandButton value="Submit" action="#{loginBean.fetchLoginDetails}" ajax="false" />
    
    java.lang.NullPointerException
    at com.controller.login.LoginController.fetchLoginDetails(LoginController.java:29)
    at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
    at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source)
    at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)
    at java.lang.reflect.Method.invoke(Unknown Source)
    at org.apache.el.parser.AstValue.invoke(AstValue.java:172)
    at org.apache.el.MethodExpressionImpl.invoke(MethodExpressionImpl.java:276)
    at com.sun.faces.facelets.el.TagMethodExpression.invoke(TagMethodExpression.java:105)
    at javax.faces.component.MethodBindingMethodExpressionAdapter.invoke(MethodBindingMethodExpressionAdapter.java:87)
    at com.sun.faces.application.ActionListenerImpl.processAction(ActionListenerImpl.java:102)
    at javax.faces.component.UICommand.broadcast(UICommand.java:315)
    at javax.faces.component.UIViewRoot.broadcastEvents(UIViewRoot.java:790)
    at javax.faces.component.UIViewRoot.processApplication(UIViewRoot.java:1282)
    at com.sun.faces.lifecycle.InvokeApplicationPhase.execute(InvokeApplicationPhase.java:81)
    at com.sun.faces.lifecycle.Phase.doPhase(Phase.java:101)
    at com.sun.faces.lifecycle.LifecycleImpl.execute(LifecycleImpl.java:198)
    at javax.faces.webapp.FacesServlet.service(FacesServlet.java:646)
    at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:290)
    at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
    at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:233)
    at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:191)
    at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:128)
    at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:102)
    at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:109)
    at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:286)
    at org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:845)
    at org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.process(Http11Protocol.java:583)
    at org.apache.tomcat.util.net.JIoEndpoint$Worker.run(JIoEndpoint.java:447)
    at java.lang.Thread.run(Unknown Source)