[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 メーリングリストの案内