1.創建新的java項目即可 不需要web項目
下載需要的jar包 其中紅色的jar是tomcat的jar包 在你的tomcat的lib文件夾下的 如果沒有這個jar包運行時會報錯
Caused by: java.lang.ClassNotFoundException: javax.servlet.ServletOutputStream
具體的類
接口類
import javax.jws.WebParam;
import javax.jws.WebService;
import java.util.List;
@WebService
public interface UserServiceInter {
public User getReader(@WebParam(name="name") String name, @WebParam(name="password") String password);
public List<User> getReaders();
}
實現類
import javax.jws.WebService;
import java.util.ArrayList;
import java.util.List;
@WebService(endpointInterface = "com.test.test.UserServiceInter",serviceName = "userService")
public class UserServiceImpl implements UserServiceInter{
public User getReader(String name, String password) {
return new User(name, password);
}
public List<User> getReaders() {
List<User> readerList = new ArrayList<User>();
User reader = new User("test01","123456");
User reader2 = new User("test02", "123456");
readerList.add(reader);
readerList.add(reader2);
return readerList;
}
}
測試類
import javax.xml.ws.Endpoint;
public class SimpleTest {
public static void main(String[] args) {
System.out.println("Server is starting");
UserServiceImpl userService = new UserServiceImpl();
Endpoint.publish("http://localhost:80/userService", userService);
System.out.println("Server is started");
}
}
登錄測試
import org.apache.cxf.jaxws.JaxWsProxyFactoryBean;
public class CallerTest {
public static void main(String[] args) {
JaxWsProxyFactoryBean factoryBean = new JaxWsProxyFactoryBean();
factoryBean.setServiceClass(UserServiceInter.class);
factoryBean.setAddress("http://localhost:80/userService");
UserServiceInter readerService = (UserServiceInter)factoryBean.create();
User reader = readerService.getReader("test01","123456");
System.out.println("Reader:" + reader);
}
}
實體
public class User {
private String name;
private String password;
public User(){}
public User(String name , String password) {
this.name = name;
this.password = password;
}
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public String getPassword() {
return password;
}
public void setPassword(String password) {
this.password = password;
}
public String toString() {
return "name:" + name + ",password:" + password;
}
}
運行步驟
首先開啓服務 運行SimpleTest
在運行CallerTest
瀏覽器運行一下連接 出現以下說明成功
http://localhost/userService?wsdl
demo以及jar的下載
鏈接: http://pan.baidu.com/s/1jGs9sZ8 密碼: 2qqz