Iこの作業コードがあります。アマゾンのJava SDKは - authはできません
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);
}
}
}
そして、何の問題は、私はコンソールで書かれた所有者を見ることができます。私は、Webサービスプロジェクトで
:
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";
}
}
私は展開とテストW EBサービス、ウェブを示しています
がタイプ: 例外レポート
説明: サーバが内部エラーが発生しました()この要求を満たすことを妨げます。
例外: javax.servlet.ServletException:java.lang.NullPointerExceptionが
根本原因:
ADVERTENCIA:EJB5184:Aコンソールで java.lang.NullPointerExceptionが
EJB AWSでの呼び出し中にシステム例外が発生しました。メソッド:public java.lang.String WSAV.entities.AWS.test() ADVERTENCIA:javax.ejb.TransactionRolledbackLocalExcepti上:EJB5184:豆
{...}
ADVERTENCIAからの例外パブリックjava.lang.StringでWSAV.resources.Principal.getTest(:システム例外EJBプリンシパル、方法上の呼び出し中に発生しました) ADVERTENCIA:javax.ejb.EJBTransactionRolledbackException
{...}
ADVERTENCIA:StandardWrapperValve [ServletAdaptor]:PWC1406:のServlet.service()サーブレットServletAdaptorの例外
を投げ私はそれが何であるか、何ができるのかわからない...多分この別のJavaファイルを作成し、このプロジェクトとは別に実行するが、私はただ一つのプロジェクトでAWSが必要である...
ありがとうございます!