package oracle.demo.pts.fusionproxy.userservice;

import com.oracle.xmlns.adf.svc.types.ObjAttrHints;
import com.oracle.xmlns.adf.svc.types.ServiceViewInfo;
import com.oracle.xmlns.apps.hcm.people.roles.userdetailsservicev2.UserDetailsResult;

import java.util.List;

import javax.jws.Oneway;
import javax.jws.WebMethod;
import javax.jws.WebParam;
import javax.jws.WebResult;
import javax.jws.WebService;

import javax.xml.bind.annotation.XmlSeeAlso;
import javax.xml.datatype.XMLGregorianCalendar;
import javax.xml.ws.Action;
import javax.xml.ws.FaultAction;
import javax.xml.ws.RequestWrapper;
import javax.xml.ws.ResponseWrapper;

import sdo.commonj.java.ObjectFactory;
// !DO NOT EDIT THIS FILE!
// This source file is generated by Oracle tools
// Contents may be subject to change
// For reporting problems, use the following
// Version = Oracle WebServices (11.1.1.0.0, build 130224.1947.04102)

@WebService(wsdlLocation="https://dummy.oracleads.com:443/hcmPeopleRolesV2/UserDetailsService?WSDL",
  targetNamespace="http://xmlns.oracle.com/apps/hcm/people/roles/userDetailsServiceV2/",
  name="UserDetailsService")
@XmlSeeAlso(
  { ObjectFactory.class, com.oracle.xmlns.oracleas.schema.oracle_fault_11_0.ObjectFactory.class, com.oracle.xmlns.adf.svc.types.ObjectFactory.class, sdo.commonj.ObjectFactory.class, com.oracle.xmlns.apps.hcm.people.roles.userdetailsservicev2.types.ObjectFactory.class, sdo.commonj.xml.ObjectFactory.class, com.oracle.xmlns.adf.svc.errors.ObjectFactory.class, com.oracle.xmlns.apps.hcm.people.roles.userdetailsservicev2.ObjectFactory.class })
public interface UserDetailsService
{
  @WebMethod(action="http://xmlns.oracle.com/apps/hcm/people/roles/userDetailsServiceV2/findUserDetailsByUsername")
  @Action(input="http://xmlns.oracle.com/apps/hcm/people/roles/userDetailsServiceV2/findUserDetailsByUsername", fault =
      { @FaultAction(value="http://xmlns.oracle.com/apps/hcm/people/roles/userDetailsServiceV2/UserDetailsService/findUserDetailsByUsername/Fault/ServiceException",
          className = ServiceException.class) }, output="http://xmlns.oracle.com/apps/hcm/people/roles/userDetailsServiceV2/UserDetailsService/findUserDetailsByUsernameResponse")
  @ResponseWrapper(localName="findUserDetailsByUsernameResponse",
    targetNamespace="http://xmlns.oracle.com/apps/hcm/people/roles/userDetailsServiceV2/types/",
    className="com.oracle.xmlns.apps.hcm.people.roles.userdetailsservicev2.types.FindUserDetailsByUsernameResponse")
  @RequestWrapper(localName="findUserDetailsByUsername", targetNamespace="http://xmlns.oracle.com/apps/hcm/people/roles/userDetailsServiceV2/types/",
    className="com.oracle.xmlns.apps.hcm.people.roles.userdetailsservicev2.types.FindUserDetailsByUsername")
  @WebResult(targetNamespace="http://xmlns.oracle.com/apps/hcm/people/roles/userDetailsServiceV2/types/",
    name="result")
  public UserDetailsResult findUserDetailsByUsername(@WebParam(targetNamespace="http://xmlns.oracle.com/apps/hcm/people/roles/userDetailsServiceV2/types/",
      name="Username")
    String username)
    throws ServiceException;

