Вызывается: java .lang.NoSuchMethodError: org.glassfi sh .jersey.message.internal.HeaderUtils.asStringHeadersSingleValue - PullRequest
0 голосов
/ 14 февраля 2020

У меня есть клиент для отдыха, использующий Джерси 2.x и развернутый через weblogi c 12 c. Теперь, когда я отправляю запрос GET через почтальона. Это показывает мне следующее исключение:

Причина: java .lang.NoSuchMethodError: org.glassfi sh .jersey.message.internal.HeaderUtils.asStringHeadersSingleValue (Ljavax / ws / rs / core / MultivaluedMap; Ljavax / ws / rs / core / Configuration;) Ljava / util / Map;

Я попытался добавить несколько jar-файлов, таких как "Jersey Apache Connector", "Jaxrs-ri" баночка "но все же она существует; Тем не менее, я исследовал его и обнаружил, что это часть банки с джерси - apache.

Я застрял здесь.

Клиент java код

@GET
    @Path("/fundTransfer")
    @Produces(javax.ws.rs.core.MediaType.APPLICATION_JSON)
    public String soapCaller() throws IOException, JSONException  {

        logger.info("FMS WEBSERVICE LOG >>> Inside the client method");

        @SuppressWarnings({ "rawtypes", "unused" })
        HashMap map = new HashMap<>();

        String host = "172.18.101.2";
    //  String host = "172.18.106.13";
        String port = "80";
        logger.info("FMS WEBSERVICE LOG >>> Using proxy: " + host + ":" + port);

        System.setProperty("https.proxyHost", host);
        System.setProperty("http.proxyHost", host);
        System.setProperty("http.proxyPort", port);
        System.setProperty("https.proxyPort", port);

        SSLUtilities.trustAllHostnames();
        SSLUtilities.trustAllHttpsCertificates();

            try {

                final ClientConfig config = new ClientConfig();

                logger.info("FMS WEBSERVICE LOG >>> config " + config);


                config.connectorProvider(new ApacheConnectorProvider());
                config.property(ClientProperties.PROXY_URI, "http://172.18.101.2:80");
                config.property(ClientProperties.PROXY_USERNAME,"imjme1");
                config.property(ClientProperties.PROXY_PASSWORD,"Jvdonut5988!");


                /*config.property(ClientProperties.PROXY_URI, "172.18.101.2:8000");
                logger.info("FMS WEBSERVICE LOG >>> ClientProperties.PROXY_URI " + ClientProperties.PROXY_URI);

                CredentialsProvider credentialsProvider = new BasicCredentialsProvider();
                logger.info("FMS WEBSERVICE LOG >>> credentialsProvider " + credentialsProvider);

                final AuthScope ntlmAuthScope =
                        new AuthScope("172.18.101.2", 8080, AuthScope.ANY_REALM, "NTLM");

                logger.info("FMS WEBSERVICE LOG >>> ntlmAuthScope " + ntlmAuthScope);

                credentialsProvider.setCredentials(
                        ntlmAuthScope,
                        new NTCredentials("imjme1", "Jvdonut5988!", "", "") );

                logger.info("FMS WEBSERVICE LOG >>> credentialsProvider " + credentialsProvider.getCredentials(ntlmAuthScope));

                config.property(
                        ApacheClientProperties.CREDENTIALS_PROVIDER, credentialsProvider);

                config.connectorProvider(new ApacheConnectorProvider());*/

                Client client = ClientBuilder.newClient( config.register( LoggingFilter.class ) );
                MultivaluedMap params = new MultivaluedHashMap();
                params.add("grant_type", "client_credentials");
                params.add("client_id", "0146b9a4-7e99-4c83-8e9e-6049cfec55da");
                params.add("client_secret", "nY3oL5xQ3bJ8yT3nC1nV5bY4mY6eW7yP1nY6dS6rQ2nE5iR0rM");
                params.add("scope", "ABLApis");


                WebTarget webTarget = client.target("https://221.120.211.69:443/abl-api/uat/oauth2/token");

                logger.info("FMS WEBSERVICE LOG >>> webTarget " + webTarget);


                Invocation.Builder invocationBuilder =  webTarget.request().accept(MediaType.APPLICATION_JSON);
                logger.info("FMS WEBSERVICE LOG >>> invocationBuilder: " + invocationBuilder);
                Response response = invocationBuilder.post(Entity.form(params));
                logger.info("FMS WEBSERVICE LOG >>> response " + response);
                String responses = response.readEntity(String.class);
                logger.info("FMS WEBSERVICE LOG >>> responses >> " + responses);     
                System.out.println(response.getStatus());
                System.out.println(responses);


              } catch (Exception e) {

                e.printStackTrace();

              } 
            return "a";

    }

    }

