2009-12-23 39 views
124

sự khác nhau giữa một số XML SchemaWSDL là gì?sự khác nhau giữa XSD và WSDL

Sự khác biệt mà tôi nhận thấy là WSDL chứa XSD và trong WSDL chúng tôi có thể khai báo các hoạt động, chứ không phải trong XSD. Đúng không?

Trả lời

126

XSD định nghĩa một lược đồ là định nghĩa về cách một tài liệu XML có thể được cấu trúc. Bạn có thể sử dụng nó để kiểm tra xem một tài liệu XML đã cho có hợp lệ không và tuân theo các quy tắc mà bạn đã đưa ra trong lược đồ.

WSDL là tài liệu XML mô tả dịch vụ web. Nó cho thấy các hoạt động nào có sẵn và cách dữ liệu nên được cấu trúc để gửi đến các hoạt động đó.

Tài liệu WSDL có XSD được liên kết hiển thị những gì hợp lệ để đưa vào tài liệu WSDL.

+9

Câu trả lời của Paolo là chính xác. Chỉ cần tăng cường nó. Vì WSDL thực sự là XML và có thể hoặc không có XSD để xác nhận cấu trúc của nó. Liên kết XSD có thể là một tệp riêng biệt và được nhập trong WSDL hoặc XSD đầy đủ có thể được nhúng nội dòng trong tệp WSDL bằng cách sử dụng thẻ . Để biết thêm chi tiết http://www.ibm.com/developerworks/webservices/library/ws-tip-imports/ – supernova

+0

IBM XSD cho WSDL @ http://schemas.xmlsoap.org/wsdl/ –

+0

Nếu chúng là hai điều riêng biệt, tại sao khi tôi tạo một dịch vụ web chẳng hạn, trong Netbeans, tôi nhận được một '? xsd = 1' trong URL tự động? – CodyBugstein

8

XSD là xác thực tài liệu và chứa siêu dữ liệu về XML trong khi WSDL mô tả vị trí và hoạt động webservice.

3

XSD (định nghĩa lược đồ XML) xác định phần tử trong tài liệu XML. Nó có thể được sử dụng để xác minh xem các phần tử trong tài liệu xml có tuân theo mô tả trong đó nội dung được đặt hay không. Trong khi wsdl là loại tài liệu XML cụ thể mô tả dịch vụ web. WSDL tự nó tuân theo một XSD.

161

WSDL (Ngôn ngữ mô tả dịch vụ web) mô tả dịch vụ của bạn và hoạt động của dịch vụ - dịch vụ được gọi là gì, phương pháp nào cung cấp thông số và giá trị trả về?

Đó là mô tả về hành vi của dịch vụ - đó là chức năng của nó.

XSD (Định nghĩa lược đồ Xml) mô tả cấu trúc tĩnh của các kiểu dữ liệu phức tạp được trao đổi bởi các phương pháp dịch vụ đó. Nó mô tả các loại, trường của chúng, bất kỳ hạn chế nào trên các trường đó (như độ dài tối đa hoặc mẫu regex) và vv.

Đó là mô tả về các kiểu dữ liệu và do đó tính chất tĩnh của dịch vụ - đó là về dữ liệu.

+19

Đây là một câu trả lời tốt hơn nhiều giải thích XSD trong ngữ cảnh của một WSDL và không chỉ khác biệt giữa hai loại. Để thêm, các định nghĩa XSD là một phần của WSDL trong thẻ . – airboss

1

WSDL - Nó chứa hoạt động như phương thức mà webservice cung cấp. Và phương pháp này có thể chấp nhận các kiểu dữ liệu đơn giản như int, float vv và các kiểu dữ liệu phức tạp như đối tượng, vectơ, mảng vv. xml datatype xsd được sử dụng. và dựa trên xsd, người dùng muốn truy cập webservice từ nền tảng khác nhau có thể cung cấp dữ liệu một cách thích hợp.

Tham khảo: ayazroomy-java.blogspot.com để đọc về các khái niệm cơ bản về dịch vụ web.

42

XSD: Định nghĩa lược đồ XML.

XML: eXtensible Markup Language.

WSDL: Ngôn ngữ định nghĩa dịch vụ web.

Tôi sẽ không trả lời về mặt kỹ thuật. Tôi đang hướng giải thích này ở người mới bắt đầu.

Không dễ giao tiếp giữa hai ứng dụng khác nhau được phát triển bằng hai công nghệ khác nhau.Ví dụ, một công ty ở Chicago có thể phát triển một ứng dụng web bằng cách sử dụng Java và một công ty khác ở New York có thể phát triển một ứng dụng trong C# và khi hai công ty này quyết định chia sẻ thông tin thì XML đi vào hình ảnh. Nó giúp lưu trữ và truyền tải dữ liệu giữa hai ứng dụng khác nhau được phát triển bằng cách sử dụng các công nghệ khác nhau. Lưu ý: Nó không chỉ giới hạn ở một ngôn ngữ lập trình, hãy nghiên cứu về việc vận chuyển thông tin giữa hai ứng dụng khác nhau.