  @WebMethod(action="http://xmlns.oracle.com/apps/hcm/people/roles/userDetailsServiceV2/findUserDetailsByPersonNumber")
  @Action(input="http://xmlns.oracle.com/apps/hcm/people/roles/userDetailsServiceV2/findUserDetailsByPersonNumber", fault =
      { @FaultAction(value="http://xmlns.oracle.com/apps/hcm/people/roles/userDetailsServiceV2/UserDetailsService/findUserDetailsByPersonNumber/Fault/ServiceException",
          className = ServiceException.class) }, output="http://xmlns.oracle.com/apps/hcm/people/roles/userDetailsServiceV2/UserDetailsService/findUserDetailsByPersonNumberResponse")
  @ResponseWrapper(localName="findUserDetailsByPersonNumberResponse",
    targetNamespace="http://xmlns.oracle.com/apps/hcm/people/roles/userDetailsServiceV2/types/",
    className="com.oracle.xmlns.apps.hcm.people.roles.userdetailsservicev2.types.FindUserDetailsByPersonNumberResponse")
  @RequestWrapper(localName="findUserDetailsByPersonNumber",
    targetNamespace="http://xmlns.oracle.com/apps/hcm/people/roles/userDetailsServiceV2/types/",
    className="com.oracle.xmlns.apps.hcm.people.roles.userdetailsservicev2.types.FindUserDetailsByPersonNumber")
  @WebResult(targetNamespace="http://xmlns.oracle.com/apps/hcm/people/roles/userDetailsServiceV2/types/",
    name="result")
  public UserDetailsResult findUserDetailsByPersonNumber(@WebParam(targetNamespace="http://xmlns.oracle.com/apps/hcm/people/roles/userDetailsServiceV2/types/",
      name="PersonNumber")
    String personNumber)
    throws ServiceException;

  @WebMethod(action="http://xmlns.oracle.com/apps/hcm/people/roles/userDetailsServiceV2/findUserDetailsByPersonId")
  @Action(input="http://xmlns.oracle.com/apps/hcm/people/roles/userDetailsServiceV2/findUserDetailsByPersonId", fault =
      { @FaultAction(value="http://xmlns.oracle.com/apps/hcm/people/roles/userDetailsServiceV2/UserDetailsService/findUserDetailsByPersonId/Fault/ServiceException",
          className = ServiceException.class) }, output="http://xmlns.oracle.com/apps/hcm/people/roles/userDetailsServiceV2/UserDetailsService/findUserDetailsByPersonIdResponse")
  @ResponseWrapper(localName="findUserDetailsByPersonIdResponse",
    targetNamespace="http://xmlns.oracle.com/apps/hcm/people/roles/userDetailsServiceV2/types/",
    className="com.oracle.xmlns.apps.hcm.people.roles.userdetailsservicev2.types.FindUserDetailsByPersonIdResponse")
  @RequestWrapper(localName="findUserDetailsByPersonId", targetNamespace="http://xmlns.oracle.com/apps/hcm/people/roles/userDetailsServiceV2/types/",
    className="com.oracle.xmlns.apps.hcm.people.roles.userdetailsservicev2.types.FindUserDetailsByPersonId")
  @WebResult(targetNamespace="http://xmlns.oracle.com/apps/hcm/people/roles/userDetailsServiceV2/types/",
    name="result")
  public UserDetailsResult findUserDetailsByPersonId(@WebParam(targetNamespace="http://xmlns.oracle.com/apps/hcm/people/roles/userDetailsServiceV2/types/",
      name="PersonId")
    long personId)
    throws ServiceException;

