SPML web service provisioning from OIM 9.1.0.1 using the OOTB GTCframework

Hello there,
There is a .NET web service client which is successfully able to access the weblogic application server wsdl from oim 9101 and it can see the complete user profile as a response from the same.
1.) Now, there is a situation where oim needs to send some attribute values to that .NET web service client, after the data from their side comes to OIM and updates a single attribute values for e.g. PIN. How can we do that ?
2.) and I want to add some UDFs into the existing SPML provisioning user profile. How can I do that ?
3.) Also, how will OIM know that it was able to successfully send the attribute values to the web service client.
http://download.oracle.com/docs/cd/E10391_01/doc.910/e10360/creategtc.htm#Toc153968032
I have gone through this. I didnt found this in OIM 9101.
Any ideas/references/clues/hints appreciated in this concern.
Thanks in advance,
- oidm.

In the entire thread many experts have given nice queries in different formats...
The best approach would be to open up the SQL Developer, connect with the OIM Database and experiment with all sorts of SQL queries provided by all the experts..
Learn some SQL techniques, like Inner Join etc...
Then you yourself will be able to figure out what you need, in exactly which format, for which users and for whom you have to restrict
Then not only this question, you would be able to solve dozens of similar such issues yourself...
And trust me, nothing can match that...
Just in case, you are not familiar with SQL Developer,
http://www.oracle.com/technetwork/developer-tools/sql-developer/downloads/index.html
Oracle SQL Developer 3.2.1 (3.2.10.09.57)
September 24, 2012
The Disabled DATE will be the creation date of that entry in the UPA_FIELDS table when Users.Status changed to Disabled.
SELECT USR.USR_LOGIN, UPA_FIELDS.CREATE_DATE
FROM UPA_FIELDS
WHERE UPA_FIELDS.FIELD_NAME='Users.Status'
AND UPA_FIELDS.FIELD_NEW_VALUE='Disabled'
AND UPA_FIELDS.UPA_USR_KEY=USR.USR_KEY
AND USR.USR_LOGIN NOT IN ('XELSYSADM', 'XELOPERATOR', 'WEBLOGIC');

