Posted by: iamipew | มกราคม 15, 2008

Webservice RAD 6.0.1-[Client-Service]

_____________________________________________________________________________
———————————————————–
#generate client webservice
———————————————————–

กรณีที่ถ้าเรา generate cleint ใน rad ไม่ได้ มันจะขึ้นประมาณว่าไม่สามารถเรียกใช้ได้ ขึ้นประมาณว่า “..bean…serailize…”
1. ให้ใช้ eclipse เวอร์ชั่น J2ee มาทำแทน [Eclipse 3.3 Europe J2ee]
2. โดยก๊อปตัว .wsdl มาไว้ใน java project (new java proj)
3. แล้วก็คลิ๊กขวา webservice->generate client
(**ถ้าไม่มีเมนูนี้ให้ windows->prefernces->workbench->capabilities แล้วก็ติ๊กที่ Web Service)
(**เลือกเป็น proxy, apache axis ส่วนใหญ่ใช้ default, ดูว่ามันเลือกอยู่ที่โปรเจคเราหรือเปล่า มันก็ finish เลย)
4. ได้ class มาที่ได้จากการเจน ก็ก๊อปคลาสเหล่านั้นมาไว้ที่ rad เรา  ในโปรเจคที่เราต้องการ
5. Add Axis Jar ลงไป
6. Add External Library
7. Add Share Library ไว้ที่ EAR Project (application.xml -> Tab Deployment)
8. ใน Server ต้อง Add Share Library โดยไปที่ Console->Environment->Share Libraries->New->…. และไปที่ Ear project -> เช็ค share lib
———————————————————–
* comment: ต้องมีตัว axis.jar (เอาเวอร์ชั่นใหม่ จาก http://ws.apache.org/) ทั้งในตัว client และ server ด้วย
* comment: อาจพบปัญหา “Too many parameters exceeding the limit of 255 words” เวลา Generate WSDL ไปดู วิธีแก้ไข ใน
http://yashima.blogspot.com/2007/05/too-many-parameters-exceeding-limit-of.html
———————————————————–
#Set Time Out
– Class xxxxLocator
– สร้างเมธอดอีกตัว overlide จาก Method getXXXWebService(URL) แต่เพิ่ม parameter int timeout เข้าไป
– ทำการ setTimeout เข้าไป  (EX. IEWWebserviceSoapBindingStub.setTimeout(timeout))
_____________________________________________________________________________
———————————————————–
#Test Web Service
———————————————————–

1. Test with web Service (.wsdl->webservice->Test with web Service Explorer)
2. Generate Sample
– ถ้าเป็น Server Class: ServerClass.java->WebService->Generate Sample JSPs
– ถ้าเป็น Client Class: xxxProxy.java->Webservice->Generate Sample JSPs
———————————————————–
#ตัวอย่างการเขียนโค้ดเรียกใช้
———————————————————–
-เรียกโดยใช้ proxy
com.true_corp.iew.service.IEWWebserviceProxy iewProxy = new com.true_corp.iew.service.IEWWebserviceProxy();
iewProxy.setEndpoint(url);
msg_response = iewProxy.serviceExt(xml_param);
-เรียกโดยใช้ locator (+timeout)
com.true_corp.iew.service.IEWWebserviceServiceLocator iewLocator = new
com.true_corp.iew.service.IEWWebserviceServiceLocator(); //เรียก Service Locator
com.true_corp.iew.service.IEWWebservice service
= iewLocator.getIEWWebservice(new java.net.URL(url),Integer.parseInt
(NIEW_SERVICE_REQUEST_TIMEOUT)); //เรียก Service ที่เราใช้งาน คล้ายๆ Proxy แล้ว Set URL ที่เราต้องไปเรียก
msg_response = service.serviceExt(xml_param); // เรียก Process ที่เราต้องการใช้ใน Web Service นั้น
__________________________________________________________________________________________
———————————————————–
#Create Server WebService
———————————————————–

1. Create DynamicWeb Project ใน RAD
2. สร้างไฟล์ที่จะทำเป็น webservice เช่น Create File InputTO, OutputTO, Service Webservic Class
3. Click ขวา ที่ Server Web service Class-> Web Service -> Create Web Service
4. Click ขวา ที่ Server Web service Class-> Web Service -> Generate Simple JSP
5. ถ้ายังไม่มีการ Shared Library ต้องทำข้อ 5-8 ของ #generate client webservice
———————————————————–
* หลังจากการ Create Web Service แล้วจะเกิดไฟล์ต่างๆ ดังนี้
– เช่นพวกไฟล์ TO จะเกิดไฟล์ _Deser,_Helper,_Ser
– ไฟล์ตัวที่เป็น WebService Class จะเกิดไฟล์ _SEI
เว๊บท่านโจเอื้อเฟื้อความรู้ หุๆ: http://yashima.blogspot.com/
———————————————————–

ใส่ความเห็น

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / เปลี่ยนแปลง )

Twitter picture

You are commenting using your Twitter account. Log Out / เปลี่ยนแปลง )

Facebook photo

You are commenting using your Facebook account. Log Out / เปลี่ยนแปลง )

Google+ photo

You are commenting using your Google+ account. Log Out / เปลี่ยนแปลง )

Connecting to %s

หมวดหมู่

%d bloggers like this: