我有一个基于代理Web Service Client class(Proxyclient.java)
来访问部署在本地服务器中的 Web 服务。当我尝试通过客户端类(Proxyclient.java
)中的主函数访问 weservice 时,我能够在没有任何错误的情况下获得响应。但是当我收到来自的请求时基于 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());
}