Google
 


การสร้าง Web Service และการเรียกใช้จาก Desktop Application #4

การเรียกใช้ Web Service จาก Desktop Application
จากตอนที่แล้วเมื่อเรารันโปรแกรมเราจะได้ว่า WSDL ที่เราสามารถนำมาเรียกใช้งานนั้นคือ
http://localhost:8084/SampleWS/HelloWS?wsdl
ต่อมาขอให้เราสร้างโปรเจคใหม่แบบ Java Application โดยตั้งชื่อเป็น ClientWS ดังรูป


ขอให้สังเกตุว่าผู้เขียนได้ unchecked Create Main Class ออก
จากนั้นให้เราสร้าง JFrame Form ขึ้นมาในโปรเจคใหม่นี้ แล้วนำ TextField และ Button มาวางในฟอร์มดังรูป

ในการที่เราจะเรียกใช้งาน Web Service นั้น เราจะต้องทำการบอกให้โปรแกรมรูจักก่อน โดยให้คลิกขวาที่ชื่อโปรเจคแล้วเลือก New->Web Service Client จะได้

จากนั้นให้เราใส่ค่า http://localhost:8084/SampleWS/HelloWS?wsdl ที่เราได้จากตอนที่เราสร้าง Web Service แล้วคลิก Finish โปรแกรมก็จะทำการเรียก Web Service มาใส่ในโปรแกรมให้เราโดยอัตโมัติ ถ้าเราไม่ได้ปิด Service ที่เราได้สร้างมาก่อนหน้านี้ โปรแกรมก็จะแสดงข้อความว่า่ สามารถติดตั้งได้เรียบร้อยที่บริเวณด้านล่างของ Editor นั่นเอง

ขั้นตอนสุดท้ายคือเราจะต้องใส่ Libraries ของ Web Service เข้าไปในโปรแกรมของเรา โดยให้ไปที่หน้าต่าง Projects แล้วคลิกขวาที่ Libraries แล้วเลือก Add Library จะได้

จากนั้นให้กลับมาที่หน้า Design แล้วดับเบิ้ลคลิกที่ปุ่ม Call Web Service ตัวโปรแกรมก็จะสร้างโค้ดให้เรา โดยอัตโนมัติ หลังจากนั้นคลิกขวาที่ภายในฟังชั่นนั้นแล้วเลือก Web Service Clinet Resources -> Call Web Service Operation จะได้

จากนั้นให้เราขยายโหนดออกมาแล้วเลือก greeting ดังรูป จากนั้นให้แก้ไขโค้ดดังนี้

    private void jButton1ActionPerformed(java.awt.event.ActionEvent evt) {
        
        try { // Call Web Service Operation
            org.tnb.hello.HelloWSService service = new org.tnb.hello.HelloWSService();
            org.tnb.hello.HelloWS port = service.getHelloWSPort();
            // TODO initialize WS operation arguments here
            java.lang.String s = jTextField1.getText();
            // TODO process result here
            java.lang.String result = port.greeting(s);
            JOptionPane.showMessageDialog(null, result);
        } catch (Exception ex) {
            JOptionPane.showMessageDialog(null, ex.getMessage());
        }

    }

จากนั้นให้ทดลองรันโปรแกรมจะได้

สุดท้ายนี้หวังว่าบทความนี้ คงจะมีประโยชน์แก่ท่านบ้างไม่มากก็น้อย และขอให้ท่านนำไปประยุกต์ใช้เพื่อให้เกิดประโยชน์ต่อไป หากมีข้อสงสัยใด ขอให้สอบถามได้ที่เว็บบอร์ดของเว็บนี้เท่านั้น กรุณาอย่านำไปถามที่อื่น เนื่องจากผู้อื่นอาจไม่ทราบ ความเป็นมาและเป็นไปของบทความนี้ และอาจเกิดความสับสนและเข้าใจผิดได้

 

หน้า 1 | 2 | 3 | 4