Tôi đã tạo một dịch vụ web nhỏ bằng cách sử dụng JAX-WS. Tệp WSDL có phần tử TYPES như thế này.JAX-WS có lược đồ XSD trong URL khác nhau
<types>
<xsd:schema>
<xsd:import namespace="http://ws.poc.mawia/" schemaLocation="http://localhost:777/ws/hello?xsd=1"/>
</xsd:schema>
</types>
URL cho dịch vụ web là http://localhost:777/ws/hello?wsdl
và XSD là http://localhost:777/ws/hello?xsd=1
. Tệp lược đồ XSD ở vị trí khác nhau có định nghĩa kiểu dữ liệu như thế này.
...
...
<xs:complexType name="student">
<xs:sequence>
<xs:element name="name" type="xs:string" minOccurs="0"/>
<xs:element name="rollNo" type="xs:int"/>
</xs:sequence>
</xs:complexType>
...
...
Hầu hết các tệp WSDL tôi đã thấy thường có các định nghĩa XSD hoàn chỉnh bên trong tệp WSDL nhưng JAX-WS đặt nó ở một vị trí khác.
Đây có phải là cách thức như vậy không? Làm thế nào tôi có thể cấu hình JAX-WS để đặt tất cả các định nghĩa XSD trong một tệp WSDL?
MyWebService là một lớp hoặc giao diện? – Mawia
Trong cài đặt tôi có ở đây, đó là một lớp học. 'MyWebService' vẫn thực hiện một giao diện (với chú thích' @ WebService') và trỏ đến giao diện đó với thuộc tính 'endpointInterface'. Aka: '@WebService (endpointInterface =" some.package.MyPortType ", ...)' – joergl