1. Config Maven เพื่อไปอ่าน wsdl file จาก url มาแล้วทำการ generate stub ไว้สำหรับเรียก Web Service
<plugin>
<groupId>org.codehaus.mojo</groupId>
<artifactId>jaxws-maven-plugin</artifactId>
<executions>
<execution>
<goals>
<goal>wsimport</goal>
</goals>
<configuration>
<wsdlUrls>
<wsdlUrl>
http://localhost:8080/webservice-sample/helloService?wsdl <-- บอกว่าจะไปเอา wsdl file จากที่ไหนมาครับ </wsdlUrl>
</wsdlUrls>
<packageName>tutorial.sample.jaxws.helloclient</packageName> <-- จำสร้าง stub ไว้ที่ package ไหน </configuration>
</execution>
</executions>
</plugin>
<groupId>org.codehaus.mojo</groupId>
<artifactId>jaxws-maven-plugin</artifactId>
<executions>
<execution>
<goals>
<goal>wsimport</goal>
</goals>
<configuration>
<wsdlUrls>
<wsdlUrl>
http://localhost:8080/webservice-sample/helloService?wsdl <-- บอกว่าจะไปเอา wsdl file จากที่ไหนมาครับ </wsdlUrl>
</wsdlUrls>
<packageName>tutorial.sample.jaxws.helloclient</packageName> <-- จำสร้าง stub ไว้ที่ package ไหน </configuration>
</execution>
</executions>
</plugin>
2. หลังจากนั้นไปรันที่ command line mvn:compile maven ก็จะทำการสร้าง stub ของ Web Service นั้นขึ้นมาให้ครับ แล้วสามารถนำไปใช้งานได้เลย (*พอทำเสร็จแล้ว เอาส่วนที่เป็น Config wsdlurl ออกน่ะครับ จะได้ไม่ต้องทำการไป generate ทุกครั้ง)
3. มาดูส่วนที่เป็น Java Class กัน
HelloService service = new HelloService();
Hello port = service.getHelloPort();
System.out.println(port.sayHello("Duke"));
Hello port = service.getHelloPort();
System.out.println(port.sayHello("Duke"));
4. ตัวอย่างที่กล่าวมาเป็นวิธีการเรียกแบบ Sync Mode ครับ ยังมีวิธีการเรียกแบบ Async อีกสองแบบ จะพูดถึงในครั้งต่อไปครับ
1 comments:
very interesting, thanks for sharing :)
แสดงความคิดเห็น