2016-07-29 4 views
1

クライアントアプリケーションを登録してから、そのデータをOAuthサービスに送信したいが、そのようなエラーが発生する、org.apache.cxf.rs.security.oauth2.common.Clientのオブジェクトをあるクラスから別のクラスに送信する方法

 

     WARNING: Application {http://thirdApp/}ThirdPartyAppRegister has thrown exception, unwinding now 
    org.apache.cxf.interceptor.Fault 
     at org.apache.cxf.service.invoker.AbstractInvoker.createFault(AbstractInvoker.java:163) 
     at org.apache.cxf.service.invoker.AbstractInvoker.invoke(AbstractInvoker.java:129) 
     at org.apache.cxf.jaxrs.JAXRSInvoker.invoke(JAXRSInvoker.java:200) 
     at org.apache.cxf.jaxrs.JAXRSInvoker.invoke(JAXRSInvoker.java:99) 
     at org.apache.cxf.interceptor.ServiceInvokerInterceptor$1.run(ServiceInvokerInterceptor.java:59) 
     at org.apache.cxf.interceptor.ServiceInvokerInterceptor.handleMessage(ServiceInvokerInterceptor.java:96) 
     at org.apache.cxf.phase.PhaseInterceptorChain.doIntercept(PhaseInterceptorChain.java:307) 
     at org.apache.cxf.transport.ChainInitiationObserver.onMessage(ChainInitiationObserver.java:121) 
     at org.apache.cxf.transport.http.AbstractHTTPDestination.invoke(AbstractHTTPDestination.java:251) 
     at org.apache.cxf.transport.servlet.ServletController.invokeDestination(ServletController.java:223) 
     at org.apache.cxf.transport.servlet.ServletController.invoke(ServletController.java:197) 
     at org.apache.cxf.transport.servlet.ServletController.invoke(ServletController.java:149) 
     at org.apache.cxf.transport.servlet.CXFNonSpringServlet.invoke(CXFNonSpringServlet.java:171) 
     at org.apache.cxf.transport.servlet.AbstractHTTPServlet.handleRequest(AbstractHTTPServlet.java:290) 
     at org.apache.cxf.transport.servlet.AbstractHTTPServlet.doPost(AbstractHTTPServlet.java:209) 
     at javax.servlet.http.HttpServlet.service(HttpServlet.java:648) 
     at org.apache.cxf.transport.servlet.AbstractHTTPServlet.service(AbstractHTTPServlet.java:265) 
     at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:292) 
     at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:207) 
     at org.apache.tomcat.websocket.server.WsFilter.doFilter(WsFilter.java:52) 
     at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:240) 
     at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:207) 
     at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:212) 
     at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:106) 
     at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:502) 
     at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:141) 
     at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:79) 
     at org.apache.catalina.valves.AbstractAccessLogValve.invoke(AbstractAccessLogValve.java:616) 
     at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:88) 
     at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:528) 
     at org.apache.coyote.http11.AbstractHttp11Processor.process(AbstractHttp11Processor.java:1099) 
     at org.apache.coyote.AbstractProtocol$AbstractConnectionHandler.process(AbstractProtocol.java:670) 
     at org.apache.tomcat.util.net.NioEndpoint$SocketProcessor.doRun(NioEndpoint.java:1520) 
     at org.apache.tomcat.util.net.NioEndpoint$SocketProcessor.run(NioEndpoint.java:1476) 
     at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142) 
     at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617) 
     at org.apache.tomcat.util.threads.TaskThread$WrappingRunnable.run(TaskThread.java:61) 
     at java.lang.Thread.run(Thread.java:745) 
    Caused by: java.lang.NullPointerException 
     at thirdApp.ThirdPartyAppRegister.Appreg(ThirdPartyAppRegister.java:51) 
     at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) 
     at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62) 
     at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) 
     at java.lang.reflect.Method.invoke(Method.java:498) 
     at org.apache.cxf.service.invoker.AbstractInvoker.performInvocation(AbstractInvoker.java:181) 
     at org.apache.cxf.service.invoker.AbstractInvoker.invoke(AbstractInvoker.java:97) 
     ... 36 more 

    Jul 29, 2016 3:56:17 PM org.apache.cxf.phase.PhaseInterceptorChain unwind 
    WARNING: Exception in handleFault on interceptor o[email protected]64d2c210 
    org.apache.cxf.interceptor.Fault 
     at org.apache.cxf.service.invoker.AbstractInvoker.createFault(AbstractInvoker.java:163) 
     at org.apache.cxf.service.invoker.AbstractInvoker.invoke(AbstractInvoker.java:129) 
     at org.apache.cxf.jaxrs.JAXRSInvoker.invoke(JAXRSInvoker.java:200) 
     at org.apache.cxf.jaxrs.JAXRSInvoker.invoke(JAXRSInvoker.java:99) 
     at org.apache.cxf.interceptor.ServiceInvokerInterceptor$1.run(ServiceInvokerInterceptor.java:59) 
     at org.apache.cxf.interceptor.ServiceInvokerInterceptor.handleMessage(ServiceInvokerInterceptor.java:96) 
     at org.apache.cxf.phase.PhaseInterceptorChain.doIntercept(PhaseInterceptorChain.java:307) 
     at org.apache.cxf.transport.ChainInitiationObserver.onMessage(ChainInitiationObserver.java:121) 
     at org.apache.cxf.transport.http.AbstractHTTPDestination.invoke(AbstractHTTPDestination.java:251) 
     at org.apache.cxf.transport.servlet.ServletController.invokeDestination(ServletController.java:223) 
     at org.apache.cxf.transport.servlet.ServletController.invoke(ServletController.java:197) 
     at org.apache.cxf.transport.servlet.ServletController.invoke(ServletController.java:149) 
     at org.apache.cxf.transport.servlet.CXFNonSpringServlet.invoke(CXFNonSpringServlet.java:171) 
     at org.apache.cxf.transport.servlet.AbstractHTTPServlet.handleRequest(AbstractHTTPServlet.java:290) 
     at org.apache.cxf.transport.servlet.AbstractHTTPServlet.doPost(AbstractHTTPServlet.java:209) 
     at javax.servlet.http.HttpServlet.service(HttpServlet.java:648) 
     at org.apache.cxf.transport.servlet.AbstractHTTPServlet.service(AbstractHTTPServlet.java:265) 
     at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:292) 
     at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:207) 
     at org.apache.tomcat.websocket.server.WsFilter.doFilter(WsFilter.java:52) 
     at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:240) 
     at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:207) 
     at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:212) 
     at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:106) 
     at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:502) 
     at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:141) 
     at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:79) 
     at org.apache.catalina.valves.AbstractAccessLogValve.invoke(AbstractAccessLogValve.java:616) 
     at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:88) 
     at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:528) 
     at org.apache.coyote.http11.AbstractHttp11Processor.process(AbstractHttp11Processor.java:1099) 
     at org.apache.coyote.AbstractProtocol$AbstractConnectionHandler.process(AbstractProtocol.java:670) 
     at org.apache.tomcat.util.net.NioEndpoint$SocketProcessor.doRun(NioEndpoint.java:1520) 
     at org.apache.tomcat.util.net.NioEndpoint$SocketProcessor.run(NioEndpoint.java:1476) 
     at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142) 
     at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617) 
     at org.apache.tomcat.util.threads.TaskThread$WrappingRunnable.run(TaskThread.java:61) 
     at java.lang.Thread.run(Thread.java:745) 
    Caused by: java.lang.NullPointerException 
     at thirdApp.ThirdPartyAppRegister.Appreg(ThirdPartyAppRegister.java:51) 
     at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) 
     at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62) 
     at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) 
     at java.lang.reflect.Method.invoke(Method.java:498) 
     at org.apache.cxf.service.invoker.AbstractInvoker.performInvocation(AbstractInvoker.java:181) 
     at org.apache.cxf.service.invoker.AbstractInvoker.invoke(AbstractInvoker.java:97) 
     ... 36 more 

    Jul 29, 2016 3:56:17 PM org.apache.cxf.interceptor.AbstractFaultChainInitiatorObserver onMessage 
    SEVERE: Error occurred during error handling, give up! 
    org.apache.cxf.interceptor.Fault 
     at org.apache.cxf.service.invoker.AbstractInvoker.createFault(AbstractInvoker.java:163) 
     at org.apache.cxf.service.invoker.AbstractInvoker.invoke(AbstractInvoker.java:129) 
     at org.apache.cxf.jaxrs.JAXRSInvoker.invoke(JAXRSInvoker.java:200) 
     at org.apache.cxf.jaxrs.JAXRSInvoker.invoke(JAXRSInvoker.java:99) 
     at org.apache.cxf.interceptor.ServiceInvokerInterceptor$1.run(ServiceInvokerInterceptor.java:59) 
     at org.apache.cxf.interceptor.ServiceInvokerInterceptor.handleMessage(ServiceInvokerInterceptor.java:96) 
     at org.apache.cxf.phase.PhaseInterceptorChain.doIntercept(PhaseInterceptorChain.java:307) 
     at org.apache.cxf.transport.ChainInitiationObserver.onMessage(ChainInitiationObserver.java:121) 
     at org.apache.cxf.transport.http.AbstractHTTPDestination.invoke(AbstractHTTPDestination.java:251) 
     at org.apache.cxf.transport.servlet.ServletController.invokeDestination(ServletController.java:223) 
     at org.apache.cxf.transport.servlet.ServletController.invoke(ServletController.java:197) 
     at org.apache.cxf.transport.servlet.ServletController.invoke(ServletController.java:149) 
     at org.apache.cxf.transport.servlet.CXFNonSpringServlet.invoke(CXFNonSpringServlet.java:171) 
     at org.apache.cxf.transport.servlet.AbstractHTTPServlet.handleRequest(AbstractHTTPServlet.java:290) 
     at org.apache.cxf.transport.servlet.AbstractHTTPServlet.doPost(AbstractHTTPServlet.java:209) 
     at javax.servlet.http.HttpServlet.service(HttpServlet.java:648) 
     at org.apache.cxf.transport.servlet.AbstractHTTPServlet.service(AbstractHTTPServlet.java:265) 
     at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:292) 
     at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:207) 
     at org.apache.tomcat.websocket.server.WsFilter.doFilter(WsFilter.java:52) 
     at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:240) 
     at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:207) 
     at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:212) 
     at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:106) 
     at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:502) 
     at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:141) 
     at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:79) 
     at org.apache.catalina.valves.AbstractAccessLogValve.invoke(AbstractAccessLogValve.java:616) 
     at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:88) 
     at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:528) 
     at org.apache.coyote.http11.AbstractHttp11Processor.process(AbstractHttp11Processor.java:1099) 
     at org.apache.coyote.AbstractProtocol$AbstractConnectionHandler.process(AbstractProtocol.java:670) 
     at org.apache.tomcat.util.net.NioEndpoint$SocketProcessor.doRun(NioEndpoint.java:1520) 
     at org.apache.tomcat.util.net.NioEndpoint$SocketProcessor.run(NioEndpoint.java:1476) 
     at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142) 
     at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617) 
     at org.apache.tomcat.util.threads.TaskThread$WrappingRunnable.run(TaskThread.java:61) 
     at java.lang.Thread.run(Thread.java:745) 
    Caused by: java.lang.NullPointerException 
     at thirdApp.ThirdPartyAppRegister.Appreg(ThirdPartyAppRegister.java:51) 
     at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) 
     at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62) 
     at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) 
     at java.lang.reflect.Method.invoke(Method.java:498) 
     at org.apache.cxf.service.invoker.AbstractInvoker.performInvocation(AbstractInvoker.java:181) 
     at org.apache.cxf.service.invoker.AbstractInvoker.invoke(AbstractInvoker.java:97) 
     ... 36 more 

    Jul 29, 2016 3:56:17 PM org.apache.catalina.core.StandardWrapperValve invoke 
    SEVERE: Servlet.service() for servlet [CXFServlet] in context with path [/cxfjaxrsws] threw exception 
    java.lang.RuntimeException: org.apache.cxf.interceptor.Fault 
     at org.apache.cxf.interceptor.AbstractFaultChainInitiatorObserver.onMessage(AbstractFaultChainInitiatorObserver.java:116) 
     at org.apache.cxf.phase.PhaseInterceptorChain.doIntercept(PhaseInterceptorChain.java:371) 
     at org.apache.cxf.transport.ChainInitiationObserver.onMessage(ChainInitiationObserver.java:121) 
     at org.apache.cxf.transport.http.AbstractHTTPDestination.invoke(AbstractHTTPDestination.java:251) 
     at org.apache.cxf.transport.servlet.ServletController.invokeDestination(ServletController.java:223) 
     at org.apache.cxf.transport.servlet.ServletController.invoke(ServletController.java:197) 
     at org.apache.cxf.transport.servlet.ServletController.invoke(ServletController.java:149) 
     at org.apache.cxf.transport.servlet.CXFNonSpringServlet.invoke(CXFNonSpringServlet.java:171) 
     at org.apache.cxf.transport.servlet.AbstractHTTPServlet.handleRequest(AbstractHTTPServlet.java:290) 
     at org.apache.cxf.transport.servlet.AbstractHTTPServlet.doPost(AbstractHTTPServlet.java:209) 
     at javax.servlet.http.HttpServlet.service(HttpServlet.java:648) 
     at org.apache.cxf.transport.servlet.AbstractHTTPServlet.service(AbstractHTTPServlet.java:265) 
     at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:292) 
     at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:207) 
     at org.apache.tomcat.websocket.server.WsFilter.doFilter(WsFilter.java:52) 
     at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:240) 
     at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:207) 
     at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:212) 
     at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:106) 
     at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:502) 
     at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:141) 
     at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:79) 
     at org.apache.catalina.valves.AbstractAccessLogValve.invoke(AbstractAccessLogValve.java:616) 
     at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:88) 
     at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:528) 
     at org.apache.coyote.http11.AbstractHttp11Processor.process(AbstractHttp11Processor.java:1099) 
     at org.apache.coyote.AbstractProtocol$AbstractConnectionHandler.process(AbstractProtocol.java:670) 
     at org.apache.tomcat.util.net.NioEndpoint$SocketProcessor.doRun(NioEndpoint.java:1520) 
     at org.apache.tomcat.util.net.NioEndpoint$SocketProcessor.run(NioEndpoint.java:1476) 
     at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142) 
     at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617) 
     at org.apache.tomcat.util.threads.TaskThread$WrappingRunnable.run(TaskThread.java:61) 
     at java.lang.Thread.run(Thread.java:745) 
    Caused by: org.apache.cxf.interceptor.Fault 
     at org.apache.cxf.service.invoker.AbstractInvoker.createFault(AbstractInvoker.java:163) 
     at org.apache.cxf.service.invoker.AbstractInvoker.invoke(AbstractInvoker.java:129) 
     at org.apache.cxf.jaxrs.JAXRSInvoker.invoke(JAXRSInvoker.java:200) 
     at org.apache.cxf.jaxrs.JAXRSInvoker.invoke(JAXRSInvoker.java:99) 
     at org.apache.cxf.interceptor.ServiceInvokerInterceptor$1.run(ServiceInvokerInterceptor.java:59) 
     at org.apache.cxf.interceptor.ServiceInvokerInterceptor.handleMessage(ServiceInvokerInterceptor.java:96) 
     at org.apache.cxf.phase.PhaseInterceptorChain.doIntercept(PhaseInterceptorChain.java:307) 
     ... 31 more 
    Caused by: java.lang.NullPointerException 
     at thirdApp.ThirdPartyAppRegister.Appreg(ThirdPartyAppRegister.java:51) 
     at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) 
     at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62) 
     at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) 
     at java.lang.reflect.Method.invoke(Method.java:498) 
     at org.apache.cxf.service.invoker.AbstractInvoker.performInvocation(AbstractInvoker.java:181) 
     at org.apache.cxf.service.invoker.AbstractInvoker.invoke(AbstractInvoker.java:97) 
     ... 36 more 