  @WebMethod(action="http://xmlns.oracle.com/apps/hcm/people/roles/userDetailsServiceV2/findSelfUserDetails")
  @Action(input="http://xmlns.oracle.com/apps/hcm/people/roles/userDetailsServiceV2/findSelfUserDetails", fault =
      { @FaultAction(value="http://xmlns.oracle.com/apps/hcm/people/roles/userDetailsServiceV2/UserDetailsService/findSelfUserDetails/Fault/ServiceException",
          className = ServiceException.class) }, output="http://xmlns.oracle.com/apps/hcm/people/roles/userDetailsServiceV2/UserDetailsService/findSelfUserDetailsResponse")
  @ResponseWrapper(localName="findSelfUserDetailsResponse",
    targetNamespace="http://xmlns.oracle.com/apps/hcm/people/roles/userDetailsServiceV2/types/",
    className="com.oracle.xmlns.apps.hcm.people.roles.userdetailsservicev2.types.FindSelfUserDetailsResponse")
  @RequestWrapper(localName="findSelfUserDetails", targetNamespace="http://xmlns.oracle.com/apps/hcm/people/roles/userDetailsServiceV2/types/",
    className="com.oracle.xmlns.apps.hcm.people.roles.userdetailsservicev2.types.FindSelfUserDetails")
  @WebResult(targetNamespace="http://xmlns.oracle.com/apps/hcm/people/roles/userDetailsServiceV2/types/",
    name="result")
  public UserDetailsResult findSelfUserDetails()
    throws ServiceException;

  @WebMethod(action="http://xmlns.oracle.com/apps/hcm/people/roles/userDetailsServiceV2/findUserDetailsByPersonIdAsync")
  @Action(input="http://xmlns.oracle.com/apps/hcm/people/roles/userDetailsServiceV2/findUserDetailsByPersonIdAsync")
  @RequestWrapper(localName="findUserDetailsByPersonIdAsync",
    targetNamespace="http://xmlns.oracle.com/apps/hcm/people/roles/userDetailsServiceV2/types/",
    className="com.oracle.xmlns.apps.hcm.people.roles.userdetailsservicev2.types.FindUserDetailsByPersonIdAsync")
  @Oneway
  public void findUserDetailsByPersonIdAsync(@WebParam(targetNamespace="http://xmlns.oracle.com/apps/hcm/people/roles/userDetailsServiceV2/types/",
      name="PersonId")
    long personId);

  @WebMethod(action="http://xmlns.oracle.com/apps/hcm/people/roles/userDetailsServiceV2/findSelfUserDetailsAsync")
  @Action(input="http://xmlns.oracle.com/apps/hcm/people/roles/userDetailsServiceV2/findSelfUserDetailsAsync")
  @RequestWrapper(localName="findSelfUserDetailsAsync", targetNamespace="http://xmlns.oracle.com/apps/hcm/people/roles/userDetailsServiceV2/types/",
    className="com.oracle.xmlns.apps.hcm.people.roles.userdetailsservicev2.types.FindSelfUserDetailsAsync")
  @Oneway
  public void findSelfUserDetailsAsync();

  @WebMethod(action="http://xmlns.oracle.com/apps/hcm/people/roles/userDetailsServiceV2/findUserDetailsByUsernameAsync")
  @Action(input="http://xmlns.oracle.com/apps/hcm/people/roles/userDetailsServiceV2/findUserDetailsByUsernameAsync")
  @RequestWrapper(localName="findUserDetailsByUsernameAsync",
    targetNamespace="http://xmlns.oracle.com/apps/hcm/people/roles/userDetailsServiceV2/types/",
    className="com.oracle.xmlns.apps.hcm.people.roles.userdetailsservicev2.types.FindUserDetailsByUsernameAsync")
  @Oneway
  public void findUserDetailsByUsernameAsync(@WebParam(targetNamespace="http://xmlns.oracle.com/apps/hcm/people/roles/userDetailsServiceV2/types/",
      name="Username")
    String username);

