WEB SERVICES Model Answer Paper
WEB SERVICES Model Answer Paper
35Mark
Model Answer Paper
A wire protocol, in the context of computer networking and communication, refers to a set of rules and
conventions that define how data is transmitted over a network. It defines the format and structure of data as it
is sent between devices or systems. This includes details such as the encoding of data, message framing, and
how different data types are represented.
Wire protocols are crucial for ensuring that different software applications, devices, or systems can communicate
effectively with each other, regardless of the underlying hardware or software platforms they are running on.
Examples of wire protocols include HTTP (Hypertext Transfer Protocol) for web communication, TCP/IP
(Transmission Control Protocol/Internet Protocol) for general network communication, and protocols specific to
various data serialization formats like JSON or XML.
The actor attribute can have different values, and its usage depends on the specific requirements of the SOAP
implementation. Common values for the actor attribute include:
1. "http://schemas.xmlsoap.org/soap/actor/next": This value indicates that the SOAP header block is intended
for the next intermediary along the message path. This is often used in scenarios where a SOAP message passes
through multiple intermediaries before reaching its final destination.
2. URI or endpoint: The actor attribute can also be set to a specific URI or endpoint, representing the intended
recipient of the SOAP header block. This is useful when the message needs to be processed by a particular service
or component.
Here's an example of how the actor attribute can be used in a SOAP message:
<SOAP-ENV:Envelope xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/"
SOAP-ENV:encodingStyle="http://schemas.xmlsoap.org/soap/encoding/">
<SOAP-ENV:Header>
<ns1:TransactionHeader xmlns:ns1="http://example.com/headers" SOAP-
ENV:actor="http://schemas.xmlsoap.org/soap/actor/next">
</ns1:TransactionHeader>
</SOAP-ENV:Header>
<SOAP-ENV:Body>
</SOAP-ENV:Body>
</SOAP-ENV:Envelope>
In this example, the TransactionHeader SOAP header block is marked with the actor attribute set to
"http://schemas.xmlsoap.org/soap/actor/next," indicating that it is intended for the next actor in the message
processing chain.
c) Define UDDI.
Ans. UDDI stands for Universal Description, Discovery, and Integration. It is an XML-based registry for
businesses worldwide to list themselves on the Internet and a protocol to allow them to discover and integrate
with each other's services. UDDI is a key component of the web services architecture and provides a standardized
way for businesses to publish and discover information about web services.
1. White Pages: This contains information about the business entity itself, such as the name, description, and
contact information. It is similar to a traditional phone book.
2. Yellow Pages: This provides information about the services offered by a business. It includes details about the
types of services, the interfaces they support, and other technical information.
3. Green Pages: This contains information about how to access the services listed in the Yellow Pages. It includes
details about the specific protocols and data formats that should be used to interact with a particular service.
UDDI enables businesses to publish their services in a standardized format, making it easier for other businesses
to discover and integrate with those services. This promotes interoperability and simplifies the process of building
distributed and loosely coupled systems.
UDDI has been widely used in the context of web services, allowing organizations to create, publish, and discover
services in a standardized way. While UDDI adoption has decreased in recent years in favor of other approaches
like service registries within enterprise service buses, its concepts have influenced the development of modern
service-oriented architectures.
d) What is Web Service?
Ans. A web service is a software system designed to support interoperable machine-to-machine
communication over a network. It enables different software applications to communicate with each other and
exchange data or perform actions, regardless of the underlying programming languages, platforms, or
technologies used to implement those applications. Web services follow a set of standardized protocols and
conventions that allow for seamless integration and interaction between diverse systems.
1. Interoperability: Web services are designed to work across different platforms and programming languages.
They use standard communication protocols, such as HTTP and XML, to facilitate interoperability.
2. Standardized Communication: Web services typically use standard communication protocols like SOAP (Simple
Object Access Protocol) or REST (Representational State Transfer) for exchanging data between systems.
3. Discoverability: Many web services are registered in directories or repositories, such as UDDI (Universal
Description, Discovery, and Integration), which allows other systems to discover and use them.
4. Loose Coupling: Web services promote loose coupling between systems, meaning that changes in one system
do not necessarily impact the functionality of another. This is achieved through well-defined interfaces and
standardized communication.
5. Reusability: Web services can be reused in different applications and scenarios, providing a modular and scalable
approach to building distributed systems.
1. SOAP-based Web Services: These use the Simple Object Access Protocol (SOAP) as the communication
protocol. SOAP is a protocol for exchanging structured information in web services, often using XML as the
format for data exchange.
2. RESTful Web Services: REST (Representational State Transfer) is an architectural style for building web services.
RESTful services use standard HTTP methods (GET, POST, PUT, DELETE) for communication and typically exchange
data in lightweight formats like JSON or XML.
Web services play a crucial role in enabling communication and integration between various software
applications, supporting the development of distributed and interoperable systems. They are widely used in web
development, enterprise applications, and the integration of diverse software solutions.
e) Define stub.
Ans. In software development, a stub refers to a small piece of code or a software module that serves as a
temporary substitute for a complete or fully functional version of a software component. Stubs are often used in
testing, particularly when testing components that depend on or interact with other components that are not yet
implemented.
1. Isolation for Testing: Stubs help isolate the component being tested by replacing the yet-to-be-implemented
or unavailable parts of the system with simplified versions. This allows developers to focus on testing the specific
functionality of the component in question.
2. Facilitating Incremental Development: Stubs enable incremental development by allowing developers to
create and test individual components independently. This is especially useful when different teams are working
on different parts of a larger system, and not all components are available for integration at the same time.
3. Simulating Behavior: Stubs simulate the behavior of the missing or unfinished parts of a system. They provide
predefined responses to function calls or data requests, allowing developers to observe how the tested
component interacts with its dependencies.
For example, in the context of network programming, a stub might simulate a remote server by providing pre-
defined responses to requests. Similarly, in object-oriented programming, a stub may be a simplified version of
a class or interface that returns fixed values to method calls.
It's important to note that stubs are temporary placeholders and are typically replaced with the actual
implementations as the development progresses. The use of stubs facilitates a more iterative and modular
development process, helping developers identify and address issues early in the development lifecycle.
1. Request-Response Operation:
Definition: In a Request-Response operation, one entity (sender) sends a request to another entity
(receiver), and the receiver processes the request and sends back a response.
Synchronous: It is a synchronous communication pattern, meaning that the sender typically waits for the
response before proceeding.
Example: HTTP, as used in web applications, is a common example of a request-response protocol. A
client (browser) sends an HTTP request to a server, and the server responds with the requested
information.
2. Solicit-Response Operation:
Definition: In a Solicit-Response operation, the sender initiates the communication by sending a
solicitation message, and the receiver responds to this solicitation with a response message.
Asynchronous: It can be asynchronous in nature, meaning that the sender doesn't necessarily wait for
an immediate response.
Example: In the context of web services, a service may publish a description of its capabilities, and clients
can send solicitations based on this information. The service then responds to these solicitations.
In summary, the primary difference lies in the initiation of the communication. In a Request-Response operation,
the sender initiates the communication by making a request and waits for a response. In a Solicit-Response
operation, the sender initiates the communication by sending a solicitation, and the receiver responds to this
solicitation. The latter can allow for more asynchronous and loosely coupled communication patterns. Both
patterns are commonly used in various distributed systems and messaging architectures, depending on the
specific requirements of the application.
In summary, Apache Axis provides a robust and flexible environment for Java developers to create, deploy, and
consume web services. It supports industry standards, integrates with popular technologies, and offers
extensibility for custom requirements.
By using the UDDI publishing API, organizations can make their services visible to others in the UDDI registry,
promoting interoperability and facilitating the discovery of services that meet specific requirements. This is
particularly valuable in the context of service-oriented architectures and web services, where dynamic service
discovery is a key aspect of system integration.
Ans. Securing a RESTful API in Java involves implementing various measures to protect the API from
unauthorized access, data breaches, and other security threats. Here are different ways to secure a RESTful API
in Java:
1. HTTPS (TLS/SSL):
Use HTTPS to encrypt the communication between clients and the server. This ensures that data
transmitted between them is encrypted and secure. It is especially important when sensitive information,
such as authentication tokens or user data, is exchanged.
2. Authentication:
Implement strong authentication mechanisms to verify the identity of clients. Common methods include:
API Key: Assign unique API keys to clients for authentication.
Token-Based Authentication: Use tokens (e.g., JSON Web Tokens - JWT) for secure and stateless
authentication.
OAuth: Implement OAuth for delegated authorization and secure authentication.
3. Authorization:
Control access to resources based on the roles and permissions of authenticated users. Use role-based
access control (RBAC) or other authorization mechanisms to ensure that clients only have access to the
resources they are allowed to use.
4. Input Validation:
Validate and sanitize input data to prevent common security vulnerabilities such as SQL injection, cross-
site scripting (XSS), and cross-site request forgery (CSRF).
5. Cross-Origin Resource Sharing (CORS) Configuration:
Configure CORS to specify which domains are allowed to make requests to the API. This helps prevent
Cross-Site Request Forgery attacks and improves security by controlling which origins can access the API.
6. Secure Password Handling:
If user authentication involves passwords, ensure secure password handling practices, such as using
strong password hashing algorithms (e.g., bcrypt) and salting.
7. Rate Limiting:
Implement rate limiting to prevent abuse and protect against denial-of-service (DoS) attacks. This restricts
the number of requests a client can make within a specified time frame.
8. Logging and Monitoring:
Implement thorough logging of API activities and set up monitoring to detect and respond to suspicious
or malicious behavior. Regularly review logs to identify security incidents.
9. Security Headers:
Include security headers in API responses to enhance security. Common security headers include Content
Security Policy (CSP), Strict Transport Security (HSTS), and X-Frame-Options.
10. Dependency Scanning:
Regularly scan dependencies (libraries, frameworks) for known vulnerabilities. Keep dependencies up-to-
date to ensure that security patches are applied.
11. Firewall Protection:
Use firewalls to filter incoming and outgoing traffic. This adds an additional layer of protection against
common attacks.
12. JSON Web Tokens (JWT) Best Practices:
If using JWT for authentication, follow best practices, such as setting expiration times, verifying signatures,
and avoiding sensitive information in the token payload.
By combining these measures, developers can create a robust security strategy for a RESTful API in Java,
protecting against a variety of common security threats and ensuring the integrity and confidentiality of data
exchanged through the API
Both JSON and XML have their strengths and weaknesses, and the choice between them often depends on the
specific requirements of the application, the existing ecosystem, and personal or industry preferences.
ii) What are the characteristics of Web Services. [4]
Ans. Web services are software systems designed to enable interoperable machine-to-machine
communication over a network. They have several characteristics that distinguish them and make them well-
suited for distributed computing. Here are the key characteristics of web services:
1. Interoperability:
Web services are designed to work across different platforms, programming languages, and technologies.
They use standardized communication protocols and data formats to ensure seamless interoperability.
2. Standardized Communication:
Web services use standard communication protocols such as HTTP, HTTPS, SOAP (Simple Object Access
Protocol), and REST (Representational State Transfer). These protocols enable consistent and widely
supported interactions between different systems.
3. Loose Coupling:
Web services promote loose coupling between software components. This means that changes in one
part of the system do not necessarily affect other parts. Loose coupling allows for flexibility and easier
maintenance of distributed systems.
4. Reusability:
Web services are designed to be reusable. A service can be used by multiple applications or clients,
promoting a modular and scalable approach to software development.
5. Discoverability:
Many web services can be discovered through directories or repositories, such as UDDI (Universal
Description, Discovery, and Integration). This allows clients to find and understand the capabilities of
available services dynamically.
6. Dynamic Binding:
Web services support dynamic binding, meaning that clients can interact with a service at runtime without
being pre-compiled to a specific implementation. This enhances flexibility and adaptability in distributed
systems.
7. Statelessness:
RESTful web services, in particular, follow the stateless architecture. Each request from a client to a server
contains all the information needed to understand and process the request. This simplifies server
implementation and enhances scalability.
8. Service Description:
Web services are described using standard formats like WSDL (Web Services Description Language).
Service descriptions provide information about the operations, input parameters, output formats, and
communication protocols supported by the service.
9. Platform Independence:
Web services are designed to be platform-independent. They can be developed and deployed on
different operating systems and can communicate across heterogeneous environments.
10. Security:
Security is a crucial characteristic of web services. Various security mechanisms, such as HTTPS for
encryption, authentication methods, and access control, are employed to ensure the confidentiality and
integrity of data exchanged between clients and services.
11. Message-Based Communication:
Web services often rely on message-based communication, where data is exchanged in a structured
format (XML or JSON). This enables easy understanding of the data and facilitates integration between
different systems.
12. Scalability:
Web services can be designed to scale horizontally to handle increasing loads. This scalability is essential
for applications that experience varying levels of demand.
These characteristics collectively make web services a powerful and versatile technology for building distributed
systems, enabling seamless integration and communication between disparate software components and
applications.
b) What is SOAP? Give the structure of SOAP message and explain it. [4]
Ans. SOAP, which stands for Simple Object Access Protocol, is a protocol for exchanging structured
information in web services. It is a standardized messaging protocol that allows programs running on different
operating systems and using different technologies to communicate with each other.
A SOAP message is an XML document that follows a specific structure. It typically consists of the following
components:
1. Envelope:
The <Envelope> element is the root element of a SOAP message. It encapsulates the entire message. It
contains the mandatory attributes such as "xmlns" (namespace) to define the XML namespace for SOAP.
<soap:Envelope xmlns:soap="http://www.w3.org/2003/05/soap-envelope">
<!-- Other elements go here -->
</soap:Envelope>
2. Header:
The <Header> element is optional and contains header information that provides additional details
about the SOAP message. Headers can include information such as authentication tokens, routing details,
or other metadata.
<soap:Header>
<!-- Header elements go here -->
</soap:Header>
3. Body:
The <Body> element is a required element that contains the actual data being sent. It holds the payload
of the message, which could be a request or a response.
<soap:Body>
<!-- Body elements go here -->
</soap:Body>
4. Fault (optional):
The <Fault> element is optional and is used to convey error and status information. It includes details
about any errors that occurred during the processing of the message.
<soap:Fault>
<!-- Fault elements go here -->
</soap:Fault>
Explanation:
Envelope: The <Envelope> element is the outermost element and defines the XML namespace for the SOAP
envelope. It encapsulates the entire SOAP message.
Header: The <Header> element is optional and contains additional information that may be needed for
processing the message. This can include security information, transaction details, or any other application-
specific headers.
Body: The <Body> element is required and contains the actual payload of the message. It holds the data being
sent, which could be a request for a service or the response from a service.
Fault: The <Fault> element is optional and is used to convey error information. If an error occurs during the
processing of the message, the details of the error are included in the <Fault> element.
In summary, a SOAP message follows a hierarchical structure with an envelope containing optional header and
fault elements, and a mandatory body element that holds the actual data being transmitted. The use of XML
provides a standardized and extensible format for communication between different systems and platforms.
1. mustUnderstand:
The mustUnderstand attribute is used to indicate whether the recipient of the header block must
understand and process the header entry. It can have values "true" or "false."
<soap:Header>
<customHeader mustUnderstand="true">
<!-- Header content goes here -->
</customHeader>
</soap:Header>
2. actor:
The actor attribute specifies the role or actor to whom the header block is targeted. It identifies the
intended recipient or intermediaries along the message path.
<soap:Header>
<customHeader actor="http://example.com/actor">
<!-- Header content goes here -->
</customHeader>
</soap:Header>
3. encodingStyle:
The encodingStyle attribute is used to specify the encoding style for the content of the header block. It
indicates how the data within the header should be serialized.
<soap:Header>
<customHeader encodingStyle="http://www.w3.org/2001/12/soap-encoding">
<!-- Header content goes here -->
</customHeader>
</soap:Header>
4. mustUnderstand and actor combination:
The combination of mustUnderstand and actor attributes is often used together to provide more
specific instructions regarding the processing of the header block.
<soap:Header>
<customHeader mustUnderstand="true" actor="http://example.com/actor">
<!-- Header content goes here -->
</customHeader>
</soap:Header>
These attributes help control the behavior of the SOAP header block, specifying whether it is mandatory for the
recipient to understand, identifying the intended recipient (actor), and indicating the encoding style used. The
use of these attributes enhances the flexibility and control over the processing of SOAP messages in a distributed
system.
1. Interface Definition:
In DCOM, communication begins with the definition of interfaces. Interfaces are used to specify the
methods and properties that objects will expose to other components. Interface definition is a crucial
step in DCOM as it establishes a contract for communication.
2. Object Activation:
When a client requests access to a remote object, the DCOM runtime on the server machine activates the
object. Object activation involves creating an instance of the object and preparing it to receive method
calls from clients.
3. Proxy Stubs:
Before a client can invoke methods on a remote object, it needs to have a local representation of the
object. DCOM generates proxy and stub components to facilitate this. The proxy on the client side acts
as a local representative of the remote object, and the stub on the server side handles communication
with the actual object.
4. Marshalling:
Marshalling is the process of packaging method parameters and other relevant information into a format
that can be transmitted over the network. The DCOM runtime takes care of marshalling parameters and
data to ensure that they can be properly transmitted and understood on both the client and server sides.
5. Transport Layer:
DCOM relies on various transport protocols to transmit data between client and server. Historically,
DCOM primarily used protocols like DCOM over RPC (Remote Procedure Call) for communication.
6. Unmarshalling:
On the server side, the DCOM runtime unmarshals the data received over the network, extracting the
method parameters and other relevant information. This prepares the server-side stub to invoke the
appropriate method on the actual object.
7. Method Invocation:
The server-side stub invokes the appropriate method on the actual object, passing the unmarshaled
parameters. The object performs the requested operation, and if there is a return value, it is marshaled
back to the client.
8. Proxy on Client Side:
On the client side, the proxy receives the results of the method invocation and makes them available to
the client application. From the client's perspective, it appears as if the object is a local component, even
though it resides on a remote machine.
9. Lifetime Management:
DCOM includes mechanisms for managing the lifetime of objects. This involves creating and destroying
object instances based on client requests and managing object references to prevent memory leaks.
10. Error Handling:
DCOM provides error-handling mechanisms to manage and propagate errors that may occur during
method invocations. Error information is marshaled back to the client, allowing the client application to
handle exceptions appropriately.
It's important to note that DCOM is a Windows-centric technology, and while it has been widely used in the past,
more modern approaches like web services, RESTful APIs, and other cross-platform technologies are often
preferred for distributed communication in contemporary software development.
While UDDI has played a significant role in the history of web services, its limitations have led to the exploration
of alternative approaches and technologies for service discovery in contemporary distributed systems.
Ans. Web service architecture is a framework that outlines the principles and components involved in
designing, implementing, and consuming web services. Web services are software systems designed to facilitate
communication and interoperability between different applications or systems over a network, typically using
standard web protocols. The architecture of web services typically involves several key components:
1. Service Provider:
The service provider is the entity or organization that creates and exposes web services. It develops the
functionality, defines the service interfaces, and makes the services available for consumption by other
applications or systems.
2. Service Consumer:
The service consumer is the entity or application that accesses and utilizes the functionality provided by
a web service. Service consumers send requests to the service provider and process the responses
received.
3. Service Description:
Web services are described using a standardized service description language, such as WSDL (Web
Services Description Language). The service description provides information about the operations, data
types, and protocols supported by the web service.
4. Communication Protocols:
Web services use standard communication protocols to enable interaction between the service provider
and consumer. Commonly used protocols include HTTP/HTTPS for communication and SOAP (Simple
Object Access Protocol) or REST (Representational State Transfer) for structuring and formatting
messages.
5. Message Format:
The data exchanged between the service provider and consumer is typically structured in a standardized
message format, such as XML (eXtensible Markup Language) or JSON (JavaScript Object Notation). This
allows for the representation of complex data structures in a platform-independent manner.
6. Service Registry:
In some architectures, a service registry or directory may be used to publish and discover available web
services. UDDI (Universal Description, Discovery, and Integration) is an example of a service registry
standard that was widely used in the past.
7. Service Endpoints:
Web services expose endpoints, which are specific URLs or URIs (Uniform Resource Identifiers) through
which they can be accessed. Endpoints are associated with different operations or functions provided by
the service.
8. Service Interface:
The service interface defines the methods or operations that a web service supports. It specifies the input
parameters, output formats, and data types used in the communication between the service provider and
consumer.
9. Security:
Security is a critical aspect of web service architecture. Various security mechanisms, such as SSL/TLS for
encryption, authentication methods, and access control, are employed to ensure the confidentiality,
integrity, and authenticity of data exchanged between clients and services.
10. Middleware:
Middleware components, such as an Enterprise Service Bus (ESB) or service-oriented middleware, may be
used to facilitate communication, routing, and transformation of messages between distributed
components in a web service architecture.
11. Statelessness:
Web services, especially those following the RESTful architectural style, often embrace statelessness. Each
request from a client to a service is independent, and the service does not maintain client state between
requests.
12. Loose Coupling:
Web service architectures promote loose coupling between service providers and consumers. This allows
for flexibility, easier maintenance, and the ability to update or replace individual components without
affecting the entire system.
In summary, web service architecture provides a standardized framework for building interoperable and
distributed systems. It emphasizes principles such as standardization, loose coupling, and open standards to
enable seamless communication between diverse applications and platforms. The choice of specific architectural
elements may vary based on the requirements and technologies used in a particular implementation.
Ans. Designing RESTful web services involves following certain guidelines and best practices to ensure that
the services are scalable, maintainable, and interoperable. Here are some key design guidelines for building
RESTful web services:
1. Use Descriptive Resource URIs:
Design URIs that are descriptive and represent resources rather than actions. URIs should reflect the
nouns or entities in the system rather than verbs or actions. For example, use /users to represent a
collection of users instead of /getUsers.
2. Use HTTP Methods Appropriately:
Leverage the HTTP methods (GET, POST, PUT, DELETE, etc.) in a manner consistent with their intended
semantics. For instance:
Use GET for retrieving a resource.
Use POST for creating a new resource.
Use PUT for updating an existing resource.
Use DELETE for deleting a resource.
3. Resource Naming Conventions:
Choose consistent and intuitive resource names. Use plural nouns for resource names to represent
collections (e.g., /users for a collection of users) and singular nouns for individual resources (e.g.,
/user/123 for a specific user).
4. Use HTTP Status Codes:
Utilize appropriate HTTP status codes to indicate the result of a request. For example, use 200 OK for
successful responses, 201 Created for successful resource creation, 404 Not Found for resource not found,
and 500 Internal Server Error for server errors.
5. Versioning:
If versioning is necessary, include the version information in the URI or headers. This helps in managing
changes to the API while ensuring backward compatibility. For example:
/v1/users or Accept: application/vnd.myapi.v1+json
6. Use Content Negotiation:
Support content negotiation by allowing clients to specify the desired representation format (e.g., JSON
or XML) using the Accept header. Similarly, use the Content-Type header to indicate the format of data
in requests.
7. Stateless Communication:
RESTful services should be stateless, meaning that each request from a client contains all the information
necessary for the server to fulfill the request. Avoid storing client state on the server between requests.
8. HATEOAS (Hypermedia as the Engine of Application State):
Implement HATEOAS to provide hypermedia links in the responses, allowing clients to discover and
navigate through the available resources and actions dynamically.
9. Use Query Parameters for Filtering and Pagination:
Use query parameters to enable clients to filter, sort, and paginate results. For example, use
/users?role=admin&sort=name&page=1 to filter users with the 'admin' role, sorted by name, and
paginated.
10. Handle Errors Appropriately:
Provide meaningful error messages in the response payload with details about the error. Include error
codes and descriptions to assist developers in troubleshooting issues.
11. Security Considerations:
Implement proper security measures, including authentication and authorization mechanisms. Use HTTPS
for secure communication, and avoid exposing sensitive information in URLs.
12. Documentation:
Provide comprehensive and clear documentation for the API, including details about available resources,
endpoints, request and response formats, and usage examples. This helps developers understand and
use the API effectively.
By adhering to these design guidelines, developers can create RESTful web services that are consistent,
predictable, and user-friendly, promoting ease of use and integration with client applications.
c) Describe UDDI data structure and their relationships with figure. [5]
Ans. 1 Data structure overview This chapter describes the semantics of the data structures that are specified
by the UDDI API Schema. Refinements that are specific to individual APIs are described in Chapter 5 UDDI
Programmers API’s. As described in Section 1.6 Representing Information within UDDI, the information that
makes up a UDDI registry consists of instances of four core data structure types, the businessEntity, the
businessService, the bindingTemplate and the tModel, together with instances of additional data structure types
defined in the UDDI API Schema. The four core types and their relationships are shown in a simplified diagram
in Figure 1 and are explained in detail in this chapter.
Figure 1 - UDDI core data structures The schema also defines a number of request and response structures, each
of which contain the core structures, references to the core structures, or summary versions of them; see Chapter
5 UDDI Programmers API’s for details
//////////////////////////////////////////////////////////////////////////////////////////////////////////////////