D WSDL Specifications

Web Services Description Language (WSDL) is an XML format for describing network services containing RPC-oriented and message-oriented information. Programmers or automated development tools can create WSDL files to describe a service and can make the description available over the Internet. Client-side programmers and development tools can use published WSDL specifications to obtain information about available Web services and to build and create proxies or program templates that access available services.

This appendix provides the WSDL descriptions of the Oracle SES Web Services APIs:

Query Web Service API

<definitions name="OracleSearchService"
             targetNamespace="http://oracle.search.query.webservice/OracleSearchService.wsdl"
             xmlns:typens="http://oes.oracle.com/OracleSearch"
             xmlns:tns="http://oracle.search.query.webservice/OracleSearchService.wsdl"
             xmlns:xsd="http://www.w3.org/2001/XMLSchema"
             xmlns:soap="http://schemas.xmlsoap.org/wsdl/soap/"
             xmlns:soapenc="http://schemas.xmlsoap.org/soap/encoding/"
             xmlns:wsdl="http://schemas.xmlsoap.org/wsdl/"
             xmlns="http://schemas.xmlsoap.org/wsdl/">
 
  <!-- Types for search - result elements, directory categories -->
 
  <types>
    <xsd:schema
            xmlns="http://www.w3.org/2001/XMLSchema"
            targetNamespace="http://oes.oracle.com/OracleSearch"
            xmlns:soapenc="http://schemas.xmlsoap.org/soap/encoding/"        