  @WebMethod(action="http://xmlns.oracle.com/apps/hcm/people/roles/userDetailsServiceV2/findUserDetailsByPersonNumberAsync")
  @Action(input="http://xmlns.oracle.com/apps/hcm/people/roles/userDetailsServiceV2/findUserDetailsByPersonNumberAsync")
  @RequestWrapper(localName="findUserDetailsByPersonNumberAsync",
    targetNamespace="http://xmlns.oracle.com/apps/hcm/people/roles/userDetailsServiceV2/types/",
    className="com.oracle.xmlns.apps.hcm.people.roles.userdetailsservicev2.types.FindUserDetailsByPersonNumberAsync")
  @Oneway
  public void findUserDetailsByPersonNumberAsync(@WebParam(targetNamespace="http://xmlns.oracle.com/apps/hcm/people/roles/userDetailsServiceV2/types/",
      name="PersonNumber")
    String personNumber);

  @WebMethod(action="http://xmlns.oracle.com/apps/hcm/people/roles/userDetailsServiceV2/getDfltObjAttrHints")
  @Action(input="http://xmlns.oracle.com/apps/hcm/people/roles/userDetailsServiceV2/getDfltObjAttrHints", fault =
      { @FaultAction(value="http://xmlns.oracle.com/apps/hcm/people/roles/userDetailsServiceV2/UserDetailsService/getDfltObjAttrHints/Fault/ServiceException",
          className = ServiceException.class) }, output="http://xmlns.oracle.com/apps/hcm/people/roles/userDetailsServiceV2/UserDetailsService/getDfltObjAttrHintsResponse")
  @ResponseWrapper(localName="getDfltObjAttrHintsResponse",
    targetNamespace="http://xmlns.oracle.com/apps/hcm/people/roles/userDetailsServiceV2/types/",
    className="com.oracle.xmlns.apps.hcm.people.roles.userdetailsservicev2.types.GetDfltObjAttrHintsResponse")
  @RequestWrapper(localName="getDfltObjAttrHints", targetNamespace="http://xmlns.oracle.com/apps/hcm/people/roles/userDetailsServiceV2/types/",
    className="com.oracle.xmlns.apps.hcm.people.roles.userdetailsservicev2.types.GetDfltObjAttrHints")
  @WebResult(targetNamespace="http://xmlns.oracle.com/apps/hcm/people/roles/userDetailsServiceV2/types/",
    name="result")
  public ObjAttrHints getDfltObjAttrHints(@WebParam(targetNamespace="http://xmlns.oracle.com/apps/hcm/people/roles/userDetailsServiceV2/types/",
      name="viewName")
    String viewName, @WebParam(targetNamespace="http://xmlns.oracle.com/apps/hcm/people/roles/userDetailsServiceV2/types/",
      name="localeName")
    String localeName)
    throws ServiceException;

  @WebMethod(action="http://xmlns.oracle.com/apps/hcm/people/roles/userDetailsServiceV2/getServiceLastUpdateTime")
  @Action(input="http://xmlns.oracle.com/apps/hcm/people/roles/userDetailsServiceV2/getServiceLastUpdateTime", fault =
      { @FaultAction(value="http://xmlns.oracle.com/apps/hcm/people/roles/userDetailsServiceV2/UserDetailsService/getServiceLastUpdateTime/Fault/ServiceException",
          className = ServiceException.class) }, output="http://xmlns.oracle.com/apps/hcm/people/roles/userDetailsServiceV2/UserDetailsService/getServiceLastUpdateTimeResponse")
  @ResponseWrapper(localName="getServiceLastUpdateTimeResponse",
    targetNamespace="http://xmlns.oracle.com/apps/hcm/people/roles/userDetailsServiceV2/types/",
    className="com.oracle.xmlns.apps.hcm.people.roles.userdetailsservicev2.types.GetServiceLastUpdateTimeResponse")
  @RequestWrapper(localName="getServiceLastUpdateTime", targetNamespace="http://xmlns.oracle.com/apps/hcm/people/roles/userDetailsServiceV2/types/",
    className="com.oracle.xmlns.apps.hcm.people.roles.userdetailsservicev2.types.GetServiceLastUpdateTime")
  @WebResult(targetNamespace="http://xmlns.oracle.com/apps/hcm/people/roles/userDetailsServiceV2/types/",
    name="result")
  public XMLGregorianCalendar getServiceLastUpdateTime()
    throws ServiceException;

