質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

ただいまの
回答率

90.53%

  • Java

    15528questions

    Javaは、1995年にサン・マイクロシステムズが開発したプログラミング言語です。表記法はC言語に似ていますが、既存のプログラミング言語の短所を踏まえていちから設計されており、最初からオブジェクト指向性を備えてデザインされています。セキュリティ面が強力であることや、ネットワーク環境での利用に向いていることが特徴です。Javaで作られたソフトウェアは基本的にいかなるプラットフォームでも作動します。

javaでOneLoginのサンプルを動かしたい

解決済

回答 1

投稿

  • 評価
  • クリップ 0
  • VIEW 2,267

Kazuma2015

score 34

閲覧頂きありがとうございます。
今回やりたいことは表題のとおりOneLoginのサンプルをJavaで試せるようなので、使ってみたくXammp5.6.21を使って実行をしたいと思っております。

1.環境に関する前述

環境はWindows7 64bit, JAVA SE 1.8で、
Eclipseを使用して試したいです。
(手っ取り早くこちらの開発環境に近づけるにはXAMPP ver 5.6.21をご使用ください。)

2.参考にしたサイト、サービス

  • OneLogin 日本語公式サイト
    https://www.onelogin.com/jp

  • OneLogin Developer
    https://developers.onelogin.com/

  • OneLogin Java ToolKit
    https://developers.onelogin.com/saml/java

  • SSO を実現するための SAML2.0 の実装。まずはサンプルを動かす
    http://qiita.com/katsuhiko/items/1960f96661cdf6daf63b

3.準備

  1. OneLoginのトライアル版にユーザー登録する
  2. OneLoginのDeveloperサイトからJavaのToolKitを取得
  3. Eclipseで新規Javaプロジェクトを作成
  4. Srcフォルダに2でダウンロードしたToolkitフォルダ内の
    [src]->[main]->[java]以下の階層のフォルダを全て突っ込む
    (本来であればjavaのもう一回層下のcomフォルダをsrcに入れるべきですがパッケージとしてEclipseが認識しないので一回層上にセット)
  5. インポート設定がおかしくなってしまうので全ファイルの
    "com.onelogin.saml2~~~~~"となっている部分の先頭に"java."を追記
  6. いろいろと参照しているらしいのですがマニュアルでライブラリを突っ込まなきゃいけないので、以下のライブラリを突っ込んでおります。
  • Apache_Common_Codec    : commons-codec-1.10.jar
  • Apache_Commons  : commons-lang3-3.5.jar
  • Apache_Commons_Degister  : commons-digester3-3.2.jar
  • Apache_xml                        : apache-xml-xerces.jar
  • Joda Time                           : joda-time-2.9.6.jar
  • Apache Jasper                     : org.apache.jasper.jar
  • SLF4j                                  : slf4j-api-1.7.22.jar
  • XML Security           : xmlsec-1.3.0.jar
  • JavaX Servlet        : javax.servlet.jsp-api-2.3.1.jar

4.いざ実行! しかしエラーが?

Chromeブラウザで
http://localhost:8080/Sample/~~~~~~/index.jsp
を実行しましたが以下のエラーとなってしまいます

org.apache.jasper.JasperException: JSPのクラスをコンパイルできません: 

An error occurred at line: [14] in the generated java file: [C:\Users\rinfinity\Downloads\eclipse_Ult\pleiades\xampp\tomcat\work\Catalina\localhost\SAML_Sample\org\apache\jsp\src\webapp\dologin_jsp.java]
Only a type can be imported. java.com.onelogin.saml2.Auth resolves to a package

