ฉันเป็น SOAP newb ที่ได้รับมอบหมายให้รื้อฟื้นอินเทอร์เฟซสบู่เก่า ฉันได้ย้ายบริการสบู่ไปยัง Tomcat ตัวใหม่ในเส้นทางใหม่ (และปล่อยให้ไคลเอนต์ไม่เปลี่ยนแปลง) ฉันส่งคำขอ: http://myserver:8181/soap/SoapTest?wsdl และฉันได้รับกลับมา:
<wsdl:definitions xmlns:ns1="http://webservices.mycompany.com"
xmlns:ns3="http://schemas.xmlsoap.org/wsdl/soap/http"
xmlns:soap="http://schemas.xmlsoap.org/wsdl/soap/"
xmlns:tns="http://www.mycompany.com/SoapTest"
xmlns:wsdl="http://schemas.xmlsoap.org/wsdl/"
xmlns:xsd="http://www.w3.org/2001/XMLSchema"
name="SoapTestService"
targetNamespace="http://www.mycompany.com/SoapTest">
<wsdl:import location="http://myserver:8181/soap/SoapTest?wsdl=SoapTest.wsdl"
namespace="http://webservices.mycompany.com"></wsdl:import>
<wsdl:binding name="SoapTestServiceSoapBinding" type="ns1:SoapTest">...</wsdl:binding>
<wsdl:service name="SoapTestService">...</wsdl:service>
</wsdl:definitions>
ดูเหมือนว่าจะมีแนวโน้ม คำขอไปยังตำแหน่งนำเข้า SoapTest?wsdl=SoapTest.wsdl ส่งคืน:
<wsdl:definitions xmlns:ns1="http://webservices.mycompany.com"
xmlns:ns2="http://jaxb.dev.java.net/array" xmlns:wsdl="http://schemas.xmlsoap.org/wsdl/"
xmlns:xsd="http://www.w3.org/2001/XMLSchema"
name="SoapTest"
targetNamespace="http://webservices.mycompany.com">
<wsdl:types>
<xs:schema xmlns:tns="http://webservices.mycompany.com"
xmlns:xs="http://www.w3.org/2001/XMLSchema"
targetNamespace="http://webservices.mycompany.com" version="1.0">
<xs:complexType name="sessionObj">
<xs:sequence>
<xs:element name="code" type="xs:int"/>
<xs:element name="id" type="xs:long"/>
<xs:element minOccurs="0" name="role" type="xs:string"/>
<xs:element minOccurs="0" name="username" type="xs:string"/>
</xs:sequence>
</xs:complexType>
... (and so on)
ดังนั้นลูกค้าสามารถรับการเชื่อมโยงสมาชิก xs name:type ได้ แต่ดูเหมือนว่าจะไม่ใช่ - หรือจะไม่นำไปใช้ นั่นคือ ...
หึหึ.. จากการตรวจสอบ ฉันเห็นว่า xs ถูกใช้เป็นเนมสเปซ แต่ xmlns:xsd ถูกกำหนดไว้?? สิ่งนี้จะเกิดขึ้นได้อย่างไร
ข้อความค้นหาไคลเอนต์ ZSI (จาก Windows หากสร้างความแตกต่าง) ไปยังอินเทอร์เฟซนี้ (Linux) ได้รับการตอบกลับที่มีเพย์โหลดข้อมูลที่คาดหวัง แต่จากนั้นแมปแต่ละรายการข้อมูลลงใน "คุณสมบัติ" แต่ละรายการ - ส่งผลให้เกิดรายการคุณสมบัติทั่วไป
ฉันคาดหวังรายชื่อสมาชิกที่พิมพ์ โดยแต่ละคุณสมบัติเปลี่ยนเป็นประเภท xs (เช่น int, long, string, string สำหรับด้านบน) ใช่ไหม
ขอบคุณล่วงหน้าสำหรับเบาะแสใด ๆ