[Seasar-user:21939] Re: JAX-WSサーブレットとSAStrutsを併用したい
Koichi Kobayashi
[E-MAIL ADDRESS DELETED]
2014年 8月 29日 (金) 03:30:15 JST
小林 (koichik) です。
現象とS2JDBC利用の有無に関係があるのかどうか
よく分からないのですが、whatTime()の中で
S2JDBCも何も使用せず、
return "2014/08/28 14:34:49";
とした場合は正しく動作するのでしょうか?
また、ログに何らかの例外が出力されていませんか?
whatTime()の中にtry〜catchを記述して、S2Containerや
jdbcManagerの取得で例外が発生していないか確認を
してみてください。
SAStruts側でもS2JDBCを使っているかと思いますが、
そちらは正しく動作しているのでしょうか?
On Thu, 28 Aug 2014 14:34:49 +0900 (JST), 前田 良一 <maedaryoichi @ yahoo.co.jp> wrote:
> 初めまして。
> 前田と申します。
>
> JAX-WS(SUN RI)にてSOAPサービスを公開したいと考えており、
> DBアクセスにS2JDBCを使用したいと考えております。
>
> JdbcManager のインスタンスを得るために、1つのWEBアプリコンテキスト内に、SAStruts と、
> com.sun.xml.ws.transport.http.servlet.WSServlet を同居させたうえで、とりあえず、以下のようなコーディングを
> 行ってみました。
>
> @WebService
> public class FooWS {
> ??? @WebMethod
> ??? public String whatTime()
> ??? {
> ??? ??? S2Container s2 = S2ContainerServlet.getContainer();
>
> ??? ??? JdbcManager jdbcManager = (JdbcManager)s2.getComponent(JdbcManager.class);
> ??? ??? String now = jdbcManager.selectBySql(String.class, "select to_char(sysdate, 'yyyy/mm/dd hh24:mi:ss') from dual")
> ??? ??? ??????????????????????? .getSingleResult();
> ??? ??? return now;
> ??? }
> }
>
> が、残念ながら、本来ならJAX-WSが生成したWebMethodの一覧が表示されるHTMLが表示されるべきところ、
> Bodyが空のHTMLが帰ってきます。(エラー404が帰ってくるわけでもありません。)
> web.xmlのfilter-mapping等も色々消してみたりしたのですが...
> 残念ながら、上記メソッドを呼ぶどころか、WDSLを取得できる状態に至っておりません。
>
> 本当に小さなアプリなので、JDBC直呼びでも全くかまわないのですが、可能ならS2JDBCを使用したいと考えます。
>
> 1.SAStruts と JAX-WS の混在が可能か?可能ならその方法
> 2.もっとスマートな方法での、S2JDBCの利用方法
>
> 上記2点、ご教示いただけませんでしょうか。
--
{
name: "Koichi Kobayashi",
mail: "koichik @ improvement.jp",
blog: "http://d.hatena.ne.jp/koichik/",
twitter: "@koichik"
}
Seasar-user メーリングリストの案内