>
 
      <xsd:complexType name="OracleSearchResult">
        <xsd:all>
          <xsd:element name="returnCount"       type="xsd:boolean"/>
          <xsd:element name="estimatedHitCount" type="xsd:int"/>
          <xsd:element name="dupRemoved"        type="xsd:boolean"/>
          <xsd:element name="dupMarked"         type="xsd:boolean"/>
          <xsd:element name="resultElements"    type="typens:ResultElementArray"/>
          <xsd:element name="suggestedLinks"    type="typens:SuggestedLinkArray"/>
          <xsd:element name="query"             type="xsd:string"/>
          <xsd:element name="altKeywords"       type="xsd:string"/>
          <xsd:element name="startIndex"        type="xsd:int"/>
          <xsd:element name="docsReturned"      type="xsd:int"/>
 
        </xsd:all>
      </xsd:complexType>
 
      <xsd:complexType name="ResultElement">
        <xsd:all>
          <xsd:element name="author" type="xsd:string"/>
          <xsd:element name="description" type="xsd:string"/>
          <xsd:element name="url" type="xsd:string"/>
          <xsd:element name="snippet" type="xsd:string"/>
          <xsd:element name="title" type="xsd:string"/>
          <xsd:element name="lastModified" type="xsd:date"/>
          <xsd:element name="mimetype" type="xsd:string"/>
          <xsd:element name="score" type="xsd:int"/>
          <xsd:element name="docID" type="xsd:int"/>
          <xsd:element name="language" type="xsd:string"/>
          <xsd:element name="contentLength" type="xsd:int"/>
          <xsd:element name="signature" type="xsd:long"/>
          <xsd:element name="infoSourceID" type="xsd:string"/>
          <xsd:element name="infoSourcePath" type="xsd:string"/>
          <xsd:element name="groups" type="typens:DataGroupArray"/>
          <xsd:element name="isDuplicate" type="xsd:boolean"/>
          <xsd:element name="hasDuplicate" type="xsd:boolean"/>
          <xsd:element name="fedID" type="xsd:string"/>
          <xsd:element name="customAttributes" type="typens:CustomAttributeArray"/>
        </xsd:all>
      </xsd:complexType>
 
      <xsd:complexType name="ResultElementArray">
        <xsd:complexContent>
          <xsd:restriction base="soapenc:Array">
             <xsd:attribute ref="soapenc:arrayType" wsdl:arrayType="typens:ResultElement[]"/>
          </xsd:restriction>
        </xsd:complexContent>
      </xsd:complexType>
 
      <xsd:complexType name="CustomAttribute">
        <xsd:all>
          <xsd:element name="name"      type="xsd:string"/>
          <xsd:element name="value"     type="xsd:string"/>
        </xsd:all>
      </xsd:complexType>
 
      <xsd:complexType name="CustomAttributeArray">
        <xsd:complexContent>
          <xsd:restriction base="soapenc:Array">
             <xsd:attribute ref="soapenc:arrayType" wsdl:arrayType="typens:CustomAttribute[]"/>
          </xsd:restriction>
        </xsd:complexContent>
      </xsd:complexType>
 
      <xsd:complexType name="SuggestedLink">
        <xsd:all>
          <xsd:element name="title"      type="xsd:string"/>
          <xsd:element name="url"     type="xsd:string"/>
        </xsd:all>
      </xsd:complexType>
 
      <xsd:complexType name="SuggestedLinkArray">
        <xsd:complexContent>
          <xsd:restriction base="soapenc:Array">
             <xsd:attribute ref="soapenc:arrayType" wsdl:arrayType="typens:SuggestedLink[]"/>
          </xsd:restriction>
        </xsd:complexContent>
      </xsd:complexType>
 
      <xsd:complexType name="DataGroup">
        <xsd:all>
          <xsd:element name="groupID" type="xsd:int"/>
          <xsd:element name="groupName" type="xsd:string"/>
          <xsd:element name="groupDisplayName" type="xsd:string"/>
        </xsd:all>
      </xsd:complexType>
 
      <xsd:complexType name="DataGroupArray">
        <xsd:complexContent>
          <xsd:restriction base="soapenc:Array">
            <xsd:sequence>
              <xsd:element maxOccurs="unbounded" minOccurs="0" name="item" type="typens:DataGroup"/>
            </xsd:sequence>
            <xsd:attribute ref="soapenc:arrayType" wsdl:arrayType="typens:DataGroup[]"/>
          </xsd:restriction>
        </xsd:complexContent>
      </xsd:complexType>
 
      <xsd:complexType name="Language">
        <xsd:all>
          <xsd:element name="languageName" type="xsd:string"/>
          <xsd:element name="languageDisplayName" type="xsd:string"/>
        </xsd:all>
      </xsd:complexType>
 
      <xsd:complexType name="LanguageArray">
        <xsd:complexContent>
          <xsd:restriction base="soapenc:Array">
            <xsd:sequence>
              <xsd:element maxOccurs="unbounded" minOccurs="0" name="item" type="typens:Language"/>
            </xsd:sequence>
            <xsd:attribute ref="soapenc:arrayType" wsdl:arrayType="typens:Language[]"/>
          </xsd:restriction>
        </xsd:complexContent>
      </xsd:complexType>
 
      <xsd:complexType name="SessionContextElement">
        <xsd:all>
          <xsd:element name="name" type="xsd:string"/>
          <xsd:element name="value" type="xsd:string"/>
        </xsd:all>
      </xsd:complexType>
 
      <xsd:complexType name="SessionContextElementArray">
        <xsd:complexContent>
          <xsd:restriction base="soapenc:Array">
            <xsd:sequence>
              <xsd:element maxOccurs="unbounded" minOccurs="0" name="item" type="typens:SessionContextElement"/>
            </xsd:sequence>
            <xsd:attribute ref="soapenc:arrayType" wsdl:arrayType="typens:SessionContextElement[]"/>
          </xsd:restriction>
        </xsd:complexContent>
      </xsd:complexType>
 
 
      <xsd:complexType name="FilterArray">
         <xsd:complexContent>
           <xsd:restriction base="soapenc:Array">
             <xsd:sequence>
               <xsd:element maxOccurs="unbounded" minOccurs="0" name="item" type="typens:Filter"/>
             </xsd:sequence>
             <xsd:attribute ref="soapenc:arrayType" wsdl:arrayType="typens:Filter[]"/>
           </xsd:restriction>
         </xsd:complexContent>
      </xsd:complexType>
 
      <xsd:complexType name="Filter">
          <xsd:all>
            <xsd:element name="attributeId"     type="xsd:int"/>
            <xsd:element name="attributeType"   type="xsd:string"/>
            <xsd:element name="operator"        type="xsd:string"/>
            <xsd:element name="attributeValue   "type="xsd:string"/>
        </xsd:all>
      </xsd:complexType>
 
 
      <xsd:complexType name="StringArray">
        <xsd:complexContent>
          <xsd:restriction base="soapenc:Array">
            <xsd:attribute ref="soapenc:arrayType" wsdl:arrayType="xsd:string[]"/>
          </xsd:restriction>
        </xsd:complexContent>
      </xsd:complexType>
 
      <xsd:complexType name="IntArray">
        <xsd:complexContent>
          <xsd:restriction base="soapenc:Array">
            <xsd:attribute ref="soapenc:arrayType" wsdl:arrayType="xsd:int[]"/>
          </xsd:restriction>
        </xsd:complexContent>
      </xsd:complexType>
 
 
      <xsd:complexType name="Status">
        <xsd:all>
          <xsd:element name="status"   type="xsd:string"/>
          <xsd:element name="message"  type="xsd:string"/>
        </xsd:all>
      </xsd:complexType>
 
      <xsd:complexType name="Node">
        <xsd:all>
          <xsd:element name="id"            type="xsd:string"/>
          <xsd:element name="fedId"         type="xsd:string"/>
          <xsd:element name="name"          type="xsd:string"/>
          <xsd:element name="docCount"      type="xsd:int"/>
          <xsd:element name="hasChildren"   type="xsd:boolean"/>
          <xsd:element name="fullpath"      type="typens:StringArray"/>
          <xsd:element name="fullpathIds"   type="typens:StringArray"/>
        </xsd:all>
      </xsd:complexType>
 
      <xsd:complexType name="NodeArray">
        <xsd:complexContent>
          <xsd:restriction base="soapenc:Array">
            <xsd:attribute ref="soapenc:arrayType" wsdl:arrayType="typens:Node[]"/>
          </xsd:restriction>       
        </xsd:complexContent>
      </xsd:complexType>
 
      <xsd:complexType name="Attribute">
        <xsd:all>
            <xsd:element name="id"      type="xsd:int"/>
            <xsd:element name="name"    type="xsd:string"/>
            <xsd:element name="displayName"     type="xsd:string"/>
            <xsd:element name="type"    type="xsd:string"/>
        </xsd:all>     
      </xsd:complexType>
 
      <xsd:complexType name="AttributeArray">
        <xsd:complexContent>
          <xsd:restriction base="soapenc:Array">
            <xsd:attribute ref="soapenc:arrayType" wsdl:arrayType="typens:Attribute[]"/>
          </xsd:restriction>
        </xsd:complexContent>
      </xsd:complexType>   
 
      <xsd:complexType name="AttributeLOVElement">
        <xsd:all>
          <xsd:element name="value"             type="xsd:string"/>
          <xsd:element name="displayValue"      type="xsd:string"/>
        </xsd:all>
      </xsd:complexType>
 
      <xsd:complexType name="AttributeLOVElementArray">
        <xsd:complexContent>
          <xsd:restriction base="soapenc:Array">
            <xsd:attribute ref="soapenc:arrayType" wsdl:arrayType="typens:AttributeLOVElement[]"/>
          </xsd:restriction>
        </xsd:complexContent>
      </xsd:complexType>  
    
      <xsd:complexType name="SCElement">
        <xsd:all>
          <xsd:element name="name"              type="xsd:string"/>
          <xsd:element name="content"   type="xsd:base64Binary"/>
        </xsd:all>
      </xsd:complexType>
 
      <xsd:complexType name="SCElementArray">
        <xsd:complexContent>
          <xsd:restriction base="soapenc:Array">
            <xsd:attribute ref="soapenc:arrayType" wsdl:arrayType="typens:SCElement[]"/>
          </xsd:restriction>
        </xsd:complexContent>
      </xsd:complexType>
    </xsd:schema>
    
  </types>
 
 
 
  <!-- Messages for Oracle Secure Enterprise Search Web Service APIs -->
 
  <message name="doOracleSearch">
    <part name="query"              type="xsd:string"/>
    <part name="startIndex"         type="xsd:int"/>
    <part name="docsRequested"      type="xsd:int"/>
    <part name="dupRemoved"         type="xsd:boolean"/>
    <part name="dupMarked"          type="xsd:boolean"/>
    <part name="groups"             type="typens:DataGroupArray"/>
    <part name="queryLang"          type="xsd:string"/>
    <part name="docLang"            type="xsd:string"/>
    <part name="returnCount"        type="xsd:boolean"/>
    <part name="filterConnector"    type="xsd:string"/>
    <part name="filters"            type="typens:FilterArray"/>
    <part name="fetchAttributes"    type="typens:IntArray"/>
  </message>
 
  <message name="doOracleSearchResponse">
    <part name="return"         type="typens:OracleSearchResult"/>
  </message>
 
  <message name="doOracleSimpleSearch">
    <part name="query"              type="xsd:string"/>
    <part name="startIndex"         type="xsd:int"/>
    <part name="docsRequested"      type="xsd:int"/>
    <part name="dupRemoved"         type="xsd:boolean"/>
    <part name="dupMarked"          type="xsd:boolean"/>
    <part name="returnCount"        type="xsd:boolean"/>
  </message>
 
  <message name="doOracleSimpleSearchResponse">
    <part name="return"         type="typens:OracleSearchResult"/>
  </message>
 
  <message name="doOracleBrowseSearch">
    <part name="query"              type="xsd:string"/>
    <part name="nodeID"             type="xsd:string"/>
    <part name="fedID"              type="xsd:string"/>
    <part name="startIndex"         type="xsd:int"/>
    <part name="docsRequested"      type="xsd:int"/>
    <part name="dupRemoved"         type="xsd:boolean"/>
    <part name="dupMarked"          type="xsd:boolean"/>
    <part name="queryLang"          type="xsd:string"/>
    <part name="docLang"            type="xsd:string"/>
    <part name="returnCount"        type="xsd:boolean"/>
    <part name="fetchAttributes"    type="typens:IntArray"/>
  </message>
 
  <message name="doOracleBrowseSearchResponse">
    <part name="return"         type="typens:OracleSearchResult"/>
  </message>
 
  <message name="doOracleAdvancedSearch">
    <part name="query"              type="xsd:string"/>
    <part name="startIndex"         type="xsd:int"/>
    <part name="docsRequested"      type="xsd:int"/>
    <part name="dupRemoved"         type="xsd:boolean"/>
    <part name="dupMarked"          type="xsd:boolean"/>
    <part name="groups"             type="typens:DataGroupArray"/>
    <part name="queryLang"          type="xsd:string"/>
    <part name="docLang"            type="xsd:string"/>
    <part name="returnCount"        type="xsd:boolean"/>
    <part name="filterConnector"    type="xsd:string"/>
    <part name="filters"            type="typens:FilterArray"/>
    <part name="fetchAttributes"    type="typens:IntArray"/>
    <part name="searchControls"     type="xsd:string"/>
  </message>
 
  <message name="doOracleAdvancedSearchResponse">
    <part name="return"         type="typens:OracleSearchResult"/>
  </message>
 
 
  <message name="proxyLoginRequest">
    <part name="username"            type="xsd:string"/>
    <part name="password"            type="xsd:string"/>
    <part name="searchUser"            type="xsd:string"/>
  </message>
 
  <message name="loginRequest">
    <part name="username"            type="xsd:string"/>
    <part name="password"            type="xsd:string"/>
  </message>
 
  <message name="loginResponse">
    <part name="return          "type="typens:Status"/>
  </message>
 
  <message name="logoutRequest">
  </message>
 
  <message name="logoutResponse">
    <part name="return          "type="typens:Status"/>
  </message>
 
  <message name="setSessionContextRequest">
    <part name="sessionContext"     type="typens:SessionContextElementArray"/>
  </message>
 
  <message name="setSearchUserRequest">
    <part name="username"            type="xsd:string"/>
  </message>
 
  <message name="setSessionContextResponse">
    <part name="return"             type="typens:Status"/>
  </message>
 
  <message name="setSearchUserResponse">
    <part name="return          "type="typens:Status"/>
  </message>
 
  <message name="getCachedPage">
    <part name="query"            type="xsd:string"/>
    <part name="docID"            type="xsd:int"/>
    <part name="fedID"            type="xsd:string"/>
  </message>
 
  <message name="getCachedPageResponse">
    <part name="return"           type="xsd:base64Binary"/>
  </message>
 
 
  <message name="getInLinksRequest">
    <part name="docID   "          type="xsd:int"/>
    <part name="maxNum  "          type="xsd:int"/>
    <part name="fedID"            type="xsd:string"/>
  </message>
 
  <message name="getInLinksResponse">
    <part name="return"           type="typens:StringArray"/>
  </message>
 
  <message name="getOutLinksRequest">
    <part name="docID"            type="xsd:int"/>
    <part name="maxNum"           type="xsd:int"/>
    <part name="fedID"            type="xsd:string"/>
  </message>
 
  <message name="getOutLinksResponse">
    <part name="return"           type="typens:StringArray"/>
  </message>
 
  <message name="submitUrlRequest">
     <part name="Url"             type="xsd:string"/>
  </message>
 
  <message name="submitUrlResponse">
     <part name="return"          type="typens:Status"/>
  </message>
 
  <message name="getInfoSourceNodesRequest">
    <part name="parentNodeID            "type="xsd:string"/>
    <part name="fedID           "        type="xsd:string"/>
    <part name="locale          "        type="xsd:string"/>
  </message>
 
  <message name="getInfoSourceNodesResponse">
    <part name="nodes"    type="typens:NodeArray"/>
  </message>
 
  <message name="getInfoSourceAncestorNodesRequest">
    <part name="nodeID          "type="xsd:string"/>
    <part name="locale          "type="xsd:string"/>
  </message>
 
  <message name="getInfoSourceAncestorNodesResponse">
    <part name="nodes"    type="typens:NodeArray"/>
  </message>
 
  <message name="getInfoSourceNodeRequest">
    <part name="nodeID          "type="xsd:string"/>
    <part name="fedID           "type="xsd:string"/>
    <part name="locale          "type="xsd:string"/>
  </message>
 
  <message name="getInfoSourceNodeResponse">
    <part name="node"    type="typens:Node"/>
  </message>
 
 
  <message name="getLanguagesRequest">
    <part name="locale          "        type="xsd:string"/>
  </message>
 
  <message name="getLanguagesResponse">
    <part name="return"                 type="typens:LanguageArray"/>
  </message>
 
  <message name="getDataGroupsRequest">
    <part name="locale          "        type="xsd:string"/>
  </message>
 
  <message name="getDataGroupsResponse">
    <part name="groups"                 type="typens:DataGroupArray"/>
  </message>
 
  <message name="getAttributesRequest">
    <part name="locale          "        type="xsd:string"/>
    <part name="groups          "        type="typens:DataGroupArray"/>
    <part name="groupConnector"         type="xsd:string"/>
  </message>
 
  <message name="getAttributesResponse">
    <part name="return"                 type="typens:AttributeArray"/>
  </message>
 
  <message name="getAllAttributesRequest">
    <part name="locale          "        type="xsd:string"/>
  </message>
 
  <message name="getAllAttributesResponse">
    <part name="return"                 type="typens:AttributeArray"/>
  </message>
 
  <message name="getAttributeLOVRequest">
    <part name="attribute               "type="typens:Attribute"/>
    <part name="locale          "        type="xsd:string"/>
  </message>
 
  <message name="getAttributeLOVResponse">
    <part name="return"                 type="typens:AttributeLOVElementArray"/>
  </message>
 
  <message name="logUserClickRequest">
    <part name="queryID         "type="xsd:int"/>
    <part name="urlID           "        type="xsd:int"/>
    <part name="infoSourceID    "        type="xsd:int"/>
    <part name="position        "        type="xsd:int"/>
    <part name="fedID"                  type="xsd:string"/>
  </message>
 
  <message name="logUserClickResponse">
    <part name="url"                    type="xsd:string"/>
  </message>
 
  <message name="getSuggestedContent">
    <part name="query           "        type="xsd:string"/>
    <part name="returnType      "        type="xsd:string"/>
  </message>
 
  <message name="getSuggestedContentResponse">
    <part name="return"                 type="typens:SCElementArray"/>
  </message>
 
  <!-- Port for Oracle SES Web Service APIs, "OracleSearch" -->
 
  <portType name="OracleSearchPort">
 
    <operation name="proxyLogin">
      <input message="tns:proxyLoginRequest"/>
      <output message="tns:loginResponse"/>
    </operation>
 
    <operation name="login">
      <input message="tns:loginRequest"/>
      <output message="tns:loginResponse"/>
    </operation>
 
    <operation name="logout">
      <input message="tns:logoutRequest"/>
      <output message="tns:logoutResponse"/>
    </operation>
 
    <operation name="setSessionContext">
      <input message="tns:setSessionContextRequest"/>
      <output message="tns:setSessionContextResponse"/>
    </operation>
 
    <operation name="setSearchUser">
      <input message="tns:setSearchUserRequest"/>
      <output message="tns:setSearchUserResponse"/>
    </operation>
 
    <operation name="getCachedPage">
      <input message="tns:getCachedPage"/>
      <output message="tns:getCachedPageResponse"/>
    </operation>
 
    <operation name="doOracleSearch">
      <input message="tns:doOracleSearch"/>
      <output message="tns:doOracleSearchResponse"/>
    </operation>
 
    <operation name="doOracleSimpleSearch">
      <input message="tns:doOracleSimpleSearch"/>
      <output message="tns:doOracleSimpleSearchResponse"/>
    </operation>
 
    <operation name="doOracleBrowseSearch">
      <input message="tns:doOracleBrowseSearch"/>
      <output message="tns:doOracleBrowseSearchResponse"/>
    </operation>
 
    <operation name="doOracleAdvancedSearch">
      <input message="tns:doOracleAdvancedSearch"/>
      <output message="tns:doOracleAdvancedSearchResponse"/>
    </operation>
 
    <operation name="getDataGroups">
      <input message="tns:getDataGroupsRequest"/>
      <output message="tns:getDataGroupsResponse"/>
    </operation>
 
    <operation name="getAttributes">
        <input message="tns:getAttributesRequest"/>
        <output message="tns:getAttributesResponse"/>
    </operation>
 
    <operation name="getAllAttributes">
        <input message="tns:getAllAttributesRequest"/>
        <output message="tns:getAllAttributesResponse"/>
    </operation>
 
    <operation name="getAttributeLOV">
        <input message="tns:getAttributeLOVRequest"/>
        <output message="tns:getAttributeLOVResponse"/>
    </operation>
 
    <operation name="getLanguages">
        <input message="tns:getLanguagesRequest"/>
        <output message="tns:getLanguagesResponse"/>
    </operation>
 
    <operation name="getInLinks">
        <input message="tns:getInLinksRequest"/>
        <output message="tns:getInLinksResponse"/>
    </operation>
 
    <operation name="getOutLinks">
        <input message="tns:getOutLinksRequest"/>
        <output message="tns:getOutLinksResponse"/>
    </operation>
 
    <operation name="submitUrl">
        <input message="tns:submitUrlRequest"/>
        <output message="tns:submitUrlResponse"/>
    </operation>
 
    <operation name="getInfoSourceNodes">
        <input message="tns:getInfoSourceNodesRequest"/>
        <output message="tns:getInfoSourceNodesResponse"/>
    </operation>
 
    <operation name="getInfoSourceAncestorNodes">
        <input message="tns:getInfoSourceAncestorNodesRequest"/>
        <output message="tns:getInfoSourceAncestorNodesResponse"/>
    </operation>
 
    <operation name="getInfoSourceNode">
        <input message="tns:getInfoSourceNodeRequest"/>
        <output message="tns:getInfoSourceNodeResponse"/>
    </operation>
 
    <operation name="logUserClick">
        <input message="tns:logUserClickRequest"/>
        <output message="tns:logUserClickResponse"/>
    </operation>
 
    <operation name="getSuggestedContent">
        <input message="tns:getSuggestedContent"/>
        <output message="tns:getSuggestedContentResponse"/>
    </operation>
    
  </portType>
 
  <!-- Binding for Oracle SES Web Service APIs - RPC, SOAP over HTTP -->
 
  <binding name="OracleSearchBinding" type="tns:OracleSearchPort">
    <soap:binding style="rpc"
                  transport="http://schemas.xmlsoap.org/soap/http"/>
 
    <operation name="setSearchUser">
      <soap:operation soapAction="http://oes.oracle.com/OracleSearch/action"/>
      <input>
        <soap:body use="encoded"
                   namespace="http://oes.oracle.com/OracleSearch"
                   encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"/>
      </input>
      <output>
        <soap:body use="encoded"
                   namespace="http://oes.oracle.com/OracleSearch"
                   encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"/>
      </output>
    </operation>
 
    <operation name="proxyLogin">
      <soap:operation soapAction="http://oes.oracle.com/OracleSearch/action"/>
      <input>
        <soap:body use="encoded"
                   namespace="http://oes.oracle.com/OracleSearch"
                   encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"/>
      </input>
      <output>
        <soap:body use="encoded"
                   namespace="http://oes.oracle.com/OracleSearch"
                   encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"/>
      </output>
    </operation>
 
    <operation name="login">
      <soap:operation soapAction=""/>
      <input>
        <soap:body use="encoded"
                   namespace="OracleSearchService"
                   encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"/>
      </input>
      <output>
        <soap:body use="encoded"
                   namespace="OracleSearchService"
                   encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"/>
      </output>
    </operation>
 
    <operation name="logout">
      <soap:operation soapAction=""/>
      <input>
        <soap:body use="encoded"
                   namespace="OracleSearchService"
                   encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"/>
      </input>
      <output>
        <soap:body use="encoded"
                   namespace="OracleSearchService"
                   encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"/>
      </output>
    </operation>
 
    <operation name="setSessionContext">
      <soap:operation soapAction=""/>
      <input>
        <soap:body use="encoded"
                   namespace="OracleSearchService"
                   encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"/>
      </input>
      <output>
        <soap:body use="encoded"
                   namespace="OracleSearchService"
                   encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"/>
      </output>
    </operation>
 
    <operation name="getCachedPage">
      <soap:operation soapAction=""/>
      <input>
        <soap:body use="encoded"
                   namespace="OracleSearchService"
                   encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"/>
      </input>
      <output>
        <soap:body use="encoded"
                   namespace="OracleSearchService"
                   encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"/>
      </output>
    </operation>
 
    <operation name="doOracleSearch">
      <soap:operation soapAction=""/>
      <input>
        <soap:body use="encoded"
                   namespace="OracleSearchService"
                   encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"/>
      </input>
      <output>
        <soap:body use="encoded"
                   namespace="OracleSearchService"
                   encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"/>
      </output>
    </operation>
 
    <operation name="doOracleSimpleSearch">
      <soap:operation soapAction=""/>
      <input>
        <soap:body use="encoded"
                   namespace="OracleSearchService"
                   encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"/>
      </input>
      <output>
        <soap:body use="encoded"
                   namespace="OracleSearchService"
                   encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"/>
      </output>
    </operation>
 
    <operation name="doOracleBrowseSearch">
      <soap:operation soapAction=""/>
      <input>
        <soap:body use="encoded"
                   namespace="OracleSearchService"
                   encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"/>
      </input>
      <output>
        <soap:body use="encoded"
                   namespace="OracleSearchService"
                   encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"/>
      </output>
    </operation>
 
    <operation name="doOracleAdvancedSearch">
      <soap:operation soapAction=""/>
      <input>
        <soap:body use="encoded"
                   namespace="OracleSearchService"
                   encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"/>
      </input>
      <output>
        <soap:body use="encoded"
                   namespace="OracleSearchService"
                   encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"/>
      </output>
    </operation>
 
 
    <operation name="getDataGroups">
        <soap:operation soapAction=""/>
        <input>
          <soap:body use="encoded"
              namespace="OracleSearchService"
              encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"/>
      </input>
      <output>
        <soap:body use="encoded"
                         namespace="OracleSearchService"
                         encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"/>
      </output>
    </operation>
 
    <operation name="getAttributes">
        <soap:operation soapAction=""/>
        <input>
          <soap:body use="encoded"
                         namespace="OracleSearchService"
                         encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"/>
        </input>
        <output>
          <soap:body use="encoded"
                         namespace="OracleSearchService"
                         encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"/>
        </output>
    </operation>
 
    <operation name="getAllAttributes">
        <soap:operation soapAction=""/>
        <input>
          <soap:body use="encoded"
                         namespace="OracleSearchService"
                         encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"/>
        </input>
        <output>
          <soap:body use="encoded"
                         namespace="OracleSearchService"
                         encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"/>
        </output>
    </operation>
 
    <operation name="getAttributeLOV">
        <soap:operation soapAction=""/>
        <input>
          <soap:body use="encoded"
                         namespace="OracleSearchService"
                         encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"/>
        </input>
        <output>
          <soap:body use="encoded"
                         namespace="OracleSearchService"
                         encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"/>
        </output>
    </operation>      
 
    <operation name="getLanguages">
        <soap:operation soapAction=""/>
        <input>
          <soap:body use="encoded"
                         namespace="OracleSearchService"
                         encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"/>
        </input>
        <output>
          <soap:body use="encoded"
                         namespace="OracleSearchService"
                         encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"/>
        </output>
    </operation>
    <operation name="getInLinks">
        <soap:operation soapAction=""/>
        <input>
          <soap:body use="encoded"
                         namespace="OracleSearchService"
                       encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"/>
        </input>
        <output>
          <soap:body use="encoded"
                         namespace="OracleSearchService"
                         encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"/>
        </output>
    </operation>
    <operation name="getOutLinks">
        <soap:operation soapAction=""/>
        <input>
          <soap:body use="encoded"
                         namespace="OracleSearchService"
                       encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"/>
        </input>
        <output>
          <soap:body use="encoded"
                         namespace="OracleSearchService"
                         encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"/>
        </output>
    </operation>          
    <operation name="submitUrl">
        <soap:operation soapAction=""/>
        <input>
          <soap:body use="encoded"
                         namespace="OracleSearchService"
                         encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"/>
        </input>
        <output>
          <soap:body use="encoded"
                         namespace="OracleSearchService"
                         encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"/>
        </output>
    </operation>
    <operation name="getInfoSourceNodes">
        <soap:operation soapAction=""/>
        <input>
          <soap:body use="encoded"
                         namespace="OracleSearchService"
                         encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"/>
        </input>
        <output>
          <soap:body use="encoded"
                         namespace="OracleSearchService"
                         encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"/>
        </output>
    </operation>
    <operation name="getInfoSourceAncestorNodes">
        <soap:operation soapAction=""/>
        <input>
          <soap:body use="encoded"
                         namespace="OracleSearchService"
                         encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"/>
        </input>
        <output>
          <soap:body use="encoded"
                         namespace="OracleSearchService"
                         encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"/>
        </output>
    </operation>
    <operation name="getInfoSourceNode">
        <soap:operation soapAction=""/>
        <input>
          <soap:body use="encoded"
                         namespace="OracleSearchService"
                         encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"/>
        </input>
        <output>
          <soap:body use="encoded"
                         namespace="OracleSearchService"
                         encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"/>
        </output>
    </operation>
 
    <operation name="logUserClick">
        <soap:operation soapAction=""/>
        <input>
          <soap:body use="encoded"
                         namespace="OracleSearchService"
                         encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"/>
        </input>
        <output>
          <soap:body use="encoded"
                         namespace="OracleSearchService"
                         encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"/>
        </output>
    </operation>
 
    <operation name="getSuggestedContent">
        <soap:operation soapAction=""/>
        <input>
          <soap:body use="encoded"
                         namespace="OracleSearchService"
                         encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"/>
        </input>
        <output>
          <soap:body use="encoded"
                         namespace="OracleSearchService"
                         encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"/>
        </output>
    </operation>
    
  </binding>
 
  <!-- Endpoint for Oracle SES Web Service APIs -->
  <service name="OracleSearchService">
    <port name="OracleSearchPort" binding="tns:OracleSearchBinding">
      <soap:address location="http://myserver:7777/search/query/OracleSearch"/>
    </port>
  </service>
 
