OIM11gR2- Webservice based connectors

Hi Experts,
We are currently working on integration of OIM 11g R2 with an application where the record creation for application can be implemented through a webservice. Please provide us ideas how we can leverage webservice based connector to call our custom web API.
If we get the step by step implementation of the same, that will be very helpful.
Kind regards

the caller gets an error on the first request. from the second request on it works ... indicates the package is not yet recompiled when the first request is sent. When the second request is sent, the package has been recompiled.

Similar Messages

  • Any reference to Webservice based connector for OIM 11gR2

    Hi All,
    Please send any reference, document, link to web based connectors in OIM 11.2
    thanks,

    If you are just looking for reference, then use:
    http://docs.oracle.com/cd/E10391_01/doc.910/e10360/prdfnd_prov.htm#CHDGHCCG

  • I have  to integrate a webservice based resource with OIM 9.1.0.2 ,

    I have to integrate a webservice based resource with OIM 9.1.0.2 , weblogic version 10.1.4.3
    I have following details for that resource:
    1) IP:
    2) port :
    3) Admin id:
    4)password:
    5) WSDL:
    Please guide me in integrating the resource.

    Hi,
    You can use the OOTB SPML GTC connector available in OIM, if you already have the target Webservice/WSDL available.

  • Webservices based adapter

    Hi,
    Has anybody implemented a webservices based adapter in OIM? If yes then can you please tell me what jars have to be copied to the 'ThirdParty' folder as I keep getting these errors when running the tasks.
    08/01/28 13:14:25 Caused by: org.apache.commons.logging.LogConfigurationException: org.apache.commons.logging.LogConfigurationException: org.apache.commons.logging.LogConfigurationException: Invalid class loader hierarchy. You have more than one version of 'org.apache.commons.logging.Log' visible, which is not allowed. (Caused by org.apache.commons.logging.LogConfigurationException: Invalid class loader hierarchy. You have more than one version of 'org.apache.commons.logging.Log' visible, which is not allowed.) (Caused by org.apache.commons.logging.LogConfigurationException: org.apache.commons.logging.LogConfigurationException: Invalid class loader hierarchy. You have more than one version of 'org.apache.commons.logging.Log' visible, which is not allowed. (Caused by org.apache.commons.logging.LogConfigurationException: Invalid class loader hierarchy. You have more than one version of 'org.apache.commons.logging.Log' visible, which is not allowed.))
    08/01/28 13:14:25      at org.apache.commons.logging.impl.LogFactoryImpl.newInstance(LogFactoryImpl.java:543)
    08/01/28 13:14:25      at org.apache.commons.logging.impl.LogFactoryImpl.getInstance(LogFactoryImpl.java:235)
    08/01/28 13:14:25      at org.apache.commons.logging.LogFactory.getLog(LogFactory.java:370)
    08/01/28 13:14:25      at org.apache.axis.components.logger.LogFactory.getLog(LogFactory.java:37)
    08/01/28 13:14:25      at org.apache.axis.handlers.BasicHandler.<clinit>(BasicHandler.java:43)
    Thanks in advance,

    Hi
    Are you trying to implement outgoing webservice or incoming webservice?
    The error that you get is due to the fact that the logging service in OIM is based on Apache's Log4jLoggger. The webservice package (Apache Axis?) that you are using are also using the same logging mechanism. You probably have two jars containing slightly different versions of the same classes.
    Try to find and remove the Axis variant of the logger and see if that resolves your conflict.
    Your latest error message looks slightly strange as it would imply that the Apache logger implementation doesn't implement the Log method which sounds strange. Adding multiple versions of the same class can sometimes result in strange error messages so it might just be a red herring.
    Good luck
    /M

  • Issues in parameter passing to DataControl(WebService based) method

    Hi ,
    Created a dataControl based on webservice ( Available via SOA composite containing mediator and business rule component ) . It needs a CustomerType as input and returns multiple parameter values.
    Issue :- When I drag and drop the method available in datacontrol on a ADF Taskflow, it asks for a input parameter "request". I don't know how to pass that.
    I have got a few examples from the google, and all of them takes the input parameter from UI and then drag and drop method as button. In my usecase, I need to process that while navigating from one jsff to other.
    I could not find a link to upload a screenshot on this thread. So I am uploading it on another site and sharing the URL http://www.4shared.com/dir/ge4eAX6v/OracleFourm.html
    Thanks,
    Rajdeep

    Let me try to expain the usecase again. I hope it will make requirement more clear.
    DataControl stucture in DataControlPallete is given below. I have create one TestTaskflow.jspx , ViewCartTaskflow.xml and ViewCart.jsff page in my application. ViewCartTaskflow.xml has one parameter cartId as taskflow parameter. Requirement is simple to set the cartId and invoke the queryOperationMethod before page loads and then display the cart in the .jsff page.
    So as per my understanding - queryOperationMethod will take #{bindings.request.currentRow.dataProvider} as input parameter. But how to set the cartId in that request object and then invoke the method before page loads.
    ShoppingCartDC
    |
    |_queryOperationParameters
    | |
    | |_ request
    | |
    | |_ MessageHeader
    | | |
    | | |_MessageId
    | |
    | |_ DataArea
    | |
    | |_ cartId
    |
    |__ queryOperation
    |
    | _ Parameters
    | |
    | |_ request
    |
    |__ return
    |
    |_ShoppingCartObject ( further multiple fields in this object )
    Thanks,
    Rajdeep

  • Error in calling webService based Entity

    I'm using JD 11.1.1.5.0
    in my application I've created an Entity based on a webService, It works fine when called through AM.
    but when I'm trying to make a (.jsff) page out of the VO ,It gives the following error :
    here is part of Log file :
    <Proxy> <invoke>
    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.jbo.client.svc.Proxy.invoke(Proxy.java:64)
         at oracle.jbo.client.svc.ADFProxyInvocationHandler.invoke(ADFProxyInvocationHandler.java:54)
         at $Proxy153.findProgramTaskVO1(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.jbo.client.svc.ServiceProxyInvocationHandler.invoke(ServiceProxyInvocationHandler.java:58)
         at $Proxy154.findProgramTaskVO1(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.jbo.datasource.svc.SIVODataSourceImpl.retrieveData(SIVODataSourceImpl.java:88)
         at oracle.jbo.server.DSViewObjectImpl.executeQueryForCollection(DSViewObjectImpl.java:127)
         at oracle.jbo.server.ViewRowSetImpl.execute(ViewRowSetImpl.java:1183)
         at oracle.jbo.server.ViewRowSetImpl.executeQueryForMasters(ViewRowSetImpl.java:1363)
         at oracle.jbo.server.ViewRowSetImpl.executeQueryForMode(ViewRowSetImpl.java:1269)
         at oracle.jbo.server.ViewRowSetImpl.executeQuery(ViewRowSetImpl.java:1254)
         at oracle.jbo.server.ViewObjectImpl.executeQuery(ViewObjectImpl.java:6897)
         at oracle.adf.model.bc4j.DCJboDataControl.executeIteratorBindingIfNeeded(DCJboDataControl.java:1387)
         at oracle.adf.model.binding.DCIteratorBinding.executeQueryIfNeeded(DCIteratorBinding.java:2160)
         at oracle.jbo.uicli.binding.JUCtrlHierBinding.getRootNodeBinding(JUCtrlHierBinding.java:92)
         at oracle.adfinternal.view.faces.model.binding.FacesCtrlHierBinding$HierCurrencyRowKeySet.getRowIterator(FacesCtrlHierBinding.java:1178)
         at oracle.adfinternal.view.faces.model.binding.CurrencyRowKeySet.size(CurrencyRowKeySet.java:34)
         at org.apache.myfaces.trinidad.model.RowKeySet.getSize(RowKeySet.java:152)
         at oracle.adfinternal.view.faces.renderkit.rich.TableRendererUtils.writePojoSelectionState(TableRendererUtils.java:306)
         at oracle.adfinternal.view.faces.renderkit.rich.TableRenderer.renderDataBlockRows(TableRenderer.java:1738)
         at oracle.adfinternal.view.faces.renderkit.rich.TableRenderer._renderSingleDataBlock(TableRenderer.java:1613)
         at oracle.adfinternal.view.faces.renderkit.rich.TableRenderer._handleDataFetch(TableRenderer.java:1015)
         at oracle.adfinternal.view.faces.renderkit.rich.TableRenderer.encodeAll(TableRenderer.java:506)
         at oracle.adf.view.rich.render.RichRenderer.encodeAll(RichRenderer.java:1396)
         at org.apache.myfaces.trinidad.render.CoreRenderer.encodeEnd(CoreRenderer.java:335)
         at org.apache.myfaces.trinidad.component.UIXComponentBase.encodeEnd(UIXComponentBase.java:767)
         at org.apache.myfaces.trinidad.component.UIXCollection.encodeEnd(UIXCollection.java:538)
         at javax.faces.component.UIComponent.encodeAll(UIComponent.java:937)
         at oracle.adfinternal.view.faces.util.rich.InvokeOnComponentUtils$EncodeChildVisitCallback.visit(InvokeOnComponentUtils.java:113)
         at org.apache.myfaces.trinidadinternal.context.PartialVisitContext.invokeVisitCallback(PartialVisitContext.java:222)
         at org.apache.myfaces.trinidad.component.UIXIterator.visitTree(UIXIterator.java:251)
         at org.apache.myfaces.trinidad.component.UIXComponent.visitTree(UIXComponent.java:443)
         at org.apache.myfaces.trinidad.component.UIXComponent.visitTree(UIXComponent.java:326)
         at org.apache.myfaces.trinidad.component.UIXComponent.visitTree(UIXComponent.java:443)
         at org.apache.myfaces.trinidad.component.UIXComponent.visitTree(UIXComponent.java:326)
         at org.apache.myfaces.trinidad.component.UIXComponent.visitTree(UIXComponent.java:443)
         at org.apache.myfaces.trinidad.component.UIXComponent.visitTree(UIXComponent.java:326)
         at org.apache.myfaces.trinidad.component.UIXComponent.visitTree(UIXComponent.java:443)
         at org.apache.myfaces.trinidad.component.UIXComponent.visitTree(UIXComponent.java:326)
         at org.apache.myfaces.trinidad.component.UIXComponent.visitTree(UIXComponent.java:443)
         at org.apache.myfaces.trinidad.component.UIXComponent.visitTree(UIXComponent.java:326)
         at org.apache.myfaces.trinidad.component.UIXComponent.visitTree(UIXComponent.java:443)
         at org.apache.myfaces.trinidad.component.UIXComponent.visitTree(UIXComponent.java:326)
         at org.apache.myfaces.trinidad.component.UIXComponent.visitTree(UIXComponent.java:443)
         at org.apache.myfaces.trinidad.component.UIXComponent.visitTree(UIXComponent.java:326)
         at org.apache.myfaces.trinidad.component.UIXComponent.visitTree(UIXComponent.java:443)
         at org.apache.myfaces.trinidad.component.UIXComponent.visitTree(UIXComponent.java:326)
         at org.apache.myfaces.trinidad.component.UIXComponent.visitTree(UIXComponent.java:443)
         at org.apache.myfaces.trinidad.component.UIXComponent.visitTree(UIXComponent.java:326)
         at org.apache.myfaces.trinidad.component.UIXComponent.visitTree(UIXComponent.java:443)
         at org.apache.myfaces.trinidad.component.UIXComponent.visitTree(UIXComponent.java:326)
         at org.apache.myfaces.trinidad.component.UIXComponent.visitTree(UIXComponent.java:443)
         at org.apache.myfaces.trinidad.component.UIXComponent.visitTree(UIXComponent.java:326)
         at org.apache.myfaces.trinidad.component.UIXComponent.visitTree(UIXComponent.java:443)
         at org.apache.myfaces.trinidad.component.UIXComponent.visitTree(UIXComponent.java:326)
         at org.apache.myfaces.trinidad.component.UIXComponent.visitTree(UIXComponent.java:443)
         at oracle.adf.view.rich.component.rich.RichDocument.visitTree(RichDocument.java:198)
         at org.apache.myfaces.trinidad.component.UIXComponent.visitTree(UIXComponent.java:443)
         at oracle.adfinternal.view.faces.util.rich.InvokeOnComponentUtils.renderChild(InvokeOnComponentUtils.java:43)
         at oracle.adfinternal.view.faces.streaming.StreamingDataManager._pprComponent(StreamingDataManager.java:756)
         at oracle.adfinternal.view.faces.streaming.StreamingDataManager.execute(StreamingDataManager.java:525)
         at oracle.adfinternal.view.faces.renderkit.rich.DocumentRenderer._encodeStreamingResponse(DocumentRenderer.java:3488)
         at oracle.adfinternal.view.faces.renderkit.rich.DocumentRenderer.encodeAll(DocumentRenderer.java:1458)
         at oracle.adf.view.rich.render.RichRenderer.encodeAll(RichRenderer.java:1396)
         at org.apache.myfaces.trinidad.render.CoreRenderer.encodeEnd(CoreRenderer.java:335)
         at org.apache.myfaces.trinidad.component.UIXComponentBase.encodeEnd(UIXComponentBase.java:767)
         at javax.faces.component.UIComponent.encodeAll(UIComponent.java:937)
         at javax.faces.component.UIComponent.encodeAll(UIComponent.java:933)
         at com.sun.faces.application.ViewHandlerImpl.doRenderView(ViewHandlerImpl.java:266)
         at com.sun.faces.application.ViewHandlerImpl.renderView(ViewHandlerImpl.java:197)
         at javax.faces.application.ViewHandlerWrapper.renderView(ViewHandlerWrapper.java:189)
         at org.apache.myfaces.trinidadinternal.application.ViewHandlerImpl.renderView(ViewHandlerImpl.java:193)
         at oracle.adfinternal.view.faces.lifecycle.LifecycleImpl._renderResponse(LifecycleImpl.java:800)
         at oracle.adfinternal.view.faces.lifecycle.LifecycleImpl._executePhase(LifecycleImpl.java:294)
         at oracle.adfinternal.view.faces.lifecycle.LifecycleImpl.render(LifecycleImpl.java:214)
         at javax.faces.webapp.FacesServlet.service(FacesServlet.java:266)
         at weblogic.servlet.internal.StubSecurityHelper$ServletServiceAction.run(StubSecurityHelper.java:227)
         at weblogic.servlet.internal.StubSecurityHelper.invokeServlet(StubSecurityHelper.java:125)
         at weblogic.servlet.internal.ServletStubImpl.execute(ServletStubImpl.java:300)
         at weblogic.servlet.internal.TailFilter.doFilter(TailFilter.java:26)
         at weblogic.servlet.internal.FilterChainImpl.doFilter(FilterChainImpl.java:56)
         at oracle.adf.model.servlet.ADFBindingFilter.doFilter(ADFBindingFilter.java:205)
         at weblogic.servlet.internal.FilterChainImpl.doFilter(FilterChainImpl.java:56)
         at oracle.adfinternal.view.faces.webapp.rich.RegistrationFilter.doFilter(RegistrationFilter.java:106)
         at org.apache.myfaces.trinidadinternal.webapp.TrinidadFilterImpl$FilterListChain.doFilter(TrinidadFilterImpl.java:446)
         at oracle.adfinternal.view.faces.activedata.AdsFilter.doFilter(AdsFilter.java:60)
         at org.apache.myfaces.trinidadinternal.webapp.TrinidadFilterImpl$FilterListChain.doFilter(TrinidadFilterImpl.java:446)
         at org.apache.myfaces.trinidadinternal.webapp.TrinidadFilterImpl._doFilterImpl(TrinidadFilterImpl.java:271)
         at org.apache.myfaces.trinidadinternal.webapp.TrinidadFilterImpl.doFilter(TrinidadFilterImpl.java:177)
         at org.apache.myfaces.trinidad.webapp.TrinidadFilter.doFilter(TrinidadFilter.java:92)
         at weblogic.servlet.internal.FilterChainImpl.doFilter(FilterChainImpl.java:56)
         at oracle.adf.library.webapp.LibraryFilter.doFilter(LibraryFilter.java:175)
         at weblogic.servlet.internal.FilterChainImpl.doFilter(FilterChainImpl.java:56)
         at oracle.security.jps.ee.http.JpsAbsFilter$1.run(JpsAbsFilter.java:111)
         at java.security.AccessController.doPrivileged(Native Method)
         at oracle.security.jps.util.JpsSubject.doAsPrivileged(JpsSubject.java:313)
         at oracle.security.jps.ee.util.JpsPlatformUtil.runJaasMode(JpsPlatformUtil.java:413)
         at oracle.security.jps.ee.http.JpsAbsFilter.runJaasMode(JpsAbsFilter.java:94)
         at oracle.security.jps.ee.http.JpsAbsFilter.doFilter(JpsAbsFilter.java:161)
         at oracle.security.jps.ee.http.JpsFilter.doFilter(JpsFilter.java:71)
         at weblogic.servlet.internal.FilterChainImpl.doFilter(FilterChainImpl.java:56)
         at oracle.dms.servlet.DMSServletFilter.doFilter(DMSServletFilter.java:136)
         at weblogic.servlet.internal.FilterChainImpl.doFilter(FilterChainImpl.java:56)
         at weblogic.servlet.internal.RequestEventsFilter.doFilter(RequestEventsFilter.java:27)
         at weblogic.servlet.internal.FilterChainImpl.doFilter(FilterChainImpl.java:56)
         at weblogic.servlet.internal.WebAppServletContext$ServletInvocationAction.wrapRun(WebAppServletContext.java:3715)
         at weblogic.servlet.internal.WebAppServletContext$ServletInvocationAction.run(WebAppServletContext.java:3681)
         at weblogic.security.acl.internal.AuthenticatedSubject.doAs(AuthenticatedSubject.java:321)
         at weblogic.security.service.SecurityManager.runAs(SecurityManager.java:120)
         at weblogic.servlet.internal.WebAppServletContext.securedExecute(WebAppServletContext.java:2277)
         at weblogic.servlet.internal.WebAppServletContext.execute(WebAppServletContext.java:2183)
         at weblogic.servlet.internal.ServletRequestImpl.run(ServletRequestImpl.java:1454)
         at weblogic.work.ExecuteThread.execute(ExecuteThread.java:209)
         at weblogic.work.ExecuteThread.run(ExecuteThread.java:178)
    Caused by: Exception [EclipseLink-45101] (Eclipse Persistence Services - 2.1.3.v20110304-r9073): org.eclipse.persistence.exceptions.SDOException
    Exception Description: An error occurred attempting to return the requested SDOHelperContext. In an active WebLogic instance the application name is required for helper context cache lookups. The application name could not be determined because getExecuteThread could not be invoked reflectively on ThreadPoolRuntime.
    Internal Exception: java.lang.SecurityException: [Security:090398]Invalid Subject: principals=[weblogic, Administrators]
         at org.eclipse.persistence.exceptions.SDOException.errorInvokingWLSMethodReflectively(SDOException.java:126)
         at org.eclipse.persistence.sdo.helper.SDOHelperContext.getExecuteThread(SDOHelperContext.java:721)
         at org.eclipse.persistence.sdo.helper.SDOHelperContext.getContextMapKey(SDOHelperContext.java:625)
         at org.eclipse.persistence.sdo.helper.SDOHelperContext.getMapKey(SDOHelperContext.java:583)
         at org.eclipse.persistence.sdo.helper.SDOHelperContext.getAliasMap(SDOHelperContext.java:1160)
         at org.eclipse.persistence.sdo.helper.SDOHelperContext.getHelperContext(SDOHelperContext.java:435)
         at org.eclipse.persistence.sdo.SDOResolvable.readExternal(SDOResolvable.java:329)
         at commonj.sdo.impl.ExternalizableDelegator.readExternal(ExternalizableDelegator.java:83)
         at org.eclipse.persistence.sdo.SDOExternalizableDelegator.readExternal(SDOExternalizableDelegator.java:60)
         at java.io.ObjectInputStream.readExternalData(ObjectInputStream.java:1791)

    The underlying error
    Internal Exception: java.lang.SecurityException: [Security:090398]Invalid Subject: principals=[weblogic, Administrators]points to a security related problem...
    Timo

  • Webservice based system test fails

    Hello,
    I have created a web service based system under portal content by using template. I have provided WSDL link and using Logon Method UIDPW. Additionally, I have also set the User Mapping. But still it fails the system test.
    I want to avail the Webservice from an external ABAP system in the BPM application which runs in UWL-Portal.
    Help?
    Regards,
    Naeem

    i have solved the issue.

  • Webservice based on PL/SQL function - ORA-04068

    Hi,
    we have a problem here with PL/SQL based webservices. If the PL/SQL package gets invalid then the very first request to the webservice results in:
    java.sql.SQLException:
    ORA-04068: existing state of packages has been discarded
    ORA-04061: existing state of package "TUG_NEW.WBSERVICES" has been invalidated
    ORA-04065: not executed, altered or dropped package "TUG_NEW.WBSERVICES"
    ORA-06508: PL/SQL: could not find program unit being called ORA-06512: at line 1
    Any workarounds? Shouldn't the package become recompiled automatically when it was invalid?
    Thanks, Christian

    the caller gets an error on the first request. from the second request on it works ... indicates the package is not yet recompiled when the first request is sent. When the second request is sent, the package has been recompiled.

  • Restful Webservice custom connector

    Hi All,
    I would like to know the best practice to create custom connector for Restful web service methods.Currently we are following simple java code which connects to service provider and pass the JSON object and perform the required actions.
    Is it possible to develop this kind of connector using ICF, if yes what is the process need to follow Or is there any best way to achieve this.
    I am currently trying to configure using ICF by following the example provided in learning library.
    Thanks
    Arun

    Hi,
    Follow below steps to create custom connectors:
    1. Create IT Resource Definition -- which will be your connector class connection parameters
    2. Create IT Resource - provide all connection parameter values
    3. Create Resource Object
    4. Create Process Form, add all required fields that are required for your target system.
    5. Create process task adapter and call you java code to create user record in target system
    6. Create Process definition (Provisioning Type), attach process form created above step and also check "default process"
    7. Create unconditional task in process definition say "Create User" and map the adapter created in step 5.
    These are high level steps, I hope u know how to create all above OIM metadata.
    Regards,
    Raghav.

  • Transaction Handling in webservice based partnerlink

    What is the transaction handling mechanism for parnerlink which calls webservice (not native BPEL/ESB)?
    REgards
    priyadarshi

    It is SDO using I think
    It should be not SOAP action, because it is not support transactions

  • Setting up different webservices based on port number

    I have several different web services set up on different port numbers, but would like to access them based on the sub domain instead of the port number.
    for instance we have Rumpus ftp running on port 8000
    webmail running on port 82
    wiki running on port 80
    at the moment they are accessed by our.domain-name.co.uk:port number
    I have the following sub domains set up with our domain registrar which point to our server.
    ftp
    web
    mail
    how do I tie all this together so just typing ftp.domain-name.co.uk points to rumpus on port 8000

    Short answer, double-up.
    The port number will take precedence, so if you have a virtual host listening on port 8000 then it's only going to process requests on that port. There's no way for it to process hits that come in on a different port.
    You could configure the port 80 virtual host as a proxy to proxy the connection to the port 82/8000 server based on the hostname, but it would be easier (by far) to just setup another virtual host.
    For example, you setup:
    *:82 -> wiki
    then you setup another virtual host:
    web.domain-name.co.uk:80 -> wiki
    Likewise you setup:
    *:82 - > webmail
    and
    mail.domain-name.co.uk:80 -> webmail
    In both cases you'd need to duplicate the site's configuration, which means more administration - if you make a change to your webmail setup you need to make it in both places.
    The one gotcha is that IIRC Rumpus runs as its own server, not an Apache virtual host, so that may need to be setup as a proxy.

  • Webservice based validation

    Hi
    I am new to oracle Apex. I saw oracle supports web service call. Can we have item level validation using web service on Apex?
    Regards
    Ani

    Ok,
    What I want is, when user enter data in a text item it should call a webservice to validate the data entered by the user.
    Eg. When a user enter a an airport code, apex should call a webservice that validate the airtport and display the airport name.
    Hope it is clear now.
    Regards
    Anil

  • WEBSERVICE based on REMOTE PROCEDURE

    Hello everyone,
    we are facing database freeze
    and we suspect that it is linked with webservices using a remote procedure
    In summary :
    - we are using 2 different linux servers
    - each server hosts a Sybase IQ 15.4 ESD4 base
    - server 1 has a GET_APP_LOG procedure processing a SELECT on a local catalog-type table
    - server 2 hosts a remote procedure linked to the GET_APP_LOG procedure of server 1
      and an HTML webservice calling the remote procedure
    Result :
    The direct call of the remote procedure via dbisql on server 2 perfectly runs
    but the call of the web service places the database 2 (and sometimes database 1) in a frozen state
    - no more possibility to connect (timeout)
    - no more activity into iqmsg file
    - stop_iq is unable to stop the database : "Time alotted for server shutdown has expired..."
    so the only way to stop the database is kill -9
    With a SAODBC link, the phenomenon is systematic :
    (CREATE SERVER xxx CLASS 'SAODBC'  USING 'Driver=libodbc.so;CommLinks=tcpip(HOST=xxx;PORT=xxx);eng=xxx';)
    With a ASE ODBC, it seems to run better
    but in some cases, the database also freezes and we wonder if it's also due to webservice + remote procedure combination ...
    Is there any recommendation or investigation to solve the problem ?...
    Thanks
    Patrick

    /people/siva.maranani/blog/2005/09/03/invoke-webservices-using-sapxi
    have a look at the weblog ... it has a section on how to test the same.

  • BPM : Procees the file based on the response of Webservice

    Hi
    I have a scenario where two files are the source..and the target is Webservice
    Based upon the response of the first file ....i want to process the sencond file
    if not i want to raise an exception...
    whar are the steps i have to use in BPM..
    SV

    SV,
    Steps are mention below
    1. 2 Receive Step - To recieve data from files also define corelation
    2. Send Step - Call webservice
    3. Switch Step - To check whether response is ok
    4. If the condition true then process the second file.
    5. If condition fails raise an exception message
    Gaurav Jain

  • Developing SOAP based Webservice using Axis 2 Eclipse plugin

    Hi,
    I want to develop a SOAP based Webservice which connects to the PostgreSQL DB , by fetching the data for the employeeId entered and display the results in the browser. I'm using using JDK 1.6, Tomcat 6.0, Axis 2.0 , with Axis 2 Eclipse Plugin. Please send me a sample code of how to build it, i am able find some examples on the internet, but none of them are related to connecting to the DB and fetching the data. It will be great if you guys can provide the sample application which does have the same functionality as mine. Please do respond as this is urgent. Thanks in advance..
    Thanks,
    Rithu

    Thanks Adhir Mehtaji, This is what i have come up with, developing a webservices based on SAAJ and deploying that in Tomcat server, here is the Webservice and the other related files:-
    public class EmployeeService {
         * This method returns the Employee Name
         * @param empId String
         public void getEmployeeName(SOAPEnvelope req, SOAPEnvelope resp) throws javax.xml.soap.SOAPException {
              System.out.println("Inside the getEmployeeName in Employee Service");
              IEmployeeDAO employeeDAO= null;
              employeeDAO = new EmployeeDAOImpl();
              SOAPBody body = resp.getBody();
              String empId = null;
              NodeList empIdNodeList = req.getBody().getElementsByTagName("empId");
              for( int i=0; i < empIdNodeList.getLength(); i++ ) {
                   Element empIdElementElement = (Element) empIdNodeList.item(i);
                   Node empIdNode = empIdElementElement.getChildNodes().item(0);
                   empId = empIdNode.getNodeValue();
                   System.out.println("the empId in the employee service is:::"+empId);
              addNode(body,"empName",employeeDAO.getEmployeeName(empId));
              //addNode(body,"segmentName1",custSegmentDAO.getSegmentName(ZipCode));
         private static void addNode(SOAPBody body,String nodeName,String nodeValue) throws SOAPException{
              body.addChildElement(nodeName).addTextNode(nodeValue);
         This Service is exposed as a Webservice which connects to the DAO and get the response for the EmpId.
         This is the client file:-
         public class GetEmployeeNameClient {
              public static void main(String[] args) throws Exception {
                   // Invoking the Webservice endpoint which is hosted (deployed) in Tomcat by passing the SOAP Message request
                   // Get the SOAP Message response , which contains the employee name for the empId 100
                   // Parse the SOAP Message response to get the employee name (response from the WS)
                   String[] nodeNames = { "empId" };
                   String[] nodeValues = { "100" };
                   SOAPMessage message = GetEmployeeNameClient.getMessageFactory(
                             "getEmployeeName", nodeNames, nodeValues);
                   SOAPConnection conn = SOAPConnectionFactory.newInstance()
                             .createConnection();
                   SOAPMessage response = conn.call(message,
                             "http://localhost:8080/axis/services/EmployeeService");
                   // If the response is not null then everything is fine with the WS.
                   System.out.println("the response is what???"+response);
                   System.out.println("\n Soap response:\n");
                   System.out.println("\nXML response\n");
                   // Create transformer
                   TransformerFactory tff = TransformerFactory.newInstance();
                   Transformer tf = tff.newTransformer();
                   // Get reply content
                   Source sc = response.getSOAPPart().getContent();
                   // Set output transformation
                   StreamResult result = new StreamResult(System.out);
                   tf.transform(sc, result);
                   System.out.println();
                   // For these to work we need to connect to the DB - jdbc:oracle:thin:@ora-b2cd:6473:b2cd to get the segment name
                   SOAPBody soapBody = response.getSOAPBody();
                   System.out.println("the soapBody is what???"+soapBody);
                   NodeList empNameNodeList = soapBody.getElementsByTagName("empName");
                   System.out.println("the empNameNodeList.getLength is::"+empNameNodeList.getLength());
                   for (int i = 0; i < empNameNodeList.getLength(); i++) {
                        System.out.println("inside the loop");
                        Element empNameElement = (Element) empNameNodeList.item(i);
                        System.out.println("the empNameElement is what???"+empNameElement);
                        Node empNameNode = empNameElement.getChildNodes().item(0);
                        System.out.println("the empNameNode is what???"+empNameNode);
                        System.out.println("Employee Name For empId is ...... "
                                  + empNameNode.getNodeValue());
              // Construct the SOAP Message request by passing the empId 100(should come from UI)
              private static SOAPMessage getMessageFactory(String methodName,
                        String[] nodeNames, String[] nodeValues) throws SOAPException {
                   SOAPMessage message = null;
                   try {
                        System.out.println("Inside the getMessageFactory");
                        MessageFactory messageFactory = MessageFactory.newInstance();
                        message = messageFactory.createMessage();
                        SOAPPart soapPart = message.getSOAPPart();
                        SOAPEnvelope envelope = soapPart.getEnvelope();
                        SOAPBody body = envelope.getBody();
                        SOAPElement bodyElement = body.addChildElement(envelope
                                  .createName(methodName));
                        for (int index = 0; index < nodeNames.length; index++) {
                             bodyElement.addChildElement(nodeNames[index]).addTextNode(
                                       nodeValues[index]);
                        message.saveChanges();
                        // View input
                        System.out.println("\n Soap request:\n");
                        message.writeTo(System.out);
                        System.out.println();
                   } catch (Exception e) {
                        e.printStackTrace();
                   return message;
         This client will send a SOAPMessage with EmpId (100) as a request and get the response from the Webservice as SOAPMessage , which
         contains the empname for the respective empid which is passed.
    I tested this service in the browser, it is up and running through the URL : http://localhost:8080/axis/services
    But when i try to access the webservice to get the response from my client program, i am getting the following SOAP Fault string:-
    <?xml version="1.0" encoding="UTF-8"?>
    <soapenv:Envelope
    xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/"
    xmlns:xsd="http://www.w3.org/2001/XMLSchema"
    xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
    <soapenv:Body><soapenv:Fault>
    <faultcode>
    soapenv:Server.userException
    </faultcode>
    <faultstring>
    org.xml.sax.SAXNotRecognizedException: Feature: http://xml.org/sax/properties/lexical-handler
    </faultstring>
    <detail>
    <ns1:hostname xmlns:ns1="http://xml.apache.org/axis/">
    user-15bbc0db6e
    </ns1:hostname>
    </detail>
    </soapenv:Fault>
    </soapenv:Body>
    </soapenv:Envelope>
    My client path contains :-
    axis.jar;
    jaxrpc.jar;
    saaj.jar;
    commons-logging.jar;
    commons-discovery.jar;
    wsdlj4.jar;
    axis-ant.jar;
    log4j-1.2.4.jar
    xerces.jar
    activation.jar
    mail.jar
    Similary the in the d:/tomcat/webapps/axis/WEB-INF/lib,contains the same as that in client path.
    I am using Tomcat 6.0 , JDK 1.6, I have googled and found that the expection is due to "Xerces.jar" not in Tomcat/webapps/axis/WEB-INF/lib.
    I have copied xerces.jar in the said path, still the error persists. Please do provide a solution to this. Where i have gone wrong.
    I have one more query, If i have to rest a "list" as a response from the server (webservice), how i can add the list into the SOAPMessage? Whether i need to parse it and add the values one by one in the SOAPMessage? like
    <empname> xxxx</empname> <empage>25</empage>
    <empname> yyyy</empname> <empage>26</empage>
    Please answer these queries.
    Thanks,
    Rithu

Maybe you are looking for