gpt4 book ai didi

java - JAX-WS 端点中的 CDI 注入(inject)不起作用,导致 NPE

转载 作者:行者123 更新时间:2023-11-30 04:55:59 25 4
gpt4 key购买 nike

为什么以下 CDI 在 glassfish 3.x.x 的 JAX-WS 端点中不起作用?从端点访问服务时,我收到 NPE。

@WebService
public class JaxWsTestEndpoint {

@Inject
private MyService service;

@WebMethod
public String sayHello(String name) {
System.out.println("injected service:" + service);
service.callService();
return "Hello, " + name + ".";
}
}

其中“服务”类定义如下:

@Named("myService")
public class MyService {
public MyService() {
System.out.println("init myService.");
}

public void callService() {
System.out.println("calling Service.");
}
}

我在 WEB-INF 中有一个空的 beans.xml 文件。我用完整的空内容和空的

尝试了它
<?xml version="1.0" encoding="UTF-8"?>
<beans xmlns="http://java.sun.com/xml/ns/javaee" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/beans_1_0.xsd">

</beans>

标签。但不知何故,JAX-WS端点中的服务字段在部署后和接收Web服务请求期间仍然为NULL,导致调用服务时出现NPE。我在这里缺少什么?

最佳答案

您可以尝试从 WEB-INF 目录中删除 sun-jaxws.xml。这个方法对我很有帮助!

关于java - JAX-WS 端点中的 CDI 注入(inject)不起作用,导致 NPE,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8522999/

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