Stacktrace

FMS WEBSERVICE LOG >>> Inside the client method
FMS WEBSERVICE LOG >>> Using proxy: 172.18.101.2:80
FMS WEBSERVICE LOG >>> config org.glassfish.jersey.client.ClientConfig@e4b9028d
FMS WEBSERVICE LOG >>> webTarget JerseyWebTarget { https://221.120.211.69:443/abl-api/uat/oauth2/token }
FMS WEBSERVICE LOG >>> invocationBuilder: org.glassfish.jersey.client.JerseyInvocation$Builder@70c19fa1
Feb 14, 2020 3:41:00 PM org.glassfish.jersey.filter.LoggingFilter log
INFO: 1 * Sending client request on thread [ACTIVE] ExecuteThread: '0' for queue: 'weblogic.kernel.Default (self-tuning)'
1 > POST https://221.120.211.69:443/abl-api/uat/oauth2/token
1 > Accept: application/json
1 > Content-Type: application/x-www-form-urlencoded

javax.ws.rs.ProcessingException: org.glassfish.jersey.message.internal.HeaderUtils.asStringHeadersSingleValue(Ljavax/ws/rs/core/MultivaluedMap;Ljavax/ws/rs/core/Configuration;)Ljava/util/Map;
    at org.glassfish.jersey.client.ClientRuntime.invoke(ClientRuntime.java:264)
    at org.glassfish.jersey.client.JerseyInvocation$1.call(JerseyInvocation.java:684)
    at org.glassfish.jersey.client.JerseyInvocation$1.call(JerseyInvocation.java:681)
    at org.glassfish.jersey.internal.Errors.process(Errors.java:315)
    at org.glassfish.jersey.internal.Errors.process(Errors.java:297)
    at org.glassfish.jersey.internal.Errors.process(Errors.java:228)
    at org.glassfish.jersey.process.internal.RequestScope.runInScope(RequestScope.java:444)
    at org.glassfish.jersey.client.JerseyInvocation.invoke(JerseyInvocation.java:681)
    at org.glassfish.jersey.client.JerseyInvocation$Builder.method(JerseyInvocation.java:437)
    at org.glassfish.jersey.client.JerseyInvocation$Builder.post(JerseyInvocation.java:343)
    at com.fms.webservice.client.WebServiceClient.soapCaller(WebServiceClient.java:169)
    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.glassfish.jersey.server.model.internal.ResourceMethodInvocationHandlerFactory$1.invoke(ResourceMethodInvocationHandlerFactory.java:81)
    at org.glassfish.jersey.server.model.internal.AbstractJavaResourceMethodDispatcher$1.run(AbstractJavaResourceMethodDispatcher.java:144)
    at org.glassfish.jersey.server.model.internal.AbstractJavaResourceMethodDispatcher.invoke(AbstractJavaResourceMethodDispatcher.java:161)
    at org.glassfish.jersey.server.model.internal.JavaResourceMethodDispatcherProvider$TypeOutInvoker.doDispatch(JavaResourceMethodDispatcherProvider.java:205)
    at org.glassfish.jersey.server.model.internal.AbstractJavaResourceMethodDispatcher.dispatch(AbstractJavaResourceMethodDispatcher.java:99)
    at org.glassfish.jersey.server.model.ResourceMethodInvoker.invoke(ResourceMethodInvoker.java:389)
    at org.glassfish.jersey.server.model.ResourceMethodInvoker.apply(ResourceMethodInvoker.java:347)
    at org.glassfish.jersey.server.model.ResourceMethodInvoker.apply(ResourceMethodInvoker.java:102)
    at org.glassfish.jersey.server.ServerRuntime$2.run(ServerRuntime.java:326)
    at org.glassfish.jersey.internal.Errors$1.call(Errors.java:271)
    at org.glassfish.jersey.internal.Errors$1.call(Errors.java:267)
    at org.glassfish.jersey.internal.Errors.process(Errors.java:315)
    at org.glassfish.jersey.internal.Errors.process(Errors.java:297)
    at org.glassfish.jersey.internal.Errors.process(Errors.java:267)
    at org.glassfish.jersey.process.internal.RequestScope.runInScope(RequestScope.java:317)
    at org.glassfish.jersey.server.ServerRuntime.process(ServerRuntime.java:305)
    at org.glassfish.jersey.server.ApplicationHandler.handle(ApplicationHandler.java:1154)
    at org.glassfish.jersey.servlet.WebComponent.serviceImpl(WebComponent.java:473)
    at org.glassfish.jersey.servlet.WebComponent.service(WebComponent.java:427)
    at org.glassfish.jersey.servlet.ServletContainer.service(ServletContainer.java:388)
    at org.glassfish.jersey.servlet.ServletContainer.service(ServletContainer.java:341)
    at org.glassfish.jersey.servlet.ServletContainer.service(ServletContainer.java:228)
    at weblogic.servlet.internal.StubSecurityHelper$ServletServiceAction.run(StubSecurityHelper.java:286)
    at weblogic.servlet.internal.StubSecurityHelper$ServletServiceAction.run(StubSecurityHelper.java:260)
    at weblogic.servlet.internal.StubSecurityHelper.invokeServlet(StubSecurityHelper.java:137)
    at weblogic.servlet.internal.ServletStubImpl.execute(ServletStubImpl.java:350)
    at weblogic.servlet.internal.ServletStubImpl.execute(ServletStubImpl.java:247)
    at weblogic.servlet.internal.WebAppServletContext$ServletInvocationAction.wrapRun(WebAppServletContext.java:3697)
    at weblogic.servlet.internal.WebAppServletContext$ServletInvocationAction.run(WebAppServletContext.java:3667)
    at weblogic.security.acl.internal.AuthenticatedSubject.doAs(AuthenticatedSubject.java:326)
    at weblogic.security.service.SecurityManager.runAsForUserCode(SecurityManager.java:197)
    at weblogic.servlet.provider.WlsSecurityProvider.runAsForUserCode(WlsSecurityProvider.java:203)
    at weblogic.servlet.provider.WlsSubjectHandle.run(WlsSubjectHandle.java:71)
    at weblogic.servlet.internal.WebAppServletContext.doSecuredExecute(WebAppServletContext.java:2443)
    at weblogic.servlet.internal.WebAppServletContext.securedExecute(WebAppServletContext.java:2291)
    at weblogic.servlet.internal.WebAppServletContext.execute(WebAppServletContext.java:2269)
    at weblogic.servlet.internal.ServletRequestImpl.runInternal(ServletRequestImpl.java:1703)
    at weblogic.servlet.internal.ServletRequestImpl.run(ServletRequestImpl.java:1663)
    at weblogic.servlet.provider.ContainerSupportProviderImpl$WlsRequestExecutor.run(ContainerSupportProviderImpl.java:272)
    at weblogic.invocation.ComponentInvocationContextManager._runAs(ComponentInvocationContextManager.java:352)
    at weblogic.invocation.ComponentInvocationContextManager.runAs(ComponentInvocationContextManager.java:337)
    at weblogic.work.LivePartitionUtility.doRunWorkUnderContext(LivePartitionUtility.java:57)
    at weblogic.work.PartitionUtility.runWorkUnderContext(PartitionUtility.java:41)
    at weblogic.work.SelfTuningWorkManagerImpl.runWorkUnderContext(SelfTuningWorkManagerImpl.java:644)
    at weblogic.work.ExecuteThread.execute(ExecuteThread.java:415)
    at weblogic.work.ExecuteThread.run(ExecuteThread.java:355)
Caused by: java.lang.NoSuchMethodError: org.glassfish.jersey.message.internal.HeaderUtils.asStringHeadersSingleValue(Ljavax/ws/rs/core/MultivaluedMap;Ljavax/ws/rs/core/Configuration;)Ljava/util/Map;
    at org.glassfish.jersey.apache.connector.ApacheConnector.writeOutBoundHeaders(ApacheConnector.java:653)
    at org.glassfish.jersey.apache.connector.ApacheConnector.apply(ApacheConnector.java:461)
    at org.glassfish.jersey.client.ClientRuntime.invoke(ClientRuntime.java:255)
    ... 60 more
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...