XSD là định nghĩa lược đồ. Ý tôi là, nó đang nói cho người dùng phát triển XML của họ trong một lược đồ như vậy. Vui lòng xem hình ảnh bên dưới và vui lòng xem kỹ phần tử "tải khi khởi động" và loại của nó là số nguyên. Trong ảnh XSD bạn có thể thấy nó có nghĩa là giá trị số nguyên cho "tải-khởi động" và do đó khi người dùng tạo XML của mình, họ đã chuyển một giá trị int cho phần tử cụ thể đó. Như một lời nhắc nhở, XSD là một lược đồ và kiểu dáng trong khi XML là một biểu mẫu để giao tiếp với một ứng dụng hoặc hệ thống khác. Người ta phải xem XSD và tạo XML theo cách như vậy hay cách khác nó sẽ không giao tiếp với một ứng dụng hoặc hệ thống khác đã được phát triển với một công nghệ khác. Một công ty ở Chicago cung cấp một mẫu XSD cho một công ty ở Texas để viết hoặc tạo ra XML của họ theo định dạng XSD đã cho. Nếu công ty ở Texas không tuân thủ các quy tắc hoặc lược đồ được đề cập trong XSD thì không thể mong đợi thông tin chính xác từ công ty ở Chicago. Có rất nhiều việc phải làm sau câu chuyện kể trên, mà một người nghiệp dư hay người mới phải biết khi viết mã cho một số thứ như tôi đã nói ở trên. Nếu bạn thực sự muốn biết điều gì xảy ra sau đó thì tốt hơn là ngồi với các kỹ sư phần mềm cao cấp, những người thực sự phát triển các dịch vụ web. Tiếp theo là WSDL, hãy làm theo các hình ảnh và cố gắng tìm ra nơi WSDL sẽ phù hợp.

*************** ======== Dưới đây là một phần Hình ảnh XML ========== *************** XML image partial

*************** == ====== Dưới đây là hình ảnh XSD phần ========== ***************

XSD image partial

***** ********** ======== Dưới đây là hình ảnh WSDL một phần ======= *************

WSDL image partial

Tôi phải tạo WSDL mẫu cho dịch vụ web có tên Sách. Lưu ý, nó là một XSD nhưng bạn phải gọi nó là WSDL (Ngôn ngữ Định nghĩa Dịch vụ Web) vì nó là rất cụ thể cho các Dịch vụ Web. WSDL dưới đây (hay nói cách khác là XSD) được tạo ra cho một lớp có tên là Book.java và nó đã tạo ra một dịch vụ SOAP. Cách dịch vụ web SOAP tạo ra nó là một chủ đề khác. Người ta phải viết một lớp Java và trước khi thực hiện nó tạo ra như một dịch vụ web, người dùng phải đảm bảo rằng API Axis2 được cài đặt và Tomcat để lưu trữ dịch vụ web được đặt ra.

Là một servicer (người cho phép người khác) truy cập thông tin hoặc dữ liệu từ hệ thống của họ. bởi vì không có công ty nào trên trái đất sẵn sàng vạch trần Cơ sở dữ liệu của họ cho người ngoài. Giống như công ty của tôi, đã quyết định cung cấp một số thông tin về các sản phẩm thông qua Dịch vụ Web, do đó chúng tôi phải tạo mẫu XSD và truyền thông cho một số khách hàng muốn làm việc với chúng tôi. Họ phải viết một số mã để sử dụng hoàn toàn XSD đã cho và thực hiện các cuộc gọi dịch vụ Web để lấy dữ liệu từ servicer và chuyển đổi dữ liệu được trả về yêu cầu phù hợp của họ và sau đó hiển thị hoặc xuất bản dữ liệu hoặc thông tin về sản phẩm trên trang web của họ. Một ví dụ đơn giản là đặt vé FLIGHT. Hãng hàng không sẽ cho phép bên thứ ba sử dụng dữ liệu chuyến bay trên trang web của họ để bán vé. Nhưng một lần nữa có nhiều hơn nữa, nó chỉ là không cho phép bên thứ ba vé máy bay đại lý bán vé, sẽ có đồng bộ hóa và an ninh tại chỗ. Nếu không có đồng bộ thì có 100% cơ hội hơn 1 khách hàng có thể mua cùng một vé máy bay từ nhiều nguồn khác nhau.

Tôi hy vọng các chuyên gia sẽ đóng góp vào câu trả lời của tôi. Thật khó cho những người mới hay người mới hiểu XML, XSD và sau đó làm việc trên các Dịch vụ Web.

+2

Thông tin rất chi tiết. Thực sự thích nó. – Gendaful

+0

Thông tin hữu ích. – 0991

0

Nếu ai đó đang tìm kiếm sự tương tự, câu trả lời này có thể hữu ích.

WSDL giống như lệnh 'SHOW TABLE STATUS' trong mysql. Nó định nghĩa tất cả các phần tử (kiểu yêu cầu, kiểu phản hồi, định dạng của URL để yêu cầu truy cập, vv.), Nên là một phần của XML. Theo định nghĩa, tôi có nghĩa là: 1) Tên yêu cầu hoặc phản hồi 2) Những gì cần được coi là đầu vào, những gì nên được coi là đầu ra.

XSD giống như lệnh DESC trong mysql. Nó cho biết tất cả các biến và kiểu của chúng, một yêu cầu và đáp ứng chứa.

Các vấn đề liên quan