การแก้ปัญหาค่า soap address ใน wsdl


soap adddress netbeans5.5 wsdl

คำถาม

เรียน อาจารย์ กานดา,

ดิฉันเคยเข้า train เรื่อง web service กับอาจารย์เมื่อเดือนที่แล้ว ที่ software park ค่ะ ซึ่งหลังจากได้พัฒนา web service ให้กับองค์กร พบปัญหาที่จะขอคำแนะนำจากอาจารย

์ดังนี้ค่ะ
    ดิฉันได้พัฒนา web service ด้วย netbean และใช้ Sun application server หลังจากที่ได้พัฒนาเสร็จ และได้ deploy ขึ้น server พบปัญหาเกี่ยวกับเอกสาร wsdl ที่ netbean ได้ autogen ให้ พบว่าค่าของ soap address location ระบุ host ไม่ถูกต้อง ไม่มีการระบุ domain ต่อท้ายชื่อ host ทำให้ client เรียกแล้วเกิด error ว่า unknown host ซึ่งค่าของ uri ที่ระบุ ไม่ได้ระบุด้วยชื่อ host แต่ระบุเป็น ip หลังจาก deploy พบว่าค่าเปลี่ยนไปเป็นชื่อเครื่องอัตฺโนมัติค่ะ
     ตัวอย่างเช่น
uri =http://100.22.111.111:8081/testws/testService?wsdl
soap:address location="http://aaa:8081/testws/testService"
    ซึ่งชื่อเครื่องคือ "aaa" แต่หาก client เครื่องอื่นจะรู้จักด้วย "aaa.org" ไม่รู้จัก "aaa" ที่ไม่มี domain org ทำให้เกิด error unknown host เมื่อทำการเรียก web service
    ไม่ทราบว่ามีวิธีการแก้ไขอย่างไรให้ soap:address location ระบุเป็น ip ตาม uri ที่เรากำหนดค่ะ
     รบกวนขอคำแนะนำจากอาจารย์ด้วยค่ะ
คำตอบ 
จะขอยกตัวอย่างว่า อย่างเช่น อ ต้องการเปลี่ยน address ให้เป็น IP 111.22.33.444 นะค่ะ
1. ไปที่ไดเรกทอรี {local glassfish instance}/domains/domain1/config 
อย่างเช่น เครื่องของอาจารย์คือ ไดเรกทอรี C:\Sun\AppServer\domains\domain1\config
2. แก้ไขไฟล์ domains.xml โดยให้แก้ไขอิลิเมนต์ http-listener
จาก 
<http-listener acceptor-threads="1" address="0.0.0.0" blocking-enabled="false" default-virtual-server="server" enabled="true" family="inet" id="http-listener-1" port="8080" security-enabled="false" server-name="" xpowered-by="true"> 
ให้เป็น
 <http-listener acceptor-threads="1" address="0.0.0.0" blocking-enabled="false" default-virtual-server="server" enabled="true" family="inet" id="http-listener-1" port="8081"server-name="111.22.33.444" security-enabled="false" xpowered-by="true">
3.  Restart Sun Application Server  
4.  Deploy Web service and view its WSDL
Now we have soap:address change to 111.22.33.444:8081 as we wish. 
 
คำสำคัญ (Tags): #netbeans5.5#soap#wsdl
หมายเลขบันทึก: 91823เขียนเมื่อ 22 เมษายน 2007 15:44 น. ()แก้ไขเมื่อ 14 มิถุนายน 2012 14:22 น. ()สัญญาอนุญาต: จำนวนที่อ่านจำนวนที่อ่าน:


ความเห็น (2)
  • ตามมาอ่านและขอบคุณสำหรับคำแนะนำดีๆๆครับอาจารย์
  • ขอบคุณมากครับ
ขอบคุณค่ะคุณขจิตที่มาให้กำลังใจอย่างสม่ำเสมอ
พบปัญหาการใช้งานกรุณาแจ้ง LINE ID @gotoknow
ClassStart
ระบบจัดการการเรียนการสอนผ่านอินเทอร์เน็ต
ทั้งเว็บทั้งแอปใช้งานฟรี
ClassStart Books
โครงการหนังสือจากคลาสสตาร์ท