แสดงบทความที่มีป้ายกำกับ tutorial แสดงบทความทั้งหมด
แสดงบทความที่มีป้ายกำกับ tutorial แสดงบทความทั้งหมด

วันเสาร์ที่ 10 กรกฎาคม พ.ศ. 2553

การสร้าง jax-ws บน Tomcat

ผมเขียนโดยใช้ maven ในการสร้าง Project น่ะครับ และทำให้รันบน Tomcat ถ้าบน Application Server ใช้ Config น้อยกว่านี้น่ะครับ
1. เพิ่ม Config ใน Maven เข้ามาเพื่อ Load Library
<dependency>
<groupid>com.sun.xml.ws</groupid>
<artifactid>jaxws-rt</artifactid>
<version>2.2.1</version>
</dependency>

2. Config Maven ให้ใช้งาน Tomcat ได้ ไม่สอนนะครับ เพราะว่า copy มาใช้งานได้จากเวบอยู่แล้วไม่ยากเท่าไรน่ะครับ
3. ต่อไปมาดูส่วนของ Class ปกติการเขียน jax-ws เราจะใช้ Java Class มาใช้โดยการเพิ่ม annotation เพื่อบอกมันว่าจะใช้งานเป็น Web Service ได้เลยน่ะครับ แต่รันบน Tomcat เราจะต้องมี Config เพิ่มในส่วนของ web.xml

@WebService <-- จะเห็นว่าแค่บอกว่าจะใช้ Web Service ก็จะสามารถทำงานเป็น Web Service ได้เลยน่ะครับ
public class Hello {

public String sayHello(String param) { <-- เป็น Method ที่จะไว้เรียกจาก Client ได้ที่ jax-ws จะ auto generate ให้เป็น Method ใน jax-ws ให้เลยน่ะครับ
System.out.println("..... sayHello(String param[" + param + "])");

return "Hello " + param;
}

}

4. ต่อไปมาดูส่วนที่ต้อง Config เพิ่มเติมในส่วน web.xml
<listener>
<listener-class>
com.sun.xml.ws.transport.http.servlet.WSServletContextListener
</listener-class>
</listener>
<servlet>
<description>Example Web Service</description>
<display-name>examplews</display-name>
<servlet-name>example</servlet-name>
<servlet-class>com.sun.xml.ws.transport.http.servlet.WSServlet</servlet-class>
<load-on-startup>1</load-on-startup>
</servlet>
<servlet-mapping>
<servlet-name>example</servlet-name>
<url-pattern>/*</url-pattern>
</servlet-mapping>

5. หลังจาก Config เสร็จแล้วจะต้องไปสร้าง sun-jaxws.xml เพื่อ Config ว่า Class ไหนบ้างเป็น Web Service แล้วมี Path เป็นอะไรน่ะครับ
<?xml version="1.0" encoding="UTF-8"?>
<endpoints xmlns="http://java.sun.com/xml/ns/jax-ws/ri/runtime"
version="2.0">
<endpoint name="hello" implementation="tutorial.jaxws.webservice.sample.Hello" <-- บอกว่าจะให้ Class นั้นเป็น Web Service url-pattern="/helloService" />
</endpoints>

6. สั่งรันเป็นอันเสร็จ เรียบร้อย จะได้ Web Service มาใช้งานแล้วครับ คร้าวหน้า จะมาเขียน jax-ws client ไว้สำหรับเรียกนะครับ ซึ่งมีทั้งแบบ Sync, Async ครับ

วันอังคารที่ 16 กันยายน พ.ศ. 2551

อธิบายเพิ่มเติม Quick Seam จาก http://www.seam66.com/blog/?p=67

ผมลองทำตามที่นี่เลยครับ http://www.seam66.com/blog/?p=67
ผมเขียนอธิบายเพิ่มเติมเอาน่ะครับ เพราะผมไม่รู้เรื่องน่ะครับ ว่ามันจะต้อง Config ยังไงเอาไปวางไว้ไหน เลยเขียนมาเผื่อใครไม่รู้จะได้รู้น่ะครับ 
ปล. ถ้าอ่าน seam มาก่อนข้ามไปเลยครับ สำหรับคนที่ไม่รู้อะไรเลยแบบผม

1.  ขั้นแรกก็ติดตั้งก่อนที่ http://www.seam66.com/blog/?p=62
2. แล้วเราจะได้ Project Default มาชื่อ myproject ซึ่งจะอยู่ที่ C:\Projects\
3. พอเสร็จแล้ว เราก็จะ import Project เข้า Eclipse (3.4) โดยการคลิกขวาเลือก import แล้ว คลิกที่ General --> Existing Projects into Workspace พอเสร็จเราก็จะได้ Workspce สำหรับใช้ seam ล่ะครับ
4. ถ้าเกิด sever ของ jboss เปลี่ยนไม่ตรงเหมือนใน Eclipse ที่ Config ไว้ ให้เข้าไปแก้ที่ build.properties ให้แก้ jboss.home ไปที่ที่ Server ที่ Eclipse Config
5. ต่อมาเรามาทำ Quick Seam ตาม http://www.seam66.com/blog/?p=67
6. โดย File แ รก  เ ป็นส่วนที่ไ ว้สำหรับแ สดงผลออกหน้าจอ ให้เรา create ชื่ออะไรก็ได้ ลงท้ายด้วย .xhtml แล้ว เอา File ไปวางไว้ที่ view ครับ
7.  ต่อไปอีก File นึงเป็น Java File ไปวางไว้ที่ packace ที่เป็น Source Folder โดย ใน File นั้นเราอาจจะต้อง Import Package บางส่วนเพิ่มเข้ามา เพื่อให้มันไม่ error นะครับ
8. พอทำเสร็จลอง Save ทั้งหมด แล้ว Restart JBoss ดู ก็น่าจะใช้งานได้แล้วนะครับ
9. ลองอ่านคำอธิบายเพิ่มเติมได้ http://www.seam66.com/blog/?p=77

ปล. โดยปกติ ถ้าเรา Import เข้ามาแล้วมันจะ Auto Deploy ลง JBoss Server ให้เลยนะครับ สามารถดูว่ามันขึ้นได้หรือเปล่า ถ้าไม่ขึ้น อาจจะ Config JBoss Home ผิดใน build.properties ครับ