Tạo project java với tên :
Jaxws-Server
|---src
|---helloservice.endpoint
|---Document.java
|---Hello.java
|---UserBean.java
|---libs
|---webconfig
|---build.properties
|---build.xml
|---build-user.xml
build-user.xml
build.properties
# Options to wsimport/apt
debug=false
keep=true
verbose=false
# service endpoint implementation class
urlserver=http://localhost:8080/Jaxws-server/hello?wsdl
pro_client=<Đường dẫn đến project client >
build.xml
]>
Bây giờ bạn xây dựng Document.java
package helloservice.endpoint;
import java.util.Date;
public class Document {
private String name;
private Date createdDate;
public Date getCreatedDate() {
return createdDate;
}
public void setCreatedDate(Date createdDate) {
this.createdDate = createdDate;
}
publi c String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
}
Tiếp theo là Hello.java
package helloservice.endpoint;
import java.io.File;
import java.util.Date;
import javax.activation.DataHandler;
import javax.activation.FileDataSource;
import javax.jws.WebMethod;
import javax.jws.WebService;
@WebService()
public class Hello {
private String message = new String("Jaxws hello, ");
public void Hello() { }
@WebMethod()
public String sayHello(String name) {
return message + name;
}
@WebMethod()
public UserBean getUserBean(String username) throws Exception{
if(username.equals("TrungCTD")) throw new Exception("User not found");
UserBean userBean=new UserBean();
Document doc=new Document();
doc.setName("My Doc");
doc.setCreatedDate(new Date());
userBean.setUsername(username);
userBean.setPassword("password");
userBean.setDocument(doc);
return userBean;
}
@WebMethod()
public DataHandler getFile() {
FileDataSource fileDataSource=new FileDataSource(new File("E:/Van ban/note.txt"));
DataHandler dataHandler=new DataHandler(fileDataSource);
return dataHandler;
}
}
- Trong thấy trong file java thi hành web service có sử dụng các annotation.
- @WebService được sử dụng để đánh dấu một lớp Java là thi hành web service hoặc là đánh dấu một interface định nghĩa web service interface.
- @WebMethod làm cho một phương thức trở thành một phương thức web service.
UserBean.java
package helloservice.endpoint;
public class UserBean {
private String username;
private String password;
private Document document;
public Document getDocument() {
return document;
}
public void setDocument(Document document) {
this.document = document;
}
public String getPassword() {
return password;
}
public void setPassword(String password) {
this.password = password;
}
public String getUsername() {
return username;
}
public void setUsername(String username) {
this.username = username;
}
}
Viết file cấu hình định nghĩa web service sun-jaxws.xml với nội dung sau :
- Thẻ endpoint dùng để định nghĩa một web service end point. Thuộc tính name xác định tên của web service. Thuộc tính implementation xác định lớp thực thi web service. url-pattern là đường dẫn tương đối của ứng dụng với ứng dụng web chúng ta triển khai web service (http://localhost:8080/Jaxws-Server/hello).
- Tương ứng với mỗi web service được định nghĩa trong file sun-jaxws.xml chúng ta sẽ định nghĩa một servlet trong file web.xml. Display name và servlet name có cùng tên với web service, servlet class là mặc định. url-pattern tương ứng với url-pattern của web service trong file sun.jaxws.xml.
Viết file cấu hình web cho ứng dụng web:
web.xml
Chúng ta đã tạo xong project server chỉ đơn giản chỉ là những config, build và các class java.
Bây giờ bạn dùng Build.xml để generate class java method. Sau khi run bạn sẽ thấy cấu trúc như sau :
Khi generate class cho server hoàn tất, khi ấy bạn sẽ một các method chính la các class java va jaxws da tao ra.
helloservice.endpoint.jaxws.ExceptionBean.java
helloservice.endpoint.jaxws.GetFile.java
helloservice.endpoint.jaxws.GetFileResponse.java
helloservice.endpoint.jaxws.GetUserBean.java
helloservice.endpoint.jaxws.GetUserBeanResponse.java
helloservice.endpoint.jaxws.SayHello.java
helloservice.endpoint.jaxws.SayHelloResponse.java
deploy-tomcat
Sau khi deploy xong bạn strart tomcat và từ web browers http://localhost:8080/Jaxws-server/hello?wsdl. bạn đã thấy cấu trúc của wsdl file từ browers sau khi bạn nhập Url và run.
Chúc bạn thành công.
DangTrung.
helloservice.endpoint.jaxws.ExceptionBean.java
helloservice.endpoint.jaxws.GetFile.java
helloservice.endpoint.jaxws.GetFileResponse.java
helloservice.endpoint.jaxws.GetUserBean.java
helloservice.endpoint.jaxws.GetUserBeanResponse.java
helloservice.endpoint.jaxws.SayHello.java
helloservice.endpoint.jaxws.SayHelloResponse.java
deploy-tomcat
create-war-server:
[echo] Creating the WAR....
[war] Building war: D:\SourceCty\Jaxws-Server\Jaxws-server.war
deploy-tomcat:
[copy] Copying 1 file to D:\Program Files\Server\apache-tomcat-5.5.17\webapps
BUILD SUCCESSFUL
Total time: 10 seconds
Sau khi deploy xong bạn strart tomcat và từ web browers http://localhost:8080/Jaxws-server/hello?wsdl. bạn đã thấy cấu trúc của wsdl file từ browers sau khi bạn nhập Url và run.
Chúc bạn thành công.
DangTrung.
Không có nhận xét nào:
Đăng nhận xét