</definitions>

Admin Web Service API

<?xml version="1.0" encoding="UTF-8" ?>
<definitions
     name="OracleSearchAdminService"
     targetNamespace="http://search.oracle.com/AdminService/2006-09-15"
     xmlns="http://schemas.xmlsoap.org/wsdl/"
     xmlns:tns="http://search.oracle.com/AdminService/2006-09-15"
     xmlns:mime="http://schemas.xmlsoap.org/wsdl/mime/"
     xmlns:soap12="http://schemas.xmlsoap.org/wsdl/soap12/"
     xmlns:xsd="http://www.w3.org/2001/XMLSchema"
     xmlns:soap="http://schemas.xmlsoap.org/wsdl/soap/"
    >
    <types>
        <schema xmlns="http://www.w3.org/2001/XMLSchema" targetNamespace="http://search.oracle.com/AdminService/2006-09-15"
             elementFormDefault="qualified" xmlns:tns="http://search.oracle.com/AdminService/2006-09-15"
             xmlns:wsdl="http://schemas.xmlsoap.org/wsdl/" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
             xmlns:soap11-enc="http://schemas.xmlsoap.org/soap/encoding/">
            <complexType name="getEstimatedIndexFragmentation">
                <sequence/>
            </complexType>
            <complexType name="getEstimatedIndexFragmentationResponse">
                <sequence>
                    <element name="result" type="int"/>
                </sequence>
            </complexType>
            <complexType name="getScheduleStatus">
                <sequence>
                    <element name="name" type="string" nillable="true"/>
                    <element name="locale" type="string" nillable="true"/>
                </sequence>
            </complexType>
            <complexType name="getScheduleStatusResponse">
                <sequence>
                    <element name="result" type="tns:ScheduleStatus" nillable="true"/>
                </sequence>
            </complexType>
            <complexType name="ScheduleStatus">
                <sequence>
                    <element name="nextCrawl" type="dateTime" nillable="true"/>
                    <element name="status" type="string" nillable="true"/>
                    <element name="lastCrawled" type="dateTime" nillable="true"/>
                    <element name="translatedStatus" type="string" nillable="true"/>
                    <element name="errorLog" type="string" nillable="true"/>
                </sequence>
            </complexType>
            <complexType name="getSchedules">
                <sequence>
                    <element name="locale" type="string" nillable="true"/>
                </sequence>
            </complexType>
            <complexType name="getSchedulesResponse">
                <sequence>
                    <element name="result" type="tns:Schedule" nillable="true" minOccurs="0" maxOccurs="unbounded"/>
                </sequence>
            </complexType>
            <complexType name="Schedule">
                <sequence>
                    <element name="currentStatus" type="tns:ScheduleStatus" nillable="true"/>
                    <element name="assignedSources" type="string" nillable="true" minOccurs="0" maxOccurs="unbounded"/>
                    <element name="name" type="string" nillable="true"/>
                </sequence>
            </complexType>
            <complexType name="login">
                <sequence>
                    <element name="username" type="string" nillable="true"/>
                    <element name="pwd" type="string" nillable="true"/>
                </sequence>
            </complexType>
            <complexType name="loginResponse">
                <sequence/>
            </complexType>
            <complexType name="logout">
                <sequence/>
            </complexType>
            <complexType name="logoutResponse">
                <sequence/>
            </complexType>
            <complexType name="optimizeIndexNow">
                <sequence/>
            </complexType>
            <complexType name="optimizeIndexNowResponse">
                <sequence/>
            </complexType>
            <complexType name="startSchedule">
                <sequence>
                    <element name="name" type="string" nillable="true"/>
                </sequence>
            </complexType>
            <complexType name="startScheduleResponse">
                <sequence/>
            </complexType>
            <complexType name="stopSchedule">
                <sequence>
                    <element name="name" type="string" nillable="true"/>
                </sequence>
            </complexType>
            <complexType name="stopScheduleResponse">
                <sequence/>
            </complexType>
            <element name="getEstimatedIndexFragmentationElement" type="tns:getEstimatedIndexFragmentation"/>
            <element name="getEstimatedIndexFragmentationResponseElement" type="tns:getEstimatedIndexFragmentationResponse"/>
            <element name="getScheduleStatusElement" type="tns:getScheduleStatus"/>
            <element name="getScheduleStatusResponseElement" type="tns:getScheduleStatusResponse"/>
            <element name="getSchedulesElement" type="tns:getSchedules"/>
            <element name="getSchedulesResponseElement" type="tns:getSchedulesResponse"/>
            <element name="loginElement" type="tns:login"/>
            <element name="loginResponseElement" type="tns:loginResponse"/>
            <element name="logoutElement" type="tns:logout"/>
            <element name="logoutResponseElement" type="tns:logoutResponse"/>
            <element name="optimizeIndexNowElement" type="tns:optimizeIndexNow"/>
            <element name="optimizeIndexNowResponseElement" type="tns:optimizeIndexNowResponse"/>
            <element name="startScheduleElement" type="tns:startSchedule"/>
            <element name="startScheduleResponseElement" type="tns:startScheduleResponse"/>
            <element name="stopScheduleElement" type="tns:stopSchedule"/>
            <element name="stopScheduleResponseElement" type="tns:stopScheduleResponse"/>
        </schema>
    </types>
    <message name="OracleSearchAdminService_getEstimatedIndexFragmentation">
        <part name="parameters" element="tns:getEstimatedIndexFragmentationElement"/>
    </message>
    <message name="OracleSearchAdminService_getEstimatedIndexFragmentationResponse">
        <part name="parameters" element="tns:getEstimatedIndexFragmentationResponseElement"/>
    </message>
    <message name="OracleSearchAdminService_getScheduleStatus">
        <part name="parameters" element="tns:getScheduleStatusElement"/>
    </message>
    <message name="OracleSearchAdminService_getScheduleStatusResponse">
        <part name="parameters" element="tns:getScheduleStatusResponseElement"/>
    </message>
    <message name="OracleSearchAdminService_getSchedules">
        <part name="parameters" element="tns:getSchedulesElement"/>
    </message>
    <message name="OracleSearchAdminService_getSchedulesResponse">
        <part name="parameters" element="tns:getSchedulesResponseElement"/>
    </message>
    <message name="OracleSearchAdminService_login">
        <part name="parameters" element="tns:loginElement"/>
    </message>
    <message name="OracleSearchAdminService_loginResponse">
        <part name="parameters" element="tns:loginResponseElement"/>
    </message>
    <message name="OracleSearchAdminService_logout">
        <part name="parameters" element="tns:logoutElement"/>
    </message>
    <message name="OracleSearchAdminService_logoutResponse">
        <part name="parameters" element="tns:logoutResponseElement"/>
    </message>
    <message name="OracleSearchAdminService_optimizeIndexNow">
        <part name="parameters" element="tns:optimizeIndexNowElement"/>
    </message>
    <message name="OracleSearchAdminService_optimizeIndexNowResponse">
        <part name="parameters" element="tns:optimizeIndexNowResponseElement"/>
    </message>
    <message name="OracleSearchAdminService_startSchedule">
        <part name="parameters" element="tns:startScheduleElement"/>
    </message>
    <message name="OracleSearchAdminService_startScheduleResponse">
        <part name="parameters" element="tns:startScheduleResponseElement"/>
    </message>
    <message name="OracleSearchAdminService_stopSchedule">
        <part name="parameters" element="tns:stopScheduleElement"/>
    </message>
    <message name="OracleSearchAdminService_stopScheduleResponse">
        <part name="parameters" element="tns:stopScheduleResponseElement"/>
    </message>
    <portType name="OracleSearchAdmin">
        <operation name="getEstimatedIndexFragmentation">
            <input message="tns:OracleSearchAdminService_getEstimatedIndexFragmentation"/>
            <output message="tns:OracleSearchAdminService_getEstimatedIndexFragmentationResponse"/>
        </operation>
        <operation name="getScheduleStatus">
            <input message="tns:OracleSearchAdminService_getScheduleStatus"/>
            <output message="tns:OracleSearchAdminService_getScheduleStatusResponse"/>
        </operation>
        <operation name="getSchedules">
            <input message="tns:OracleSearchAdminService_getSchedules"/>
            <output message="tns:OracleSearchAdminService_getSchedulesResponse"/>
        </operation>
        <operation name="login">
            <input message="tns:OracleSearchAdminService_login"/>
            <output message="tns:OracleSearchAdminService_loginResponse"/>
        </operation>
        <operation name="logout">
            <input message="tns:OracleSearchAdminService_logout"/>
            <output message="tns:OracleSearchAdminService_logoutResponse"/>
        </operation>
        <operation name="optimizeIndexNow">
            <input message="tns:OracleSearchAdminService_optimizeIndexNow"/>
            <output message="tns:OracleSearchAdminService_optimizeIndexNowResponse"/>
        </operation>
        <operation name="startSchedule">
            <input message="tns:OracleSearchAdminService_startSchedule"/>
            <output message="tns:OracleSearchAdminService_startScheduleResponse"/>
        </operation>
        <operation name="stopSchedule">
            <input message="tns:OracleSearchAdminService_stopSchedule"/>
            <output message="tns:OracleSearchAdminService_stopScheduleResponse"/>
        </operation>
    </portType>
    <binding name="SearchAdminSoapBinding" type="tns:OracleSearchAdmin">
        <soap:binding style="document" transport="http://schemas.xmlsoap.org/soap/http"/>
        <operation name="getEstimatedIndexFragmentation">
            <soap:operation soapAction="http://search.oracle.com/AdminService/2006-09-15/getEstimatedIndexFragmentation"/>
            <input>
                <soap:body use="literal" parts="parameters"/>
            </input>
            <output>
                <soap:body use="literal" parts="parameters"/>
            </output>
        </operation>
        <operation name="getScheduleStatus">
            <soap:operation soapAction="http://search.oracle.com/AdminService/2006-09-15/getScheduleStatus"/>
            <input>
                <soap:body use="literal" parts="parameters"/>
            </input>
            <output>
                <soap:body use="literal" parts="parameters"/>
            </output>
        </operation>
        <operation name="getSchedules">
            <soap:operation soapAction="http://search.oracle.com/AdminService/2006-09-15/getSchedules"/>
            <input>
                <soap:body use="literal" parts="parameters"/>
            </input>
            <output>
                <soap:body use="literal" parts="parameters"/>
            </output>
        </operation>
        <operation name="login">
            <soap:operation soapAction="http://search.oracle.com/AdminService/2006-09-15/login"/>
            <input>
                <soap:body use="literal" parts="parameters"/>
            </input>
            <output>
                <soap:body use="literal" parts="parameters"/>
            </output>
        </operation>
        <operation name="logout">
            <soap:operation soapAction="http://search.oracle.com/AdminService/2006-09-15/logout"/>
            <input>
                <soap:body use="literal" parts="parameters"/>
            </input>
            <output>
                <soap:body use="literal" parts="parameters"/>
            </output>
        </operation>
        <operation name="optimizeIndexNow">
            <soap:operation soapAction="http://search.oracle.com/AdminService/2006-09-15/optimizeIndexNow"/>
            <input>
                <soap:body use="literal" parts="parameters"/>
            </input>
            <output>
                <soap:body use="literal" parts="parameters"/>
            </output>
        </operation>
        <operation name="startSchedule">
            <soap:operation soapAction="http://search.oracle.com/AdminService/2006-09-15/startSchedule"/>
            <input>
                <soap:body use="literal" parts="parameters"/>
            </input>
            <output>
                <soap:body use="literal" parts="parameters"/>
            </output>
        </operation>
        <operation name="stopSchedule">
            <soap:operation soapAction="http://search.oracle.com/AdminService/2006-09-15/stopSchedule"/>
            <input>
                <soap:body use="literal" parts="parameters"/>
            </input>
            <output>
                <soap:body use="literal" parts="parameters"/>
            </output>
        </operation>
    </binding>
    <service name="OracleSearchAdminService">
        <port name="SearchAdmin" binding="tns:SearchAdminSoapBinding">
            <soap:address location="REPLACE_WITH_ACTUAL_URL"/>
        </port>
    </service>
</definitions>