Similar Messages

  • Error while calling SPML web service call in OIM 11g

    Hi,
    While testing the SPML web service call, I am getting the "failure in security check" errors.
    And I have attached the request and responce .
    Request:
    <soap:Envelope xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/">
    <soap:Header xmlns:ns1="urn:names:spml:ws:header">
    <ns1:ServiceHeader>
    <ns1:serviceId/>
    </ns1:ServiceHeader>
    <wsse:Security soap:mustUnderstand="1" xmlns:wsse="http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-wssecurity-secext-1.0.xsd">
    <wsse:UsernameToken>
    <wsse:Username>xelsysadm</wsse:Username>
    <wsse:Password Type="http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-username-token-profile-1.0#PasswordText">XXXXXXXX</wsse:Password>
    </wsse:UsernameToken>
    </wsse:Security>
    </soap:Header>
    <soap:Body xmlns:ns2="http://xmlns.oracle.com/idm/identity/spmlv2custom/Username">
    <ns2:validateUsernameRequest xmlns:ns3="urn:oasis:names:tc:SPML:2:0" requestID="12345" executionMode="synchronous" locale="en" policyURI="http://www.sample.com/string/string">
    <ns2:capabilityData mustUnderstand="true" capabilityURI="urn:oasis:names:tc:SPML:2:0:reference"/>
    <ns2:username>TCS1000</ns2:username>
    </ns2:validateUsernameRequest>
    </soap:Body>
    </soap:Envelope
    Response:
    <env:Envelope xmlns:env="http://schemas.xmlsoap.org/soap/envelope/">
    <env:Header/>
    <env:Body>
    <env:Fault xmlns:ns0="http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-wssecurity-secext-1.0.xsd">
    <faultcode>ns0:FailedCheck</faultcode>
    <faultstring>FailedCheck : failure in security check</faultstring>
    <faultactor/>
    </env:Fault>
    </env:Body>
    </env:Envelope>
    I have attached the log file from OIM
    ####<Apr 26, 2012 10:27:13 AM EDT> <Error> <oracle.wsm.resources.enforcement> <corwloimhd01> <dev-oim_oim_server01> <[ACTIVE] ExecuteThread: '0' for queue: 'weblogic.kernel.Default (self-tuning)'> <<anonymous>> <> <214014dca901f288:-460ab67b:136eeab0662:-7ffd-0000000000000838> <1335450433058> <WSM-07501> <Failure in Oracle WSM Agent processRequest, category=security, function=agent.function.service, application=spml-xsd, composite=null, modelObj=SPMLService, policy=oracle/wss11_saml_or_username_token_with_message_protection_service_policy, policyVersion=1, assertionName={http://schemas.oracle.com/ws/2006/01/securitypolicy}wss11-username-with-certificates.>
    ####<Apr 26, 2012 10:27:13 AM EDT> <Notice> <Stdout> <corwloimhd01> <dev-oim_oim_server01> <[ACTIVE] ExecuteThread: '0' for queue: 'weblogic.kernel.Default (self-tuning)'> <<WLS Kernel>> <> <214014dca901f288:-460ab67b:136eeab0662:-7ffd-000000000000083d> <1335450433058> <BEA-000000> <<Apr 26, 2012 10:27:13 AM EDT> <Error> <oracle.wsm.resources.enforcement> <WSM-07501> <Failure in Oracle WSM Agent processRequest, category=security, function=agent.function.service, application=spml-xsd, composite=null, modelObj=SPMLService, policy=oracle/wss11_saml_or_username_token_with_message_protection_service_policy, policyVersion=1, assertionName={http://schemas.oracle.com/ws/2006/01/securitypolicy}wss11-username-with-certificates.>>
    Please help me how to solve this issue.
    Thanks in advance
    Siva

    Your business logic has to be implemented by using OIM APIS. oimclient.jar..
    you can then expose these business functions accordingly using a webservice or rest ...
    for business logic refer:-
    http://docs.oracle.com/cd/E27559_01/dev.1112/e27150/apis.htm#OMDEV734
    You will basicsally have to deal with UserManager class for managing users.
    java API:
    http://docs.oracle.com/cd/E27559_01/apirefs.1112/e28159/toc.htm

  • Trouble Calling Web Service Function From Runbook

    i have downloaded the OrchestratorServiceModule web services module from CodePlex and i am successfully using it in runbooks.  But for some reason when i call the runbook from another runbook, the Get-OrchestratorRunbook function returns no data
    ($runbook variable is $null).   The error message states the runbook name that i provide "is not found in Orchestrator".    This function works well when the runbook is called directly.   The variables
    are populated.  $creds is set to $null.   there are no errors regarding installing the module or finding the function.   any ideas as to why this would succeed when the runbook is called directly but fail when called by another runbook?
    $runbook = Get-OrchestratorRunbook -serviceurl $url -runbookpath $rbpath -credentials $creds

    George,
    The documented way to call a web service using PL/SQL is to use UTL_DBWS package.
    Here are a couple of links that may be useful:
    http://www.oracle-base.com/articles/10g/utl_dbws10g.php
    http://www.oracle.com/technology/sample_code/tech/java/jsp/callout_users_guide.htm
    There is also an APEX package wwv_flow_web_services, but I couldn't find any documentation on it.
    Sima

  • Questions about SPML Web Service ( OIM 9.1 )

    I need to launch a provisioning process on a target by using a generic connector (Web Service).
    Scenario:
    ==========
    Host A is where the OIM server is installed. A generic connector is defined here.
    Host B is the target where users must be created. A webservice (axis) is installed here.
    Requirements:
    ===========
    OIM server (Host A) sends a request to WebService (Host B). The Web service receives, process and sends a response with the result to the OIM server.
    Version 9.0.3
    ==============
    On Version 9.0.3 I got the expected results but a problem appeared: there wasn't feedback error control because the web service response could'nt be processed.
    I followed the next steps:
    1º deploy axis on application server
    2º write SendWSResponse.jws including public method "doProvisioning". Copy this file to ..\server\default\deploy\axis.war\
    3º compile SendWSResponse.jws (from a browser)
    4º Create generic connector (for reconciliation and provisioning). Definition of parameters and mappings.
    Note: In 9.0.3 version only three parameters were required for Web Service Definition:
    Web Service URL=http://host:8080/axis/SendWSResponse.jws
    Operation Name = doProvisioning
    SPML-->Target ID=4201
    Version 9.1
    ==============
    On the new version, the connector definition is more complicated. Also they have added an ear-application or web service (OIMSpmlWS) related to this connector .
    The first question is:
    Is this ear-application addressed to process the reponses that are sent by the target?
    The second question is:
    Must I install the OIMSpmlWS on Host B? and if the answer is affirmative, how can I include the logic to my provisioning process.
    And the most important?
    How might the connector be configured and the webServices in this usual scenario?
    Many thanks in advance

    There is no "sample" WSDL file, there is THE WSDL file. It is located in the OIMSpmlWS.ear EAR file, in spmlws.war WAR file in the directory WEB-INF/wsdl.

  • Can "SPML Web Service Complex Data Type field" take multiple values ?

    In Generic Technology Connector's -SPML design parameters section, Can we give multiple values in SPML Web Service Complex Data Type field?
    If not, how can i call methods directly instead of calling them through a values of the "name" attribute of the "complexType" element in SPML Web Service Complex Data Type?
    I need 'SPML Web Service Complex Data Type' to hold multiple values.And based on the request it has to initiate appropriate method of action.
    Presently i have three methods add,modify and delete which i am calling through a single value of the "name" attribute of the "complexType" element in SPML Web Service Complex Data Type.
    I want to replace this single value with multiple menthods , so that a direct interaction between the method,OIM and target can be established.
    Edited by: 821054 on 16/02/2011 04:23

    Thanks Robert.
    You'll need to create your own interface to the webapp database for those kind of data operations
    by this, are you speaking of the internal BC database which stores web app schema data? That would be great if it were possible to update that programmatically because I need to use the List (Checkbox List) field type (for the search functionality), but I need to supply the checkbox options from a web app rather than by manually updating the list entered in the Fields view of the web app settings (shown below).
    I'm curious if anyone else has tried this?
    Again, my reason for needing to use the List (Checkbox List) field type is that the page which processes searches knows to expect a comma separated list for this field type and then appears to be parsing out the individual values for searching out web app items with 1 or more matching values. You're right that text fields (string and multiline) just check for 'string contains' matches, and this would be ok if I was only ever needing to search just one value at a time. Here's an example of what I might do:
    Web App item field value (as recorded against the List (Checkbox List) field type:
    8294877,8294878
    Web App Search value (for this same field):
    8294879,8294877,8294885
    The search would return this web app item because the field contains 2 (1 or more) individual values even though they were entered into the search field in a different order. If this web app item were just a Text (string or multiline) field, the searched value is not a substring of the web app item's stored value, so it would not find a match. Hence the need to use Checkbox List field type.
    The web app will have thousands if not 10s of thousands of records, so dumping them all into one big array or object and searching on the front-end won't be practical (though it works great on smaller datasets).

  • SPML Web Service in 11g (XSD): fail to get the psoID

    Hello.
    Has anybody successfully used the default XSD version of the SPML web service in 11g? I was able to successfully invoke the Add User operation but I'm not seeing the psoID (this is the unique ID generated by OIM for the user) for the newly added user... The Oracle docs for 11g do not show how that is returned... I would think that in would be in the response but I do not see it there... Someone suggested using Search User to get the psoID but I do not see a Search operation in the WSDL for 11g...
    I'm starting to think that the XSD version of the SPML in 11g is maybe incomplete? When I get chance, I may deploy the DSML version of the web service, and then run the Sample HTTP Client to see if that works better. I understand that this DSML version is what was used in 10g, and may be more robust.
    Thoughts anybody?

    Sunny,
    As you have pointed out, API will work.
    But regarding your statement:
    "Use SPML10g along with SPML11g (this is the cleanest OOTB solution wherein you can use the older set of SPML methods to fetch the userKey and then use newer SPML methods to perform asynchronous operations). I did the same"
    SPML samples that came with 10g did not work with OIM 11g for me. Because from what I know, SPML in 10g made use of DSML profile and that is not supported in 11g.
    http://docs.oracle.com/cd/E14571_01/doc.1111/e14309/spmlapi.htm#CHDCBJAI
    "SPML has two profiles: the XSD profile and the DSML profile. This release of Oracle Identity Manager makes use of the XSD profile."
    Did you tweak something to get it working?
    Thanks.

  • SPML Web Service -  custom Add Response

    Hi,
    Each time an Add Request is requested to OIM's SPML Web Services, there is a standard SPML Add Response received where in PSO ID is returned.
    We in our project are looking to customise this format and return additional parameters (which OIM would generate based on some logic) to the requesting consumer.
    Can I achieve this in OIM. Is this an Out-of-the-box feature OR some thing which I would need to do. If so, kindly eloborate and brief me the steps to proceed.
    Edited by: bond8135 on 11-Apr-2010 18:37

    Sunny,
    As you have pointed out, API will work.
    But regarding your statement:
    "Use SPML10g along with SPML11g (this is the cleanest OOTB solution wherein you can use the older set of SPML methods to fetch the userKey and then use newer SPML methods to perform asynchronous operations). I did the same"
    SPML samples that came with 10g did not work with OIM 11g for me. Because from what I know, SPML in 10g made use of DSML profile and that is not supported in 11g.
    http://docs.oracle.com/cd/E14571_01/doc.1111/e14309/spmlapi.htm#CHDCBJAI
    "SPML has two profiles: the XSD profile and the DSML profile. This release of Oracle Identity Manager makes use of the XSD profile."
    Did you tweak something to get it working?
    Thanks.

  • Target Invocation Exception when provisioning from OIM to People Soft

    Hi All,
    I am facing an error while provisioning from OIM to PSFT. In OIM error logs I get the following error :
    .0] [dcid: 214014dca901f288:-1705897b:139aeade537:-7ffd-00000000000266ac] ================= Start Stack Trace =======================
    [2012-09-13T16:55:07.115-04:00] [dev-oim_oim_server01] [ERROR] [] [OIMCP.PSFTUM] [tid: [ACTIVE].ExecuteThread: '2' for queue: 'weblogic.kernel.Default (self-tuning)'] [userId: oiminternal] [ecid: 0000Jb1QD7cBT8q5ONK6yd1GJNkN000UYj,0] [APP: oim#11.1.1.3.0] [dcid: 214014dca901f288:-1705897b:139aeade537:-7ffd-00000000000266ac] oracle.iam.connectors.psft.usermgmt.integration.PSFTUMUserProxyProvisionManager : invoke
    [2012-09-13T16:55:07.116-04:00] [dev-oim_oim_server01] [ERROR] [] [OIMCP.PSFTUM] [tid: [ACTIVE].ExecuteThread: '2' for queue: 'weblogic.kernel.Default (self-tuning)'] [userId: oiminternal] [ecid: 0000Jb1QD7cBT8q5ONK6yd1GJNkN000UYj,0] [APP: oim#11.1.1.3.0] [dcid: 214014dca901f288:-1705897b:139aeade537:-7ffd-00000000000266ac] InvocationTargetException occurred
    [2012-09-13T16:55:07.117-04:00] [dev-oim_oim_server01] [ERROR] [] [OIMCP.PSFTUM] [tid: [ACTIVE].ExecuteThread: '2' for queue: 'weblogic.kernel.Default (self-tuning)'] [userId: oiminternal] [ecid: 0000Jb1QD7cBT8q5ONK6yd1GJNkN000UYj,0] [APP: oim#11.1.1.3.0] [dcid: 214014dca901f288:-1705897b:139aeade537:-7ffd-00000000000266ac] Description : null
    [2012-09-13T16:55:07.117-04:00] [dev-oim_oim_server01] [ERROR] [] [OIMCP.PSFTUM] [tid: [ACTIVE].ExecuteThread: '2' for queue: 'weblogic.kernel.Default (self-tuning)'] [userId: oiminternal] [ecid: 0000Jb1QD7cBT8q5ONK6yd1GJNkN000UYj,0] [APP: oim#11.1.1.3.0] [dcid: 214014dca901f288:-1705897b:139aeade537:-7ffd-00000000000266ac] java.lang.reflect.InvocationTargetException[[
    at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
    at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
    at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
    at java.lang.reflect.Method.invoke(Method.java:597)
    at oracle.iam.connectors.psft.usermgmt.integration.PSFTUMUserProxyProvisionManager.invoke(Unknown Source)
    at oracle.iam.connectors.psft.usermgmt.integration.PSFTUMUserProxyProvisionManager.createUser(Unknown Source)
    at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
    at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
    at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
    at java.lang.reflect.Method.invoke(Method.java:597)
    at oracle.iam.connectors.psft.usermgmt.integration.PSFTUMUserProvisionManager.createUser(Unknown Source)
    at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
    at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
    at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
    at java.lang.reflect.Method.invoke(Method.java:597)
    at com.thortech.xl.adapterGlue.ScheduleItemEvents.adpPSFTUMCREATEUSER.CREATEUSER(adpPSFTUMCREATEUSER.java:115)
    at com.thortech.xl.adapterGlue.ScheduleItemEvents.adpPSFTUMCREATEUSER.implementation(adpPSFTUMCREATEUSER.java:60)
    at com.thortech.xl.client.events.tcBaseEvent.run(tcBaseEvent.java:196)
    at com.thortech.xl.dataobj.tcDataObj.runEvent(tcDataObj.java:2492)
    at com.thortech.xl.dataobj.tcScheduleItem.runMilestoneEvent(tcScheduleItem.java:2936)
    at com.thortech.xl.dataobj.tcScheduleItem.eventPostInsert(tcScheduleItem.java:554)
    at com.thortech.xl.dataobj.tcDataObj.insert(tcDataObj.java:602)
    at com.thortech.xl.dataobj.tcDataObj.save(tcDataObj.java:474)
    at com.thortech.xl.dataobj.tcORC.insertNonConditionalMilestones(tcORC.java:850)
    at com.thortech.xl.dataobj.tcORC.completeSystemValidationMilestone(tcORC.java:1163)
    at com.thortech.xl.dataobj.tcOrderItemInfo.completeCarrierBaseMilestone(tcOrderItemInfo.java:508)
    at com.thortech.xl.dataobj.tcOrderItemInfo.eventPostInsert(tcOrderItemInfo.java:153)
    at com.thortech.xl.dataobj.tcUDProcess.eventPostInsert(tcUDProcess.java:234)
    at com.thortech.xl.dataobj.tcDataObj.insert(tcDataObj.java:602)
    at com.thortech.xl.dataobj.tcDataObj.save(tcDataObj.java:474)
    at com.thortech.xl.dataobj.tcTableDataObj.save(tcTableDataObj.java:2905)
    at com.thortech.xl.dataobj.tcORC.autoDOBSave(tcORC.java:2978)
    at com.thortech.xl.dataobj.util.tcOrderPackages.createOrder(tcOrderPackages.java:523)
    at com.thortech.xl.dataobj.util.tcOrderPackages.orderPackageForUser(tcOrderPackages.java:177)
    at com.thortech.xl.dataobj.tcOIU.provision(tcOIU.java:563)
    at com.thortech.xl.dataobj.tcOIU.eventPostInsert(tcOIU.java:303)
    at com.thortech.xl.dataobj.tcDataObj.insert(tcDataObj.java:602)
    at com.thortech.xl.dataobj.tcDataObj.save(tcDataObj.java:474)
    at com.thortech.xl.dataobj.tcTableDataObj.save(tcTableDataObj.java:2905)
    at com.thortech.xl.dataobj.tcUserProvisionObject.insertImplementation(tcUserProvisionObject.java:283)
    at com.thortech.xl.dataobj.tcDataObj.insert(tcDataObj.java:591)
    at com.thortech.xl.dataobj.tcDataObj.save(tcDataObj.java:474)
    at com.thortech.xl.ejb.beansimpl.tcUserOperationsBean.provisionObject(tcUserOperationsBean.java:2813)
    at com.thortech.xl.ejb.beansimpl.tcUserOperationsBean.provisionObject(tcUserOperationsBean.java:2615)
    at Thor.API.Operations.tcUserOperationsIntfEJB.provisionObjectx(Unknown Source)
    at sun.reflect.GeneratedMethodAccessor2471.invoke(Unknown Source)
    at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
    at java.lang.reflect.Method.invoke(Method.java:597)
    at com.bea.core.repackaged.springframework.aop.support.AopUtils.invokeJoinpointUsingReflection(AopUtils.java:310)
    at com.bea.core.repackaged.springframework.aop.framework.ReflectiveMethodInvocation.invokeJoinpoint(ReflectiveMethodInvocation.java:182)
    at com.bea.core.repackaged.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:149)
    at com.bea.core.repackaged.springframework.aop.support.DelegatingIntroductionInterceptor.doProceed(DelegatingIntroductionInterceptor.java:131)
    at com.bea.core.repackaged.springframework.aop.support.DelegatingIntroductionInterceptor.invoke(DelegatingIntroductionInterceptor.java:119)
    at com.bea.core.repackaged.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:171)
    at com.bea.core.repackaged.springframework.jee.spi.MethodInvocationVisitorImpl.visit(MethodInvocationVisitorImpl.java:37)
    at weblogic.ejb.container.injection.EnvironmentInterceptorCallbackImpl.callback(EnvironmentInterceptorCallbackImpl.java:54)
    at com.bea.core.repackaged.springframework.jee.spi.EnvironmentInterceptor.invoke(EnvironmentInterceptor.java:50)
    at com.bea.core.repackaged.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:171)
    at com.bea.core.repackaged.springframework.aop.interceptor.ExposeInvocationInterceptor.invoke(ExposeInvocationInterceptor.java:89)
    at com.bea.core.repackaged.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:171)
    at com.bea.core.repackaged.springframework.aop.support.DelegatingIntroductionInterceptor.doProceed(DelegatingIntroductionInterceptor.java:131)
    at com.bea.core.repackaged.springframework.aop.support.DelegatingIntroductionInterceptor.invoke(DelegatingIntroductionInterceptor.java:119)
    at com.bea.core.repackaged.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:171)
    at com.bea.core.repackaged.springframework.aop.framework.JdkDynamicAopProxy.invoke(JdkDynamicAopProxy.java:204)
    at $Proxy303.provisionObjectx(Unknown Source)
    at Thor.API.Operations.tcUserOperationsIntf_e9jcxp_tcUserOperationsIntfRemoteImpl.provisionObjectx(tcUserOperationsIntf_e9jcxp_tcUserOperationsIntfRemoteImpl.java:2808)
    at sun.reflect.GeneratedMethodAccessor2470.invoke(Unknown Source)
    at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
    at java.lang.reflect.Method.invoke(Method.java:597)
    at weblogic.ejb.container.internal.RemoteBusinessIntfProxy.invoke(RemoteBusinessIntfProxy.java:84)
    at $Proxy165.provisionObjectx(Unknown Source)
    at sun.reflect.GeneratedMethodAccessor2469.invoke(Unknown Source)
    at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
    at java.lang.reflect.Method.invoke(Method.java:597)
    at org.springframework.aop.support.AopUtils.invokeJoinpointUsingReflection(AopUtils.java:307)
    at org.springframework.aop.framework.JdkDynamicAopProxy.invoke(JdkDynamicAopProxy.java:198)
    at $Proxy302.provisionObjectx(Unknown Source)
    at Thor.API.Operations.tcUserOperationsIntfDelegate.provisionObject(Unknown Source)
    at oracle.iam.requestactions.eventhandlers.ProvisionResource.provisionObject(ProvisionResource.java:281)
    at oracle.iam.requestactions.eventhandlers.ProvisionResource.execute(ProvisionResource.java:209)
    at oracle.iam.requestactions.eventhandlers.ProvisionResource.execute(ProvisionResource.java:96)
    at sun.reflect.GeneratedMethodAccessor2116.invoke(Unknown Source)
    at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
    at java.lang.reflect.Method.invoke(Method.java:597)
    at oracle.iam.platform.kernel.impl.EventHandlerDynamicProxy.invoke(EventHandlerDynamicProxy.java:30)
    at $Proxy236.execute(Unknown Source)
    at oracle.iam.platform.kernel.impl.OrchProcessData.runActionEvents(OrchProcessData.java:1035)
    at oracle.iam.platform.kernel.impl.OrchProcessData.runEvents(OrchProcessData.java:644)
    at oracle.iam.platform.kernel.impl.OrchProcessData.executeEvents(OrchProcessData.java:227)
    at oracle.iam.platform.kernel.impl.OrchestrationEngineImpl.resumeProcess(OrchestrationEngineImpl.java:669)
    at oracle.iam.platform.kernel.impl.OrchestrationEngineImpl.resumeProcess(OrchestrationEngineImpl.java:716)
    at oracle.iam.platform.kernel.impl.OrhestrationAsyncTask.execute(OrhestrationAsyncTask.java:108)
    at oracle.iam.platform.async.impl.TaskExecutor.executeUnmanagedTask(TaskExecutor.java:100)
    at oracle.iam.platform.async.impl.TaskExecutor.execute(TaskExecutor.java:70)
    at oracle.iam.platform.async.messaging.MessageReceiver.onMessage(MessageReceiver.java:68)
    at sun.reflect.GeneratedMethodAccessor1761.invoke(Unknown Source)
    at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
    at java.lang.reflect.Method.invoke(Method.java:597)
    at com.bea.core.repackaged.springframework.aop.support.AopUtils.invokeJoinpointUsingReflection(AopUtils.java:310)
    at com.bea.core.repackaged.springframework.aop.framework.ReflectiveMethodInvocation.invokeJoinpoint(ReflectiveMethodInvocation.java:182)
    at com.bea.core.repackaged.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:149)
    at com.bea.core.repackaged.springframework.aop.interceptor.ExposeInvocationInterceptor.invoke(ExposeInvocationInterceptor.java:89)
    at com.bea.core.repackaged.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:171)
    at com.bea.core.repackaged.springframework.aop.support.DelegatingIntroductionInterceptor.doProceed(DelegatingIntroductionInterceptor.java:131)
    at com.bea.core.repackaged.springframework.aop.support.DelegatingIntroductionInterceptor.invoke(DelegatingIntroductionInterceptor.java:119)
    at com.bea.core.repackaged.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:171)
    at com.bea.core.repackaged.springframework.aop.framework.JdkDynamicAopProxy.invoke(JdkDynamicAopProxy.java:204)
    at $Proxy326.onMessage(Unknown Source)
    at weblogic.ejb.container.internal.MDListener.execute(MDListener.java:466)
    at weblogic.ejb.container.internal.MDListener.transactionalOnMessage(MDListener.java:371)
    at weblogic.ejb.container.internal.MDListener.onMessage(MDListener.java:327)
    at weblogic.jms.client.JMSSession.onMessage(JMSSession.java:4659)
    at weblogic.jms.client.JMSSession.execute(JMSSession.java:4345)
    at weblogic.jms.client.JMSSession.executeMessage(JMSSession.java:3821)
    at weblogic.jms.client.JMSSession.access$000(JMSSession.java:115)
    at weblogic.jms.client.JMSSession$UseForRunnable.run(JMSSession.java:5170)
    at weblogic.work.SelfTuningWorkManagerImpl$WorkAdapterImpl.run(SelfTuningWorkManagerImpl.java:528)
    at weblogic.work.ExecuteThread.execute(ExecuteThread.java:201)
    at weblogic.work.ExecuteThread.run(ExecuteThread.java:173)
    Caused by: bea.jolt.ApplicationException: TPESVCFAIL - application level service failure
    at bea.jolt.JoltRemoteService.decodeCALL(JoltRemoteService.java:452)
    at bea.jolt.JoltRemoteService.call(JoltRemoteService.java:345)
    at bea.jolt.JoltRemoteService.call(JoltRemoteService.java:267)
    at psft.pt8.net.NetReqRepSvc.sendRequest(NetReqRepSvc.java:613)
    at psft.pt8.net.NetService.requestService(NetService.java:153)
    at psft.pt8.net.NetReqRepSvc.requestService(NetReqRepSvc.java:350)
    at psft.pt8.joa.JOAService.joaRequestService(JOAService.java:60)
    at psft.pt8.joa.CISvc.invokeMethod(CISvc.java:117)
    at psft.pt8.joa.CI.invokeMethod(CI.java:282)
    at PeopleSoft.Generated.CompIntfc.UserProfile.setPassword(UserProfile.java:361)
    ... 119 more
    [2012-09-13T16:55:07.119-04:00] [dev-oim_oim_server01] [ERROR] [] [OIMCP.PSFTUM] [tid: [ACTIVE].ExecuteThread: '2' for queue: 'weblogic.kernel.Default (self-tuning)'] [userId: oiminternal] [ecid: 0000Jb1QD7cBT8q5ONK6yd1GJNkN000UYj,0] [APP: oim#11.1.1.3.0] [dcid: 214014dca901f288:-1705897b:139aeade537:-7ffd-00000000000266ac] ================= End Stack Trace =======================
    [2012-09-13T16:55:07.122-04:00] [dev-oim_oim_server01] [ERROR] [] [OIMCP.PSFTUM] [tid: [ACTIVE].ExecuteThread: '2' for queue: 'weblogic.kernel.Default (self-tuning)'] [userId: oiminternal] [ecid: 0000Jb1QD7cBT8q5ONK6yd1GJNkN000UYj,0] [APP: oim#11.1.1.3.0] [dcid: 214014dca901f288:-1705897b:139aeade537:-7ffd-00000000000266ac] ================= Start Stack Trace =======================
    [2012-09-13T16:55:07.123-04:00] [dev-oim_oim_server01] [ERROR] [] [OIMCP.PSFTUM] [tid: [ACTIVE].ExecuteThread: '2' for queue: 'weblogic.kernel.Default (self-tuning)'] [userId: oiminternal] [ecid: 0000Jb1QD7cBT8q5ONK6yd1GJNkN000UYj,0] [APP: oim#11.1.1.3.0] [dcid: 214014dca901f288:-1705897b:139aeade537:-7ffd-00000000000266ac] oracle.iam.connectors.psft.usermgmt.integration.PSFTUMUserProxyProvisionManager : createUser
    [2012-09-13T16:55:07.124-04:00] [dev-oim_oim_server01] [ERROR] [] [OIMCP.PSFTUM] [tid: [ACTIVE].ExecuteThread: '2' for queue: 'weblogic.kernel.Default (self-tuning)'] [userId: oiminternal] [ecid: 0000Jb1QD7cBT8q5ONK6yd1GJNkN000UYj,0] [APP: oim#11.1.1.3.0] [dcid: 214014dca901f288:-1705897b:139aeade537:-7ffd-00000000000266ac] Exception occurred
    [2012-09-13T16:55:07.125-04:00] [dev-oim_oim_server01] [ERROR] [] [OIMCP.PSFTUM] [tid: [ACTIVE].ExecuteThread: '2' for queue: 'weblogic.kernel.Default (self-tuning)'] [userId: oiminternal] [ecid: 0000Jb1QD7cBT8q5ONK6yd1GJNkN000UYj,0] [APP: oim#11.1.1.3.0] [dcid: 214014dca901f288:-1705897b:139aeade537:-7ffd-00000000000266ac] Description :
    [2012-09-13T16:55:07.125-04:00] [dev-oim_oim_server01] [ERROR] [] [OIMCP.PSFTUM] [tid: [ACTIVE].ExecuteThread: '2' for queue: 'weblogic.kernel.Default (self-tuning)'] [userId: oiminternal] [ecid: 0000Jb1QD7cBT8q5ONK6yd1GJNkN000UYj,0] [APP: oim#11.1.1.3.0] [dcid: 214014dca901f288:-1705897b:139aeade537:-7ffd-00000000000266ac] oracle.iam.connectors.common.ConnectorException: [[
    at oracle.iam.connectors.psft.usermgmt.integration.PSFTUMUserProxyProvisionManager.invoke(Unknown Source)
    at oracle.iam.connectors.psft.usermgmt.integration.PSFTUMUserProxyProvisionManager.createUser(Unknown Source)
    at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
    at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
    at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
    at java.lang.reflect.Method.invoke(Method.java:597)
    at oracle.iam.connectors.psft.usermgmt.integration.PSFTUMUserProvisionManager.createUser(Unknown Source)
    at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
    From PSFT jolt logs we see the folloing error :
    UStreamId=013523_22586.158, Token=PSFT_EP/2012-09-06-21.35.23.887462/OIMUM/ENG owAAAAQDAgEBAAAAvAIAAAAAAAAsAAAABABTaGRyAk4Aawg4AC4AMQAwABSJ/euKJi2vwYeA5MWPoFQixOa+JmMAAAAFAFNkYXRhV3icHYlLDkBQEATLIxYWbkIY/wMgFj4J1g7gig6n86bTVUnPC0ShCwL5c/hLdhZWbjUe2ZhJD04mLh5GDmqjoMTI5MGzFU1bTkUjmpzTKx21vgY/W9ULMQ==
    PSAPPSRV.22586 (159) [09/07/12 01:35:28 OIMUM@corwloimhd01 PSBusComp](1) (NET.346): Failed to execute PSBusComp request
    PSAPPSRV.22586 (159) [09/07/12 01:35:28 OIMUM@corwloimhd01](2) Service PSBusComp failed
    PSAPPSRV.21114 (242) [09/07/12 02:16:10 GetCertificate](3) Returning context. ID=OIMUM, Lang=ENG, UStreamId=021610_21114.242, Token=PSFT_EP/2012-09-06-22.16.10.689063/OIMUM/ENG
    Any one has an idea on how to resolve this

    - I understand you ran schedule task, but did it bring all the valid values in the lookup ?
    - In addition to it, are you supplying all the values i n the form while doing so ?
    - If you are doing auto-provisioning , do it manually and see.
    Thanks
    Sunny

  • Web Service (SOAP) From Oracle Forms

    From the exaples of calling web services (soap) from pl/sql, it seems very poor and troublesome. I've seen a few articles with good points about why not to do this from pl/sql. So, I was hoping someone in the forums could share their opinions and approaches to using web services from forms based applications. I would ideally like to hear reasons people chose not to use pl/sql.

    There are some examples of calling web services from forms on the Forms OTN page - works fine although I would encourage the use of the new JVM pooling features as this will aid scalability and performance.
    Regards
    Grant Ronald
    Forms Product Management

  • Error Transporting PI (XI) Web Service Datasource from BI BW 7.0

    Hi all,
    I have a PI (XI) datasource in development.
    While transporting this datasource from Dev ==> QA, the transport keeps failing.
    If the datasource is active (BI 7.0), it should be transported to QA without any dependency with other objects?
    PI (XI) source system has been setup in QA.
    Any ideas? Following is the error I get.
          Error generating Web service /BIC/CQZHRCM_T00005000
          Error when activating Datasource   ZHRCM_TD_MELLONPENSION_INTF Q06CLNT100
    The DataSource ZHRCM_TD_MELLONPENSION_INTF(Q06CLNT100) does not exist in object version A
    Thanks
    Edited by: Rajen SAP BI on Aug 30, 2008 12:44 AM

    Hello Natty,
    1. yes the test passed. http://picasaweb.google.de/lh/photo/kcDy5FofEl9VT4jw2m6FZQ?feat=directlink
    2. Yes, I try to access a regular oracle DB via JDBC.
    3. The Error occurs when I'select the Datasource and entered a table name and then click the search button. http://picasaweb.google.de/lh/photo/iYPCjcdqIclUet1cNj-LNQ?feat=directlink
    Thx for Help
    Sebastian

  • Configuring SSL to make a HTTPS web Service call from XI

    Hi All,
    We are making a <b>https web service call</b> using soap adapter from XI. Looking at the various posts and SAP help links, we are configuring SSL for the same.
    The procedure given in SAP help has been followed to configure SSL but with no luck. If someone had done this could you please give a <b>step by step procedure</b> to configure SSL, we might have missed out on something.
    Also are there are <b>any other settings apart from SSL</b> to be done to make a  https web service call using soap adapter from XI.
    Cheers,
    Chandra

    user13046122 wrote:
    I have an old pl/sql "helper" package, originally written to make SOAP Web Service calls from the database - it uses UTL_HTTP to invoke the target services.
    I now need to make SOAP Web Service calls - from an 8.1.7.4 database
    But the version of UTL_HTTP inside 8.1.7.4 does not contain the functions needed in the helper package
    Can anybody suggest a means of making SOAP Web Service calls from an 8.1.7.4 database ?I think you'll be very lucky to find anyone here who still has access to a version of Oracle that is that old.... I mean... that's like what? 15 years old at least? I'm surprised you've still got hardware that can run that.
    It would probably help if you could post what code you've got and explain which function(s) it's complaining about, as I doubt people will want to guess.

  • Making Web Service calls from a Form in the WorkSpace

    I am getting conflicting information about this, so I hope someone here could clarify it. TIA.
    This is what I want to do:
    after a form is displayed/launched in the WorkSpace,
    when the user Tabs out of a field (Exit event) on the form,
    I want to make a Web Service call from the form,
    get the result from the WebService,
    and use the Result to populate another field on the form.
    I know for certain that this works if I Reader-Extend the form,
    and I set the JavaScript at the Exit event (to execute WebService call)
    as "Run At Client".
    The question is:
    can I make the WebService calls without Reader-Extending the form???
    I have been told that, yes you can,
    but *only if* you let the JavaScript "Run At Server".
    I tried that, but it caused the Reader to crash.
    Some other people told me,
    no you can not,
    even if you "Run At Server", the form still needs to be Reader-Extended,
    when using it in the WorkSpace environment.
    So, what is the truth? can someon tell me?
    Can I make WebServers calls from the Server-side at all?
    Do I really need to Reader-Extend the form even if calling it from server side?
    What exactly is it SUPPOSED to work?
    thanks

    yes, thank you both. I got the fix from Adobe Tech Support last week. It's working.
    The fix I got included a rather complex looking "Submit Service" though. Makes me wonder how a regular user would know that he needs to write such a Submit Service?? and even if he knows that he needs a special Submit Service, would he know how to write it??? I found no documentation for this type of things either.
    Shouldn't this solution be published somewhere in Adobe's website? Dev Lab perhaps?

  • Problem in using the Web Service generated from BAPI_FLIGHT_GETLIST

    Hi all,
       I am trying to use the Web Service generated from BAPI_FLIGHT_GETLIST. I have got the wsdl file, and trying to invoke it. But, while I can test the BAPI using the Airline ID AA, I can't test from the Web Service using the same data. It shows the error message - "Airline AA not found". Anyone having solution, please help. This is urgent.
    Thanks,
    Anirban
    Message was edited by:
            Anirban Das

    Yes, I am connecting to the same system where we have data..
    Anirban

  • How to create Web Service Client from wsdl with digital signature?

    Please, help me to create Web Service Client from wsdl with digital signature. I know create Web Service client from wsdl file and I know how to add digital signature to XML with jwsdp, but I don't know how to do it together.
    Thanks.

    I'm handling security wit JAX-WS handler. So I insert "manually" ws-security tag and I encrypt (and sign) message parts.
    On client side, all works fine, but on server side I obtain:
    ---Server Inbound SOAP message---|#]
    Decrypting message and rebuilding Valuees... |#]
    Starting decrypt|#]
    . dectypted.!
    --found following string: <ns1:addiziona><num1>80</num1><num2>22222</num2></ns1:addiziona>|#]
    ...MESSAGE Restored.|#]
    <?xml version="1.0" ?><soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/" xmlns:ds="http://www.w3.org/2000/09/xmldsig#" xmlns:ns1="http://calculator.me.org/" xmlns:wsse="http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-wssecurity-secext-1.0.xsd" xmlns:wsu="http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-wssecurity-utility-1.0.xsd"><soapenv:Body><ns1:addiziona><num1>80</num1><num2>22222</num2></ns1:addiziona></soapenv:Body></soapenv:Envelope>|#]
    Error in decoding SOAP Message
    Error in decoding SOAP Message
            at com.sun.xml.ws.encoding.soap.server.SOAPXMLDecoder.toInternalMessage(SOAPXMLDecoder.java:89)
            at com.sun.xml.ws.protocol.soap.server.SOAPMessageDispatcher.toMessageInfo(SOAPMessageDispatcher.java:187)
            at com.sun.xml.ws.protocol.soap.server.SOAPMessageDispatcher$SoapInvoker.invoke(SOAPMessageDispatcher.java:571)
            at com.sun.xml.ws.protocol.soap.server.SOAPMessageDispatcher.receive(SOAPMessageDispatcher.java:145)
            at com.sun.xml.ws.server.Tie.handle(Tie.java:88)
            at com.sun.enterprise.webservice.Ejb3MessageDispatcher.handlePost(Ejb3MessageDispatcher.java:160)
            at com.sun.enterprise.webservice.Ejb3MessageDispatcher.invoke(Ejb3MessageDispatcher.java:89)
            at com.sun.enterprise.webservice.EjbWebServiceServlet.dispatchToEjbEndpoint(EjbWebServiceServlet.java:178)
            at com.sun.enterprise.webservice.EjbWebServiceServlet.service(EjbWebServiceServlet.java:109)
            at javax.servlet.http.HttpServlet.service(HttpServlet.java:820)
            at com.sun.enterprise.web.AdHocContextValve.invoke(AdHocContextValve.java:100)
            at org.apache.catalina.core.StandardPipeline.doInvoke(StandardPipeline.java:566)
            at org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:536)
            at com.sun.enterprise.web.WebPipeline.invoke(WebPipeline.java:71)
            at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:182)
            at org.apache.catalina.core.StandardPipeline.doInvoke(StandardPipeline.java:566)
            at com.sun.enterprise.web.VirtualServerPipeline.invoke(VirtualServerPipeline.java:120)
            at org.apache.catalina.core.ContainerBase.invoke(ContainerBase.java:939)
            at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:137)
            at org.apache.catalina.core.StandardPipeline.doInvoke(StandardPipeline.java:566)
            at org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:536)
            at org.apache.catalina.core.ContainerBase.invoke(ContainerBase.java:939)
            at org.apache.coyote.tomcat5.CoyoteAdapter.service(CoyoteAdapter.java:231)
            at com.sun.enterprise.web.connector.grizzly.ProcessorTask.invokeAdapter(ProcessorTask.java:667)
            at com.sun.enterprise.web.connector.grizzly.ProcessorTask.processNonBlocked(ProcessorTask.java:574)
            at com.sun.enterprise.web.connector.grizzly.ProcessorTask.process(ProcessorTask.java:844)
            at com.sun.enterprise.web.connector.grizzly.ReadTask.executeProcessorTask(ReadTask.java:287)
            at com.sun.enterprise.web.connector.grizzly.ReadTask.doTask(ReadTask.java:212)
            at com.sun.enterprise.web.connector.grizzly.TaskBase.run(TaskBase.java:252)
            at com.sun.enterprise.web.connector.grizzly.WorkerThread.run(WorkerThread.java:75)
    Caused by: javax.xml.ws.soap.SOAPFaultException: Cannot find the dispatch method
            at com.sun.xml.ws.encoding.soap.SOAPDecoder.raiseFault(SOAPDecoder.java:674)
            at com.sun.xml.ws.encoding.soap.server.SOAPXMLDecoder.decodeDispatchMethod(SOAPXMLDecoder.java:152)
            at com.sun.xml.ws.encoding.soap.SOAPDecoder.decodeBodyContent(SOAPDecoder.java:337)
            at com.sun.xml.ws.encoding.soap.SOAPDecoder.decodeBody(SOAPDecoder.java:327)
            at com.sun.xml.ws.encoding.soap.SOAPDecoder.decodeEnvelope(SOAPDecoder.java:250)
            at com.sun.xml.ws.encoding.soap.server.SOAPXMLDecoder.toInternalMessage(SOAPXMLDecoder.java:81)
            ... 29 more
    |#]
    --->handleFault O_o<---|#]If you have any idea for solving my problem, then I can post my simple example :(
    Bye!

  • Special Character XML Web Service call from Flex

    Hi,
    Let me first give a little background.
    I have to query and return data in XML format. To do so, I have created a custom DSC component. In cases where XML has special characters, LC throws error saying that XML is not properly formed. To over come this issue I used CDATA tag at DSC component. Now LC works as it should and I returns correct result.
    I have a web service call from Flex to get this XML result. Every time i trigger this web service I get an error message saying </document> tag is missing.
    I understand in Flex, web service returned data is wrapped in CDATA tag, thats what i causing all this issue.
    I am not sure, how to handle this situation, I am sure this is a common problem and there should be ways to work around it.
    I would really appreciate if any one could point me in the right direction.
    Thank you ..

    The web service has four operations in it, I need pingQuery operation execution code since it doesnot need any input value.
    I have used code something like this.. Any one please correct me if I am wrong..
    <mx:WebService 
    <mx:WebService> id="webService" wsdl=""https://hydrogen.csd.sc.edu/axis2/services/AcademicHistoryService?wsdl
    >
    <mx:operation name="pingQuery"resultFormat="
    object"result="resultHandler(event);"
    fault="faultHandler(event);"
    >
    <mx:request>
    <PingQuerySpecification>
    <value>
    fsdf
    </value>
    </PingQuerySpecification>
    </mx:request>
    </mx:operation>
    </mx:WebService>
    private function resultHandler(evt:ResultEvent):void {Alert.show(ObjectUtil.toString(evt.result));
    private function faultHandler(evt:FaultEvent):void {Alert.show(evt.message.toString());

Maybe you are looking for

  • Logging after Capture Now

    1. How do you log the video after being captured through Capture Now? 2. What is the benefit of doing this since it was all captured? With logging before capturing it helps determine what you want... Thanks.

  • Moving domain process

    Hi is there a document somewhere that could walk me through the process of moving my domain so that it is hosted by mobile me? For example I realise I need to change the cname to to web.me.com, can I do that by changing the dns server to ns1.web.me.c

  • Printing comment in reader 8.0

    I am a long time reader but first time post. I have done plenty of search on this and found the solution but just need to clarify one thing. I was able to print comments in reader 8.0 via editing the registry. When it does print, it prints out the co

  • How we Create PO using PR ?

    Hi, How can we create Purchaser Order (PO) from  Purchaser Requisition (PR)  in Classic scenario of self service procurement? Thanks in Advance. Regards, Chetan

  • Global Catalog and IFM files

    What is the difference between when you "Install Domain Controller as a Global Catalog or without a Global Catalog"?