创建Jax-WS Web服务

时间:2015-12-07 17:27:38

标签: java web-services

我是webservice的新手。我需要创建一个JAX-WS Web服务来返回一些用户详细信息 我知道如何创建一个可以返回String,int等原始类型的Web服务。但我需要创建Web服务来返回Map。 MAP可以包含用户定义的类对象。 我在谷歌搜索,但我没有得到一个明确的例子。
任何人都可以发布一个JAX-WS webservice的示例,返回一个Map,List ..或者我可以参考的任何链接。
我尝试创建一个,但它无法正常工作。以下是代码:

LoginMethodsImpl.java

 @WebService
        public interface LoginMethods {

            public Map authenicateUser(@WebParam(name="mailId")String mailId,
                    @WebParam(name="password")String password);
        }

LoginMethodsImpl.java

@WebService(endpointInterface="com.Nagesh.AndroidLoginExample.src.LoginMethods",
    portName="LoginWSPort",
    serviceName="LoginService")
    public class LoginMethodsImpl implements LoginMethods{
      @Override
        public Map<String,Object> authenicateUser(String mailId,String password) {
            Map<String,Object>userDetailsMap=new HashMap<String,Object>();
            con=new DBConnection().getDBConnection();
            stmt=con.prepareStatement(USER_LOGIN_SQL);
            stmt.setString(1, mailId);
            rs=stmt.executeQuery();
            while(rs.next()){
                String pwd=rs.getString(2);
                if(pwd.equals(password))
                {
                    userDetailsMap.put("STAT","SUCCESS");
                    userDetailsMap.put("CUST_ID", rs.getInt(1));
                    userDetailsMap.put("EMAILID", rs.getString(2));
                    userDetailsMap.put("NAME", rs.getString(4));
                    userDetailsMap.put("PHONE", rs.getString(5));
                }
                else
                    userDetailsMap.put("STAT", "FAILED");
            }
            return userDetailsMap;
        }
    }

My Webservice中的其他文件是:

sun-jaxws.xml
web.xml

我在创建Web服务的过程中使用WSGEN工具创建了一个JAXB类     我得到的例外

failed to parse runtime descriptor: javax.xml.ws.WebServiceException: class com.Nagesh.AndroidLoginExample.src.jaxws.AuthenicateUserResponse do not have a property of the name return
javax.xml.ws.WebServiceException: class com.Nagesh.AndroidLoginExample.src.jaxws.AuthenicateUserResponse do not have a property of the name return
    at com.sun.xml.ws.server.sei.EndpointResponseMessageBuilder$DocLit.<init>(EndpointResponseMessageBuilder.java:258)
    at com.sun.xml.ws.server.sei.TieHandler.createResponseMessageBuilder(TieHandler.java:212)
    at com.sun.xml.ws.server.sei.TieHandler.<init>(TieHandler.java:117)
    at com.sun.xml.ws.db.DatabindingImpl.<init>(DatabindingImpl.java:116)
    at com.sun.xml.ws.db.DatabindingProviderImpl.create(DatabindingProviderImpl.java:74)
    at com.sun.xml.ws.db.DatabindingProviderImpl.create(DatabindingProviderImpl.java:58)
    at com.sun.xml.ws.db.DatabindingFactoryImpl.createRuntime(DatabindingFactoryImpl.java:120)
    at com.sun.xml.ws.server.EndpointFactory.createSEIModel(EndpointFactory.java:521)

注意:我是第一次创建Web服务。

0 个答案:

没有答案