package com.lyl.dao;
import javax.xml.ws.WebFault;
@WebFault(faultBean="com.lyl.BookException",messageName="BookException" ,name="fault")
public class BookException extends Exception {
public BookException() {
super();
// TODO Auto-generated constructor stub
}
public BookException(String message, Throwable cause) {
super(message, cause);
// TODO Auto-generated constructor stub
}
public BookException(String message) {
super(message);
// TODO Auto-generated constructor stub
}
public BookException(Throwable cause) {
super(cause);
// TODO Auto-generated constructor stub
}
}
3、具体的业务操作接口,也就WebService的服务接口
IBookBiz.java
package com.lyl.service;
import java.util.List;
import javax.jws.WebParam;
import javax.jws.WebResult;
import javax.jws.WebService;
import com.lyl.dao.BookException;
import com.lyl.vo.Book;
@WebService
public interface IBookBiz {
@WebResult
public void add(@WebParam(name="book")Book b) throws BookException;
@WebResult(name="bookList")
public List<Book> list();
@WebResult(name="book")
public Book findBookByName(@WebParam(name="bookName")String bookName) throws BookException;
}
实现类: BookBizImpl .java
package com.lyl.service;
import java.util.List;
import javax.jws.WebService;
import com.lyl.dao.BookDao;
import com.lyl.dao.BookException;
import com.lyl.vo.Book;
@WebService(endpointInterface="com.lyl.service.IBookBiz",targetNamespace="http://service.lyl.com")
public class BookBizImpl implements IBookBiz {
private BookDao bookDao=BookDao.newStance();
@Override
public void add(Book b) throws BookException {
bookDao.add(b);
}
public List<Book> list() {
return bookDao.list();
}
public Book findBookByName(String bookName) throws BookException {
return bookDao.findBookByName(bookName);
}
}
需要的类我们都准备好了,现在是如何利用Tomcate在启动的时候将WebService发布出去,这里我们就需要引入第三方法的jar包,我们可以到http://jax-ws.java.net/2.2.5/ 官方网上下载所有基于java API for XML 开发webservice需要的jar包,拷贝其中lib目录下的jar包到项目中的lib目录下。
因为要在Tomcat启动时候就加载,因此在web.xml文件中配置如下内容:
public class TestBookService {
IBookBiz bz;
@Before
public void init(){
BookBizImplService bbs=new BookBizImplService();
bz=bbs.getBookBizImplPort();
}
@Test
public void testAdd(){
Book book=new Book();
book.setBookId(2);
book.setBookName("水浒传");
book.setBookPrice(100);
try {
bz.add(book);
} catch (BookException_Exception e) {
// TODO Auto-generated catch block
System.out.println(e.getMessage());
}
}
@Test
public void testList(){
List<Book> bookList=bz.list();
for(Book book:bookList){
System.out.println(book.getBookName());
}
}
@Test
public void testFindByName(){
String bookName="销售";
try {
Book book=bz.findBookByName(bookName);
System.out.println(bookName+"的价格是:"+book.getBookPrice());
} catch (BookException_Exception e) {
// TODO Auto-generated catch block
System.err.println(e.getMessage());
}
}