私は2つの単純なクラスを作成しましたが、OAuthサービスメソッドはまだ実装されていません。 Pps.registerClientメソッドは、引数として、クライアントのオブジェクトを取っていません(任意のコンパイル時にエラーを与えていない)

をThirdPartyAppRegister.javaは、次のとおりです。

 

     package thirdApp; 

    import java.util.Collections; 

    import javax.ws.rs.Consumes; 
    import javax.ws.rs.FormParam; 
    import javax.ws.rs.GET; 
    import javax.ws.rs.POST; 
    import javax.ws.rs.Path; 
    import javax.ws.rs.Produces; 
    import javax.ws.rs.core.MediaType; 
    import org.apache.cxf.rs.security.oauth2.common.Client; 
    import api.Registration; 

    @Path("/registerProvider") 

    public class ThirdPartyAppRegister { 
     private static final String DEFAULT_CLIENT_ID = "123456789"; 
     private static final String DEFAULT_CLIENT_SECRET = "987654321"; 

     private Pps p; 

     @POST 
     @Consumes(MediaType.MULTIPART_FORM_DATA) 
     @Produces(MediaType.TEXT_PLAIN) 
     public Registration Appreg(@FormParam("appName") String appName, @FormParam("appURI") String appURI, 
       @FormParam("appRedirectURI") String appRedirectURI, @FormParam("appDescription") String appDesc) { 
      String clientId = generateClientId(appName, appURI); 
      String clientSecret = generateClientSecret(); 

      Client client = new Client(clientId, clientSecret, true, appName, appURI); 
      client.setApplicationDescription(appDesc); 
      client.setApplicationName(appName); 
      client.setRedirectUris(Collections.singletonList(appRedirectURI)); 
      p.registerClient(client); 
      return new Registration(clientId, clientSecret); 

     } 

     private String generateClientSecret() { 
      return DEFAULT_CLIENT_SECRET; 
     } 

     private String generateClientId(String appName, String appURI) { 
      return DEFAULT_CLIENT_ID; 
     } 
    } 

Pps.javaは次のとおりです。

 

     package thirdApp; 

    import org.apache.cxf.rs.security.oauth2.common.Client; 

    public class Pps { 

     private Client p; 

     public void registerClient(Client client2) { 
      this.p = client2; 
      System.out.println(p.getApplicationDescription()); 
      System.out.println(p.getClientId()); 
      System.out.println(p.getClientSecret()); 

     } 

    } 

答えて

0

ThirdPartyAppRegister.javaでは、クラスPpsのオブジェクトを作成しましたが、オブジェクトは空です。

Private Pps p; 

正しい方法は

Private Pps p = new Pps(); 

今オブジェクトがPPSのインスタンスを保持している空ではないです。最初のコードで オブジェクトが空だったので、NullPointerExceptionがスローされます。

関連する問題