  @WebMethod(action="http://xmlns.oracle.com/apps/hcm/people/roles/userDetailsServiceV2/getEntityList")
  @Action(input="http://xmlns.oracle.com/apps/hcm/people/roles/userDetailsServiceV2/getEntityList", fault =
      { @FaultAction(value="http://xmlns.oracle.com/apps/hcm/people/roles/userDetailsServiceV2/UserDetailsService/getEntityList/Fault/ServiceException",
          className = ServiceException.class) }, output="http://xmlns.oracle.com/apps/hcm/people/roles/userDetailsServiceV2/UserDetailsService/getEntityListResponse")
  @ResponseWrapper(localName="getEntityListResponse", targetNamespace="http://xmlns.oracle.com/apps/hcm/people/roles/userDetailsServiceV2/types/",
    className="com.oracle.xmlns.apps.hcm.people.roles.userdetailsservicev2.types.GetEntityListResponse")
  @RequestWrapper(localName="getEntityList", targetNamespace="http://xmlns.oracle.com/apps/hcm/people/roles/userDetailsServiceV2/types/",
    className="com.oracle.xmlns.apps.hcm.people.roles.userdetailsservicev2.types.GetEntityList")
  @WebResult(targetNamespace="http://xmlns.oracle.com/apps/hcm/people/roles/userDetailsServiceV2/types/",
    name="result")
  public List<ServiceViewInfo> getEntityList()
    throws ServiceException;

  @WebMethod(action="http://xmlns.oracle.com/apps/hcm/people/roles/userDetailsServiceV2/getEntityListAsync")
  @Action(input="http://xmlns.oracle.com/apps/hcm/people/roles/userDetailsServiceV2/getEntityListAsync")
  @RequestWrapper(localName="getEntityListAsync", targetNamespace="http://xmlns.oracle.com/apps/hcm/people/roles/userDetailsServiceV2/types/",
    className="com.oracle.xmlns.apps.hcm.people.roles.userdetailsservicev2.types.GetEntityListAsync")
  @Oneway
  public void getEntityListAsync();

  @WebMethod(action="http://xmlns.oracle.com/apps/hcm/people/roles/userDetailsServiceV2/getDfltObjAttrHintsAsync")
  @Action(input="http://xmlns.oracle.com/apps/hcm/people/roles/userDetailsServiceV2/getDfltObjAttrHintsAsync")
  @RequestWrapper(localName="getDfltObjAttrHintsAsync", targetNamespace="http://xmlns.oracle.com/apps/hcm/people/roles/userDetailsServiceV2/types/",
    className="com.oracle.xmlns.apps.hcm.people.roles.userdetailsservicev2.types.GetDfltObjAttrHintsAsync")
  @Oneway
  public void getDfltObjAttrHintsAsync(@WebParam(targetNamespace="http://xmlns.oracle.com/apps/hcm/people/roles/userDetailsServiceV2/types/",
      name="viewName")
    String viewName, @WebParam(targetNamespace="http://xmlns.oracle.com/apps/hcm/people/roles/userDetailsServiceV2/types/",
      name="localeName")
    String localeName);

  @WebMethod(action="http://xmlns.oracle.com/apps/hcm/people/roles/userDetailsServiceV2/getServiceLastUpdateTimeAsync")
  @Action(input="http://xmlns.oracle.com/apps/hcm/people/roles/userDetailsServiceV2/getServiceLastUpdateTimeAsync")
  @RequestWrapper(localName="getServiceLastUpdateTimeAsync",
    targetNamespace="http://xmlns.oracle.com/apps/hcm/people/roles/userDetailsServiceV2/types/",
    className="com.oracle.xmlns.apps.hcm.people.roles.userdetailsservicev2.types.GetServiceLastUpdateTimeAsync")
  @Oneway
  public void getServiceLastUpdateTimeAsync();
}
