ローカル サーバーにデプロイされた Web サービスをヒットするためのプロキシ ベースWeb Service Client class(Proxyclient.java)
があります。クライアント クラス( ) のメイン関数を介して WeService をヒットしようとすると、エラーProxyclient.java
なしで応答を取得できます。 Struts ベースの Web アプリケーションでは、リクエストがクライアント クラス ( Proxyclient.java
) に到達するまで問題はありません。ただし、以下のように特定の行のクラスに到達すると
JaxWsProxyFactoryBean factory= new JaxWsProxyFactoryBean();
実行がこの行に移動すると、次のようなエラー応答が返されます
SEVERE: Servlet.service() for servlet action threw exception
java.lang.ClassNotFoundException: org.apache.cxf.jaxws.JaxWsProxyFactoryBean
at org.apache.catalina.loader.WebappClassLoader.loadClass(WebappClassLoader.java:1358)
at org.apache.catalina.loader.WebappClassLoader.loadClass(WebappClassLoader.java:1204)
at com.tmb.clientimpl.ProxyClient.checkUserId(ProxyClient.java:18)
at com.tmb.client.action.DetailsFetcher.getStatus(DetailsFetcher.java:14).... more
この Web サービスのヒットに必要なすべての jar ファイルが揃っています。問題を修正するために追加する struts-config.xml またはその他の jar に変更を加える必要がありますか..? 助けてください...
以下は私のクライアントクラスです:
public class ProxyClient {
public UserIdExistsBean checkUserId(String UserId){
UserIdExistsBean userIdExistsBean=new UserIdExistsBean();
try{
System.out.println("entering before fact");
JaxWsProxyFactoryBean factory= new JaxWsProxyFactoryBean();
System.out.println("factory ready");
factory.setServiceClass(IUserDetails.class);
factory.setAddress("http://xx.xx.xx:YYYY/UserDetailsService");
IUserDetails serviceRef=(IUserDetails)factory.create();
System.out.println("after creating");
userIdExistsBean=(UserIdExistsBean)serviceRef.checkuserId(UserId);
}
catch (Exception e) {
// TODO: handle exception
e.printStackTrace();
}
return userIdExistsBean;
}
public static void main(String[] args) {
UserIdExistsBean userIdExistsBean=new UserIdExistsBean();
ProxyClient proxy=new ProxyClient();
userIdExistsBean=proxy.checkUserId("test");
System.out.println("exists "+userIdExistsBean.isExists());
System.out.println("response "+userIdExistsBean.getRespString());
}