JSPファイル: /src/webapp/dologin.jsp の中の10行目でエラーが発生しました
Auth cannot be resolved to a type
7: </head>
8: <body>
9:     <%
10:         Auth auth = new Auth(request, response);
11:         if (request.getParameter("attrs") == null) {
12:             auth.login();
13:         } else {


JSPファイル: /src/webapp/dologin.jsp の中の10行目でエラーが発生しました
Auth cannot be resolved to a type
7: </head>
8: <body>
9:     <%
10:         Auth auth = new Auth(request, response);
11:         if (request.getParameter("attrs") == null) {
12:             auth.login();
13:         } else {


Stacktrace:
    org.apache.jasper.compiler.DefaultErrorHandler.javacError(DefaultErrorHandler.java:103)
    org.apache.jasper.compiler.ErrorDispatcher.javacError(ErrorDispatcher.java:366)
    org.apache.jasper.compiler.JDTCompiler.generateClass(JDTCompiler.java:485)
    org.apache.jasper.compiler.Compiler.compile(Compiler.java:379)
    org.apache.jasper.compiler.Compiler.compile(Compiler.java:354)
    org.apache.jasper.compiler.Compiler.compile(Compiler.java:341)
    org.apache.jasper.JspCompilationContext.compile(JspCompilationContext.java:657)
    org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:357)
    org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:395)
    org.apache.jasper.servlet.JspServlet.service(JspServlet.java:339)
    javax.servlet.http.HttpServlet.service(HttpServlet.java:727)
    org.apache.tomcat.websocket.server.WsFilter.doFilter(WsFilter.java:52)

(https://gyazo.com/76c40113908d40c063982542607c76f4)
↑みにくい方はこちらの画像版を参照してください!

5.やりたいこと

sampleがきちんと動くことを確認できればそれで大丈夫です。。
解決に向けてご協力およびご教授お願いします。

以上よろしくお願いします。

  • 気になる質問をクリップする

    クリップした質問は、後からいつでもマイページで確認できます。

    またクリップした質問に回答があった際、通知やメールを受け取ることができます。

    クリップを取り消します

  • 良い質問の評価を上げる

    以下のような質問は評価を上げましょう

    • 質問内容が明確
    • 自分も答えを知りたい
    • 質問者以外のユーザにも役立つ

    評価が高い質問は、TOPページの「注目」タブのフィードに表示されやすくなります。

    質問の評価を上げたことを取り消します

  • 評価を下げられる数の上限に達しました

    評価を下げることができません

    • 1日5回まで評価を下げられます
    • 1日に1ユーザに対して2回まで評価を下げられます

    質問の評価を下げる

    teratailでは下記のような質問を「具体的に困っていることがない質問」、「サイトポリシーに違反する質問」と定義し、推奨していません。

    • プログラミングに関係のない質問
    • やってほしいことだけを記載した丸投げの質問
    • 問題・課題が含まれていない質問
    • 意図的に内容が抹消された質問
    • 広告と受け取られるような投稿

    評価が下がると、TOPページの「アクティブ」「注目」タブのフィードに表示されにくくなります。

    質問の評価を下げたことを取り消します

    この機能は開放されていません

    評価を下げる条件を満たしてません

    評価を下げる理由を選択してください

    詳細な説明はこちら

    上記に当てはまらず、質問内容が明確になっていない質問には「情報の追加・修正依頼」機能からコメントをしてください。

    質問の評価を下げる機能の利用条件

    この機能を利用するためには、以下の事項を行う必要があります。

回答 1

check解決した方法

0

Eclipseでインポートするとすでに紐付けられているプロジェクトソースが全て解除されてしまうみたいなので、IDEをNetBeansに変更。
するとclassが全て紐付けされている状況でプロジェクトが展開できましたので、これで無事解決しました。

投稿

  • 回答の評価を上げる

    以下のような回答は評価を上げましょう

    • 正しい回答
    • わかりやすい回答
    • ためになる回答

    評価が高い回答ほどページの上位に表示されます。

  • 回答の評価を下げる

    下記のような回答は推奨されていません。

    • 間違っている回答
    • 質問の回答になっていない投稿
    • スパムや攻撃的な表現を用いた投稿

    評価を下げる際はその理由を明確に伝え、適切な回答に修正してもらいましょう。

同じタグがついた質問を見る

  • Java

    15528questions

    Javaは、1995年にサン・マイクロシステムズが開発したプログラミング言語です。表記法はC言語に似ていますが、既存のプログラミング言語の短所を踏まえていちから設計されており、最初からオブジェクト指向性を備えてデザインされています。セキュリティ面が強力であることや、ネットワーク環境での利用に向いていることが特徴です。Javaで作られたソフトウェアは基本的にいかなるプラットフォームでも作動します。