WebServices和WebSphere - 简单 - 部署了2种不同的方式,收到了2种不同的结果

时间:2016-06-27 17:58:11

标签: java eclipse web-services soap websphere

简介:遵循EE项目设置教程,目前能够使用JSF2.0生成XHTML,利用一些ManagedBeans,拥有一些DataAccess对象和服务实现。

当前主题:教程有一个SOAP JAX-WS部分,用于创建简单的WebService

问题:

  1. 通过Eclipse Keplar的服务器选项卡部署到我的WAS 8.5服务器 在浏览器中导致404 | fileNotFound异常,没有控制台错误。 (似乎Web服务无法正常工作。)
  2. 此链接: http://localhost:9080/ListManagerWebServices/UserSoapService?wsdl

    提供此结果:

      

    错误404:java.io.FileNotFoundException:SRVE0190E:找不到文件:   / UserSoapService

    1. 通过新应用程序和WAS管理控制台进行部署 触发“部署Web服务”确实有效
    2. 此链接: http://localhost:9080/ListManagerWebServices/UserSoapService?wsdl

      提供此结果:

        

      此XML文件似乎没有任何关联的样式信息   用它。文档树如下所示。

      1. 为什么在服务器选项卡中部署Web服务时不会触发, 但是当我从管理控制台明确启用它时呢?
      2. 如何在部署到之后启用Web服务 服务器选项卡中的服务器?
      3. UserSoapService.java

        package com.pluralsight.listmanager.web.service.soap;
        
        import java.util.List;
        
        import javax.jws.WebMethod;
        import javax.jws.WebParam;
        import javax.jws.WebService;
        
        import org.pluralsite.listmanager.model.ListItem;
        import org.pluralsite.listmanager.model.User;
        import org.pluralsite.listmanager.service.UserService;
        import org.pluralsite.listmanager.service.impl.UserServiceImpl;
        
        @WebService(serviceName="UserSoapService")
        public class UserSoapService {
        
        
            private final UserService userService;
        
        
            public UserSoapService() {
                this.userService = new UserServiceImpl();
            }
        
        
            @WebMethod
            public Long getUserId(@WebParam(name="username") String username) {
                User user = userService.authenticateUser(username);
        
                if (user != null) {
                    return user.getId();
                }
        
                return null;
            }
        
        
            @WebMethod 
            public List<ListItem> getUserListItems(@WebParam(name="userId") Long userId) {
                return userService.getListItems(userId);
            }
        
        }
        

0 个答案:

没有答案