gpt4 book ai didi

jakarta-ee - java.lang.NullPointerException at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java :272) while accessing JAX-WS services

转载 作者:行者123 更新时间:2023-12-03 11:22:45 33 4
gpt4 key购买 nike

在 Java EE 7 应用程序中实现 JAX-WS 服务时出现以下异常。

Warning:   Internal Server error: /Test-war/Test.xhtml
java.lang.NullPointerException
at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:272)
at com.sun.enterprise.v3.services.impl.ContainerMapper$HttpHandlerCallable.call(ContainerMapper.java:459)
at com.sun.enterprise.v3.services.impl.ContainerMapper.service(ContainerMapper.java:167)
at org.glassfish.grizzly.http.server.HttpHandler.runService(HttpHandler.java:201)
at org.glassfish.grizzly.http.server.HttpHandler.doHandle(HttpHandler.java:175)
at org.glassfish.grizzly.http.server.HttpServerFilter.handleRead(HttpServerFilter.java:235)
at org.glassfish.grizzly.filterchain.ExecutorResolver$9.execute(ExecutorResolver.java:119)
at org.glassfish.grizzly.filterchain.DefaultFilterChain.executeFilter(DefaultFilterChain.java:284)
at org.glassfish.grizzly.filterchain.DefaultFilterChain.executeChainPart(DefaultFilterChain.java:201)
at org.glassfish.grizzly.filterchain.DefaultFilterChain.execute(DefaultFilterChain.java:133)
at org.glassfish.grizzly.filterchain.DefaultFilterChain.process(DefaultFilterChain.java:112)
at org.glassfish.grizzly.ProcessorExecutor.execute(ProcessorExecutor.java:77)
at org.glassfish.grizzly.nio.transport.TCPNIOTransport.fireIOEvent(TCPNIOTransport.java:561)
at org.glassfish.grizzly.strategies.AbstractIOStrategy.fireIOEvent(AbstractIOStrategy.java:112)
at org.glassfish.grizzly.strategies.WorkerThreadIOStrategy.run0(WorkerThreadIOStrategy.java:117)
at org.glassfish.grizzly.strategies.WorkerThreadIOStrategy.access$100(WorkerThreadIOStrategy.java:56)
at org.glassfish.grizzly.strategies.WorkerThreadIOStrategy$WorkerThreadRunnable.run(WorkerThreadIOStrategy.java:137)
at org.glassfish.grizzly.threadpool.AbstractThreadPool$Worker.doWork(AbstractThreadPool.java:565)
at org.glassfish.grizzly.threadpool.AbstractThreadPool$Worker.run(AbstractThreadPool.java:545)
at java.lang.Thread.run(Thread.java:745)

异常消息似乎非常特定于 GlassFish Server(我使用的是 4.1)。

测试场景:

一个 CDI 托管 bean:
@Named
@ViewScoped
public class TestManagedBean implements Serializable
{
private String test;
private static final long serialVersionUID=1L;

public TestManagedBean() {}

@PostConstruct
private void init() {
TestBean_Service testBean_Service=new TestBean_Service();
TestBean testBean = testBean_Service.getTestBeanPort();
System.out.println("testBean sum = "+testBean.getSum(5, 10));
}

public String getTest() {
return test;
}
}

成员变量 test只是没用。它仅用于测试目的。

在 XHTML 页面中,只需访问此 test像这样的领域,
<h:outputText value="#{testManagedBean.test}"/>

使 bean 的方法标记为 @PostConstruct可以调用。

在浏览器的地址栏中输入适当的 URL 时会发生异常。
testBean.getSum(int, int)是一个成功调用的远程 EJB 方法,当 bean 被更改为单例 EJB 时,只是出于这样的测试原因,
import client.web.services.TestBean;
import client.web.services.TestBean_Service;
import javax.annotation.PostConstruct;
import javax.ejb.Singleton;
import javax.ejb.Startup;
import javax.ejb.TransactionAttribute;
import javax.ejb.TransactionAttributeType;

@Startup
@Singleton
@TransactionAttribute(TransactionAttributeType.NOT_SUPPORTED)
public class TestManagedBean
{
public TestManagedBean() {}

@PostConstruct
private void init() {
TestBean_Service testBean_Service=new TestBean_Service();
TestBean testBean = testBean_Service.getTestBeanPort();
System.out.println("testBean sum = "+testBean.getSum(5, 10));
}
}

在这种情况下,代理方法 getSum(int, int)它在关联的远程 EJB 中实际可用被成功调用,并返回通过它提供的两个参数的总和。

是什么让 GlassFish 想到 java.lang.NullPointerException , 何时通过 XHTML 页面访问服务?

最佳答案

这是 GlassFish 4.1 中影响 grizzly-kernel 的错误。服务器中的组件 - GlassFish Grizzly Embedded Server 服务 HTTP 请求。这需要更换 nucleus-grizzly-all.jar按照建议在 GlassFish 服务器 (4.1) 中创建 jar 文件 here${glassfishHome}/glassfish/modules (不要忘记在启动/重新启动服务器之前清除 osgi-cache 下的 #{glassfishHome}/glassfish/domains/yourDomain)。

我在这篇文章之前访问了该链接,但根据 GlassFish Server 4.1,它的状态是“已解决”,这让我想到了一些不同的东西。

请注意:几个小时前已经有人发布了相同的答案,但考虑到仅提供链接的答案,该答案可能被受信任的用户删除了。尽管它是仅链接的答案,但在这种情况下,除了更换服务器中的新 jar 之外,没有其他办法解决该问题,甚至在 2014 年 11 月 19 日提出此问题后提供了 jar . 希望这个回答不会被删。

关于jakarta-ee - java.lang.NullPointerException at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java :272) while accessing JAX-WS services,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26886584/

33 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com