UDDI: an XML Web Service

zhaozj2021-02-11  220

UDDI: one kind of XML Web Services Author: Chris Lovett [url href = http: //www.microsoft.com/china/msdn/voices/12182000-test.htm] UDDI query example [/ url] (requires Internet Explorer 5. x) [URL HREF = http://www.uddi.org/] General Description, Discovery and Integration (UDDI) Service [/ URL] (English) Currently running directly in Microsoft, IBM, and Ariba. This is a online web service that can be used to dynamically discover other online services in the application. This service is completely packaged in a simple XML interface. For experienced XML readers, passing XML between client applications and intermediates, is not new at all. We did this since 1998. However, we are also very happy to see other services that the industry develops like UDDI in this direction. So let us focus on the basic facts. What you really need to know is that you can post XML's URL. After work, we have found the following three URLs:

Http://uddi.microsoft.com/inquire http://uddi.ariba.com/uddiprocessor.aw/ad/process http://www-3.ibm.com/services/uddi/inquiryapi

They are UDDI entry points for "query". The entry points for updates are different from them, and usually use the HTTPS address for security reasons.

What kind of XML is posted?

First, XML must be UTF-8 (carefully simplified by UDDI project) format, and must be packaged in the SOAP envelope. The SOAP envelope looks like this:

? lt; / body>

The content of the element can be from [URL HREF = http://www.uddi.org/schema/uddi_1.xsd] UDDI Architecture [/ URL] (English)

Any query. For example, the following query will return more information about Microsoft when placed in a SOAP envelope:

microsoft

Note: We switch the namespace from the SOAP namespace to the "UDDI-ORG: API" namespace. Many other operations can also be performed in the Find_business query.

How to post XML?

You can use the XMLHTTP control provided by MSXML in the JScript file or HTML page, as shown below:

http = new activiXObject ("Microsoft.xmlhttp"); http.open ("post", url, false); http.setRequestHeader ("accept", "text / xml"); http.setrolquestHeader ("cache-control", "no-cache"); http.senament, '""); http.send (msg); in this case, I decided to be a good SOAP citizen, so set SOAPAction in the HTTP header. Because I need dynamic results every time, I also decided to accept only text / XML results and close all cache. Of course, in the additional sample code, I am using the callback to make these operations asynchronously.

What is it?

Of course, XML. In this case, you get a detailed list of the element registered for Microsoft, including information about the UDDI service itself.

< Name> Microsoft Corporation

As a world-leading personal and business software vendors, we are committed to providing innovative products and services to meet our customers' needs intelligent Search Web services comprehensive e-commerce services < name> volume licensing selection procedure Technet Microsoft Developer Network < Name> Online Shopping Home UDDI Web services UDDI Web Site Here you can repeatedly query and get information about a particular service. For example, let us query UDDI Web Service. You can get from the results above

BusinessKey, and use to find a service by name:

UDDI Web Service

This will return information about this service:

UDDI Web Service

Then you can use

ServiceKey gets more information about this service:

D2BC296A-723B-4C45-9ED4-494F9E53F1D1 This will return the following :

UDDI Web service Programmable web service interface based on UDDI SOAP / XML messages.

products UDDI server, publishing interface https://uddi.microsoft.com/publish UDDI SOAP publishing interface Product UDDI server, query interface http://uddi.microsoft.com/inquire UDDI SOAP Query Interface Test UDDI Server, Publish Interface

https://test.uddi.microsoft.com/publish UDDI SOAP publishing interface urn: microsoft-com: test-signature-element represents this is a test version of the service Test UDDI server, query interface http://test.uddi.microsoft.com/inquire < TMODelinstanceInfo TMODELKEY = "UUID: 4CD7E4BC-648B-426D-9936-443EAAC8AE23"> UDDI SOAP query interface

Now you can get rich information about online web services itself . This information tells us that there are actually four access points, two test visits

http://test.uddi.microsoft.com/ (English)

On, two product access points

http://uddi.microsoft.com/ (English)

on. It also tells us that the UDDI query access point is to disclose by HTTP, and the release access point is in the protection of HTTPS.

You can also use TMODELKEY information to find all registration services that provide UDDI Web services, as shown below:

UUID: 4CD7E4BC-648B-426D-9936-443EAAC8AE23

Return for Microsoft and IBM. No Ariba is returned, because Ariba does not seem to be used.

What is the effect of work?

I found that two implementations of Microsoft and Ariba have some troublesome difference. For example, the implementation of Ariba requires all uppercases of UTF-8 and cannot process extra spaces in the XML declaration.

To make these services implement complete interoperability, you must eliminate problems like this. I found that the response time is very satisfactory, but the synchronization of the data is a problem. I hope that the synchronization problem will improve over time.

to sum up

If you are creating applications that need to be dynamically connected to external business partners, you will undoubtedly consider connecting your application to the UDDI registry. Please imagine it as the DNS of the business application layer. Interestingly, you can add, change, and delete access points in real time, resolve a week or longer delay in DNS propagation. Many people will ask, how to do it after finding a company and its registration service in the UDDI directory. Indeed, UDDI does not claim to solve everything. Attempt to illustrate the main business of everything that has created, is a very heavy task and is almost impossible. UDDI Theory is that applications will know how to use certain well-known business protocols to operate, and these protocols are described in well-known ways so that you can dynamically find other services that support the protocol. Alternatively, you can also have a small number of well-known and reliable global business partners, through them you can simply use UDDI to find new services provided by it. In this case, you may have other reliable channels for downloading the adapters connected to each service. In short, UDDI did forward a big step in the correct direction. Chris Lovett is a programming manager for the Microsoft XML team.

转载请注明原文地址:https://www.9cbs.com/read-4237.html

New Post(0)