AXIS ตอนที่ 2 :: Create/Publish Service

posted on 01 Mar 2005 16:40 by somkiat

AXIS ตอนที่ 2

การสร้างตัวอย่าง webservice และการ publish webservice

Testing Requirement

  1. Apache AXIS 1.1

  2. Tomcat 5.0/IBM WebSphere Application Server 4.0/5.1

ก่อนที่จะสร้าง Service นั้นเรามาดูเรื่องของการ publish service ขึ้น server เพื่อให้ใช้งานกันก่อนครับ โดย AXIS จะมีการ publish 2 แบบ คือ

1. JWS (Java Web Service) Files

2. Custom Deployment

แต่ในตอนนี้ผมจะใช้การ publish แบบที่สองครับ เนื่องจาก Service ที่จะสร้างขึ้นมามีการใช้ Data type ชนิด Complex type ด้วยครับเช่น JavaBean, Vector เป้นต้นครับ

การ publish แบบที่สอง นี้จะมี config file 1 ตัวคือ deploy.wsdd

Wsdd == WebService Deployment Descriptor

ตัวอย่าง deploy.wsdd

<deployment xmlns="http://xml.apache.org/axis/wsdd/" xmlns:java="http://xml.apache.org/axis/wsdd/providers/java">

<service name="TestService" provider="java:RPC">

<parameter name="className" value="com.ws.Test"/>

<parameter name="allowedMethods" value="*"/>

<beanMapping qname="myNS:TestBean" xmlns:myNS="urn:BeanService"

languageSpecificType="java:com.ws.TestBean"/>

</service>

</deployment>

คำอธิบาย

1. ผมตั้งชื่อ Service นี้ว่า TestService

2. service class ที่ทำการสร้างส่วนของ service อยู่ใน file com.ws.Test.java โดยจะทุกๆ method ใน class นี้เป้น service ทั้งหมดครับ

3. ส่วนของ Bean mapping นี้ผมจะ service ที่ทำการ return ค่าออกมาเป็น JavaBean ครับ ซึ่งคือ file com.ws.TestBean.java

ว่าแล้วเรามาเริ่มสร้าง WebService ด้วย AXIS กันเลยครับ ผมจะไม่มี HelloWorld หรือ Calculator program แล้วนะครับ ผมจะสร้างตัวอย่างที่ใช้พวก Complex Type กันเลย

ขั้นตอนการสร้าง

1. สร้าง class สำหรับ implement Service method จากตัวอย่างจะอยู่ใน com.ws.Test.java ดังนี้ครับ

package com.ws;

import java.util.Vector;

public class Test {

public Vector