尝试使用SOAP UI进行测试时,我无法获得正确的输出:
public String registerUserByuser(String user) public String getAllUsers(String userNames)
User.java
package com.ws.entity;
public class User implements java.io.Serializable{
public String getUserName() {
return userName;
}
public void setUserName(String userName) {
this.userName = userName;
}
public int getUserId() {
return userId;
}
public void setUserId(int userId) {
this.userId = userId;
}
private String userName;
private int userId;
}
===============================================================================
RegistrationService.java
package com.ws.Service;
import com.ws.entity.User;
public interface RegistrationService {
String registerUserByuser (String user);
User getuserNameById(int Id );
String getAllUsers (String userNames);
}
===============================================================================
RegistrationServiceImpl.java
package com.ws.test;
import javax.jws.WebMethod;
import javax.jws.WebService;
import com.ws.Service.RegistrationService;
import com.ws.entity.User;
@WebService(name = "UserWS", serviceName="RegService", portName = "CustomerPort", targetNamespace = "http://www.reg.com")
public class RegistrationServiceImpl implements RegistrationService {
@WebMethod
@Override
public String registerUserByuser(String user) {
// TODO Auto-generated method stub
User u = new User();
u.setUserId(555);
u.setUserName("Keith");
return user;
}
@WebMethod
@Override
public User getuserNameById(int Id) {
// TODO Auto-generated method stub
User a = new User();
a.setUserId(888);
a.setUserName("Seth");
return a;
}
@WebMethod
@Override
public String getAllUsers(String userNames) {
return userNames;
// TODO Auto-generated method stub
}
}
要求是开发Bottom Up WebServices: UserRegistration - 接口
方法1 - 将用户作为输入并将String作为输出发送的registerUser 方法2- getUser,它将id作为输入并返回用户对象 方法3 - 将用户列表返回给用户的getAllusers
我是否以错误的方式编写代码?
答案 0 :(得分:0)
您的代码似乎更像是一个模型,而不是一个实际的实现。您正在使用getuserNameById方法对返回的用户进行硬编码,并且您还会在getAllUsers方法中指出Invexity指出的错误。
你需要某种形式的持久性。对于原型设计,您只需向类中添加List属性,即可存储您创建的用户。类似的东西:
private List<User> users = new ArrayList<User>();
并在registerUserByUser方法中执行以下操作:
this.users.add(user);
最后,在getAllUsers方法中,您可以:
return this.users;
但是,如果这是某种模型或测试,我猜是好的。但是,如果要构建生产代码,则需要阅读有关Web服务,持久性和安全性的更多信息(假设您的域是关于用户的)。由于许多原因(硬编码,缺乏实际持久性,数据安全性,仅举几例),此代码绝对不适合生产。