gpt4 book ai didi

java - Amazon Java SDK 与 Jersey 的 REST - 无法验证

转载 作者:行者123 更新时间:2023-12-01 05:25:07 26 4
gpt4 key购买 nike

我有这个工作代码:

package javaapplication7;

import com.amazonaws.auth.PropertiesCredentials;
import com.amazonaws.services.s3.AmazonS3;
import com.amazonaws.services.s3.AmazonS3Client;
import java.io.IOException;
import java.util.logging.Level;
import java.util.logging.Logger;

public class JavaApplication7 {

public static void main(String[] args){
try {
AmazonS3 s3 = new AmazonS3Client(new PropertiesCredentials(
JavaApplication7.class.getResourceAsStream("/AwsCredentials.properties")));
System.out.println("OWNER: " + s3.getS3AccountOwner().toString());
} catch (IOException ex) {
Logger.getLogger(JavaApplication7.class.getName()).log(Level.SEVERE, null, ex);
}
}
}

没有问题,我可以看到控制台中写入的所有者。

在网络服务项目中我有:

Principal.java

package WSAV.resources;

import WSAV.entities.AWS;
import javax.ejb.EJB;
import javax.ejb.Stateless;
import javax.ws.rs.GET;
import javax.ws.rs.Path;
import javax.ws.rs.Produces;

@Stateless
@Path("/amazonws")
public class Principal {

@EJB
private AWS aws;

@GET
@Path("/AWS")
@Produces({"text/html", "text/plain"})
public String getTest() {
return aws.test();
}
}

AWS.java

package WSAV.entities;

import com.amazonaws.auth.PropertiesCredentials;
import com.amazonaws.services.s3.AmazonS3;
import com.amazonaws.services.s3.AmazonS3Client;
import java.io.IOException;
import java.util.logging.Level;
import java.util.logging.Logger;
import javax.ejb.Singleton;

@Singleton
public class AWS {

public AWS() {
}

public String test() {

try {
AmazonS3 s3 = new AmazonS3Client(new PropertiesCredentials(
AWS.class.getResourceAsStream("/AwsCredentials.properties")));
} catch (IOException ex) {
Logger.getLogger(AWS.class.getName()).log(Level.SEVERE, null, ex);
}

return "testing";
}
}

当我部署并测试 Web 服务时,网络显示:

<小时/>

类型:异常报告

描述:服务器遇到内部错误 (),导致其无法完成此请求。

异常:javax.servlet.ServletException:java.lang.NullPointerException

根本原因:java.lang.NullPointerException

<小时/>

在控制台上:

ADVERTENCIA:EJB5184:在 EJB AWS 上调用时发生系统异常,方法:public java.lang.String WSAV.entities.AWS.test()广告:javax.ejb.TransactionRolledbackLocalException:bean 抛出异常

{...}

ADVERTENCIA:EJB5184:调用 EJB 主体期间发生系统异常,方法:public java.lang.String WSAV.resources.Principal.getTest()广告:javax.ejb.EJBTransactionRolledbackException

{...}

广告:StandardWrapperValve[ServletAdaptor]:PWC1406:servlet ServletAdaptor 的 Servlet.service() 引发异常

<小时/>

我迷失了,不知道它可能是什么,也不知道我能做什么...也许创建另一个 Java 文件并与该项目分开执行,但我需要 AWS 仅在一个项目中工作...

谢谢!

最佳答案

@EJB注释的只能是托管类。该异常意味着您的 AWS 类不满足所有 EJB 相关要求。

关于java - Amazon Java SDK 与 Jersey 的 REST - 无法验证,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9794567/

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