36 Understanding Web Services

This chapter introduces web services and explains how they work with WebCenter Sites. It describes what is supplied. As a standard part of the WebCenter Sites product, web services require no additional installation or configuration.

This chapter contains the following sections:

Note:

The following feature is deprecated in WebCenter Sites 11g Release 1 (11.1.1.8.0): SOAP-based web services. This feature is replaced by REST services.

36.1 What Are Web Services?

WebCenter Sites enables you to create, deploy, and publish your own web services, as well as consume web services from other applications. Web services, which are a collection of operations that are accessible via standard XML messaging over the Internet, enable data exchange independent of the programming language, operating system, or hardware used by a given target system. With regard to WebCenter Sites, web services provide a standard means to expose content and functionality for consumption by remote applications, including ERP (enterprise resource planning), CRM (customer relationship management), and commerce systems.

36.2 SOAP and Web Services

Integration between WebCenter Sites and other applications is accomplished by transforming data using HTTP and XML data formats. The key XML format for web services is SOAP (Simple Object Access Protocol). SOAP is a W3C specification that extends HTTP to enable distributed applications to make remote-procedure calls (RPCs) over the Internet. As a language, SOAP defines the XML elements used to describe the parameters, return values, and so on required for RPC-style interactions. SOAP messages are transmitted point-to-point and handled in request-and-response fashion. WebCenter Sites, which supports SOAP, can exchange data with any application that has a SOAP interface. When processing SOAP requests, WebCenter Sites leverages its native support for XML and its efficient page-evaluation and delivery mechanisms

Note:

WebCenter Sites uses the JWSDP (Sun) implementation for web services. If the application server where WebCenter Sites is installed also has its own web services implementations, there will be conflicts with the SOAP MessageFactory. To resolve the conflicts, you must set a default MessageFactory via VM parameters before starting the application server. With the default set, WebCenter Sites can determine which MessageFactory to use for WebCenter Sites web services.

For example:

JBoss comes with its own web services. If you wish to use JBoss's MessageFactory for other reasons and also use WebCenter Sites web services, you must set the default MessageFactory to that of JBoss as follows:

-Djavax.xml.soap.MessageFactory=org.jboss.ws.core.soap.MessageFactoryImpl

If you need only WebCenter Sites web services, set the default MessageFactory as follows:

-Djavax.xml.soap.MessageFactory=com.sun.xml.messaging.saaj.soap.ver1_1.SOAPMessageFactory1_1Impl

36.3 Supported SOAP Version

WebCenter Sites supports SOAP 1.1. You will need to know the capabilities and limitations of the SOAP protocol to write web services for WebCenter Sites. SOAP standard syntax is described in detail at the W3C website:

http://www.w3.org

36.4 Supported WSDL Version

WSDL (web services description language) is an XML format that describes distributed services on the Internet. A WSDL file describes the location of the service and the data to be passed in messages for particular operations. With regard to WebCenter Sites, these messages contain procedure-oriented information.

WebCenter Sites supports WSDL 1.1. You will need to understand the web services description language to write web services for WebCenter Sites and use the predefined WSDL files shipped with WebCenter Sites. The SOAP standard syntax is described in detail at the following W3C website:

http://www.w3.org/TR/wsdl.html

36.5 Related Programming Technologies

To write web services for WebCenter Sites, you should have a basic understanding of some or all of the following related technologies:

  • XML

  • SOAP

  • WSDL

  • JSP

  • Java

  • J2EE (Java 2)

  • .Net