Java EE에서 JAX-WS 서비스를 구현하는 동안 다음 예외가 발생합니다 7 응용 프로그램.JAX-WS 서비스에 액세스하는 동안 org.apache.catalina.connector.CoyoteAdapter.service (CoyoteAdapter.java:272)에서 java.lang.NullPointerException이 발생했습니다
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 서버에만 해당됩니다 (4.1 사용).
테스트 시나리오 :
@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
그냥 쓸모가 :
CDI는 빈을 관리. 이것은 테스트 목적으로 만 사용됩니다. @PostConstruct
로 표시 빈의 메소드가 호출 될 수 있도록 XHTML 페이지에서
<h:outputText value="#{testManagedBean.test}"/>
과 같이이 test
필드에 액세스 할 수 있습니다.
브라우저의 주소 표시 줄에 적절한 URL을 입력 할 때 예외가 발생합니다.
testBean.getSum(int, int)
이 경우 빈이 너무 같은 시험의 이유로 싱글 EJB로 변경 될 때 성공적으로 호출되는 원격 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));
}
}
인의 프록시 연관된 원격 EJB에서 실제로 사용 가능한 메소드 getSum(int, int)
이 성공적으로 호출되고이를 통해 제공된 두 매개 변수의 합계를 리턴합니다.
XHTML 페이지를 통해 서비스에 액세스 할 때 GlassFish가 java.lang.NullPointerException
에 대해 어떻게 생각합니까?
나는 osgi-cache를 가지고 있지 않다. 나는 그와 같은 것을 찾지 못했다. 그러나 그것 대신에, 그것은 작동한다 :-) – Krystian
여러 묶음을 포함하고있는'osgi-cache'의'felix' 폴더는 대개 (우리가'felix' 폴더는 일반적으로 (전체 경로가 보이는 윈도우에 관해서) - C : \ Program Files \ glassfish-4에 위치합니다.1 \ glassfish \ domains \ domain1 \ osgi-cache'에 있습니다. 관리자 권한이 필요하기 때문에'Program Files'에 GlassFish를 설치하지 않습니다. 'felix' 폴더는 서버가 시작/재시작 될 때 자동으로 생성됩니다. – Tiny
일반적으로 모듈 사이에 약간의 비호 환성을 가져올 수있는'C : \ Program Files \ glassfish-4.1 \ glassfish \ domains \ domain1 \ generated' (windows)에있는'generated' 폴더도 삭제합니다. – Tiny