To invoke bussiness rules engine from ADF

hi all,
To invoke the business rule engine running on the SOA server, from the application module. can you please any one help me in this.

Murali,
If the business rules are deployed to the SOA Suite as service-enabled rules, they are just web service calls, correct? You can create a web service proxy class in JDeveloper and then just invoke that class from your AM's java code. There's nothing special with respect to an AM in this case, so if you have detailed questions - probably best to ask in the SOA Suite forum - but no need to complicate the issue by bringing an AM into your question - you just want to invoke a business rule from Java.
John

Similar Messages

  • Invoking business rules 11g from Java application

    We have SOASuite 11g running on weblogic and have read through documentation/played with Oracle business rules
    We want to utilize business rules engine within our Java web applications deployed to glassfish server (Non SOA application). Is this even possible and does anyone use it in this way? Any pointer is much appreciated.
    What are the libraries like Oracle rules SDK that I need to include in the classpath of Java web app?
    This link assumes that web app is co-located in the same weblogic instance running SOASuite and doesn't help my case.
    http://docs.oracle.com/cd/E23943_01/user.1111/e10228/non_soa.htm#BGBBCICB
    By using it within Java application, we want to able to make local calls as opposed to calling a decision function as web service. Volume of actual rules and their usage is so high within our Java app. Also we want to take advantage of java beans defined in our business layer by using Java facts and without having to define XSD for XML facts.

    I had seen the blog, It explains how to test business rules by loading the dictionary from static rules file.
    my requirement is to invoke the business rule engine running on the SOA server, from the application module. can you please help me in this.
    Thanks inadvance.
    -Murali

  • How to invoke a popup programatically from adf region

    Hi All,
    I have included a task flow as a region in my home.jspx page .
    My taskflow contains a assets,jsff page where on save button click i want to show some popup message programatically
    i mean i want to invoke showpoup code in my save action listener .
    I got some code snippet but this is working only incase if popup is invoked from jspx .
    public static void invokePopup(String popupId, String align,
    String alignId) {
    if (popupId != null) {
    ExtendedRenderKitService service =
    Service.getRenderKitService(FacesContext.getCurrentInstance(),
    ExtendedRenderKitService.class);
    StringBuffer showPopup = new StringBuffer();
    showPopup.append("var hints = new Object();");
    //Add hints only if specified - see javadoc for AdfRichPopup js for details on valid values and behavior
    if (align != null && alignId != null) {
    showPopup.append("hints[AdfRichPopup.HINT_ALIGN] = " + align +
    showPopup.append("hints[AdfRichPopup.HINT_ALIGN_ID] ='" +
    alignId + "';");
    showPopup.append("var popupObj=AdfPage.PAGE.findComponent('" +
    popupId +
    "'); if (popupObj) popupObj.show(hints);");
    service.addScript(FacesContext.getCurrentInstance(),
    showPopup.toString());
    *************************************************8
    Please let me know what changes i need to do inorder to call thid popup invoke method from jsff.
    Thanks with regards ,
    Arun.

    Hello lucbors, This problem sounds like one I am trying to solve as well.
    I have a popup on my jspx page that I want to call from the bean for my jsff.
    My problem is in the step "get a hold on to a rich popup instance, which you can do by referencing a JSF component binding"
    I cannot seem to find the instance of that popup.
    The popup is a property in a managed bean that is registered in the adfc-config as session scope. I found another thread that said to
        //EmployerBean is the name of the managed bean for my jspx
        //  this code is in an event handler in GipsBean, the backing bean for my jsff
        HttpSession session = (HttpSession)context.getExternalContext().getSession(true);
        EmployerBean employerBeanInstance = (EmployerBean) session.getAttribute("EmployerBean");
        if(employerBeanInstance == null)
          employerBeanInstance = new EmployerBean();
          session.setAttribute("EmployerBean", employerBeanInstance);
        }Can you offer some insight? I am new to ADF, so my approach may be very wrong.
    Thanks

  • Invoking Pl/SLQ procedure from ADF page

    is it possible to invoke a Pl/SL procedure from a simple adf page.
    this ebiz pl/sql procedure invoking a BPEL program.
    can any one suggest me on this

    Suggest you have a search of both the forum and the documentation, both of which have the answer to your question

  • How to invoke PEGA Rules Service from Adobe LiveCycle and vice versa

    Hi,
    I have new requirement..... I have to invoke pega service from livecycle....
    Do we have any interface to integrate these 2 tools?
    Pls help me out on this
    Its Urgent...
    Regards-Sekhar

    In this case the LiveCycle services are exposed as web services that can be consumed by any application language that can interact with web services. While the sample published are for c# and Java there is no reason that other web service aware languages (C++, Perl, etc) wouldn't work.
    I'm not a Microsoft C++ expert, but as far as I understand all you need to do is create a web reference and then have your C++ classes interact via the generated proxy classes. The syntax will be different, but the concept is the same

  • Question in invoking a bpel process from adf (how to return a table)

    hi all,
    i have developed a bpel process that checks customer name and if the customer name is valid , it will go to query a table of product and send this data to the client (jsf)
    In my bpel process ,there are two services
    1. Getcustomer service--> this service is developed by java web services that checks if the customername ='john' and it will return true and then query the product deta
    2. Product serverice--> this service is developed using entity ejb class first and then created sesssion bean , exposing this seesion bean as a ejb web serive that can query a product table in the database.
    In the syschronous process
    1. receive input (customer name)
    2. assigncustomer
    3. invoke_customer-->if =john----> Getcustomer service
    4. switch---->if true--->
    5. invoke_product ---> product service that can return a table of product detail
    6. assignproductdetail
    7. replyoutput to the client ( i could see the result of the detail of product on the bpel control , it seemed fine)
    i could deploy this bpel process sucessfully without errors and i copied the wsdl of this bpel process
    8. i created an adf application and put this wsdl link into the web service control that i created so that i could see the data control
    However,
    Under the data control tab......
    product------>(data control)
    process(string)...operation
    parameters
    ----input
    <----String (result)
    the question is did i create the wrong bpel process because the result that return is String why when the bpel process is mapped into data control it looked like this.
    why i can not see any collection of product or any parameter of product could anyone give me some advices???
    Therefore when i developed jsf page i fill the input value customer name -- and it returned nothing......please help i would highly appreicated.
    datacontrol.xml file
    <?xml version="1.0" encoding="UTF-8" ?>
    <pageDefinition xmlns="http://xmlns.oracle.com/adfm/uimodel"
    version="10.1.3.39.84" id="untitled1PageDef"
    Package="oracle.view.pageDefs">
    <parameters/>
    <executables>
    <variableIterator id="variables">
    <variable Type="java.lang.String" Name="process_input"
    IsQueriable="false"/>
    <variable Type="java.lang.String" Name="process_Return"
    IsQueriable="false" IsUpdateable="0"
    DefaultValue="${bindings.process.result}"/>
    </variableIterator>
    </executables>
    <bindings>
    <methodAction id="process" MethodName="process" RequiresUpdateModel="true"
    Action="999" IsViewObjectMethod="false"
    DataControl="product_customer" InstanceName="product_customer"
    ReturnName="product_customer.methodResults.product_customer_process_result">
    <NamedData NDName="input" NDType="java.lang.String"
    NDValue="${bindings.process_input}"/>
    </methodAction>
    <attributeValues id="input" IterBinding="variables">
    <AttrNames>
    <Item Value="process_input"/>
    </AttrNames>
    </attributeValues>
    <attributeValues id="process1" IterBinding="variables">
    <AttrNames>
    <Item Value="process_Return"/>
    </AttrNames>
    </attributeValues>
    </bindings>
    </pageDefinition>
    <?xml version="1.0" encoding="UTF-8" ?>
    <JavaBean xmlns="http://xmlns.oracle.com/adfm/beanmodel" version="10.1.3.39.84"
    id="product_customer" BeanClass="product_customer"
    isJavaBased="false">
    <MethodAccessor IsCollection="false" Type="java.lang.String" id="process"
    ReturnNodeName="Return">
    <ParameterInfo id="input" Type="java.lang.String" isStructured="false"/>
    </MethodAccessor>
    </JavaBean>

    hi, i just can not post the long information...test
    ProductSession.wsdl
    <?xml version = '1.0' encoding = 'UTF-8'?>
    <definitions xmlns="http://schemas.xmlsoap.org/wsdl/" xmlns:soap12="http://schemas.xmlsoap.org/wsdl/soap12/" xmlns:soap="http://schemas.xmlsoap.org/wsdl/soap/" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:mime="http://schemas.xmlsoap.org/wsdl/mime/" xmlns:tns="http://oracle/" name="ProductSessionWebServiceService" targetNamespace="http://oracle/">
    <types>
    <schema xmlns="http://www.w3.org/2001/XMLSchema" xmlns:wsdl="http://schemas.xmlsoap.org/wsdl/" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:soap11-enc="http://schemas.xmlsoap.org/soap/encoding/" targetNamespace="http://oracle/" elementFormDefault="qualified">
    <complexType name="Product">
    <sequence>
    <element name="brand" type="string" nillable="true"/>
    <element name="price" type="float" nillable="true"/>
    <element name="description" type="string" nillable="true"/>
    <element name="category" type="string" nillable="true"/>
    <element name="name" type="string" nillable="true"/>
    <element name="prodid" type="long" nillable="true"/>
    </sequence>
    </complexType>
    <element name="mergeEntity" type="tns:mergeEntity"/>
    <complexType name="mergeEntity">
    <sequence>
    <element name="Object_1" type="anyType" nillable="true"/>
    </sequence>
    </complexType>
    <element name="mergeEntityResponse" type="tns:mergeEntityResponse"/>
    <complexType name="mergeEntityResponse">
    <sequence>
    <element name="return" type="anyType" nillable="true"/>
    </sequence>
    </complexType>
    <element name="persistEntity" type="tns:persistEntity"/>
    <complexType name="persistEntity">
    <sequence>
    <element name="Object_1" type="anyType" nillable="true"/>
    </sequence>
    </complexType>
    <element name="persistEntityResponse" type="tns:persistEntityResponse"/>
    <complexType name="persistEntityResponse">
    <sequence>
    <element name="return" type="anyType" nillable="true"/>
    </sequence>
    </complexType>
    <element name="queryProductFindAll" type="tns:queryProductFindAll"/>
    <complexType name="queryProductFindAll">
    <sequence/>
    </complexType>
    <element name="queryProductFindAllResponse" type="tns:queryProductFindAllResponse"/>
    <complexType name="queryProductFindAllResponse">
    <sequence>
    <element name="return" type="tns:ListOfProduct" nillable="true"/>
    </sequence>
    </complexType>
    <complexType name="ListOfProduct">
    <sequence>
    <element name="item" type="tns:Product" minOccurs="0" maxOccurs="unbounded"/>
    </sequence>
    </complexType>
    <element name="removeProduct" type="tns:removeProduct"/>
    <complexType name="removeProduct">
    <sequence>
    <element name="Product_1" type="tns:Product" nillable="true"/>
    </sequence>
    </complexType>
    <element name="removeProductResponse" type="tns:removeProductResponse"/>
    <complexType name="removeProductResponse">
    <sequence/>
    </complexType>
    </schema>
    </types>
    <message name="ProductSessionWebService_mergeEntity">
    <part name="parameters" element="tns:mergeEntity"/>
    </message>
    <message name="ProductSessionWebService_mergeEntityResponse">
    <part name="parameters" element="tns:mergeEntityResponse"/>
    </message>
    <message name="ProductSessionWebService_persistEntity">
    <part name="parameters" element="tns:persistEntity"/>
    </message>
    <message name="ProductSessionWebService_persistEntityResponse">
    <part name="parameters" element="tns:persistEntityResponse"/>
    </message>
    <message name="ProductSessionWebService_queryProductFindAll">
    <part name="parameters" element="tns:queryProductFindAll"/>
    </message>
    <message name="ProductSessionWebService_queryProductFindAllResponse">
    <part name="parameters" element="tns:queryProductFindAllResponse"/>
    </message>
    <message name="ProductSessionWebService_removeProduct">
    <part name="parameters" element="tns:removeProduct"/>
    </message>
    <message name="ProductSessionWebService_removeProductResponse">
    <part name="parameters" element="tns:removeProductResponse"/>
    </message>
    <portType name="ProductSessionWebService">
    <operation name="mergeEntity">
    <input message="tns:ProductSessionWebService_mergeEntity"/>
    <output message="tns:ProductSessionWebService_mergeEntityResponse"/>
    </operation>
    <operation name="persistEntity">
    <input message="tns:ProductSessionWebService_persistEntity"/>
    <output message="tns:ProductSessionWebService_persistEntityResponse"/>
    </operation>
    <operation name="queryProductFindAll">
    <input message="tns:ProductSessionWebService_queryProductFindAll"/>
    <output message="tns:ProductSessionWebService_queryProductFindAllResponse"/>
    </operation>
    <operation name="removeProduct">
    <input message="tns:ProductSessionWebService_removeProduct"/>
    <output message="tns:ProductSessionWebService_removeProductResponse"/>
    </operation>
    </portType>
    <binding name="ProductSessionWebServiceSoapHttp" type="tns:ProductSessionWebService">
    <soap:binding style="document" transport="http://schemas.xmlsoap.org/soap/http"/>
    <operation name="mergeEntity">
    <soap:operation soapAction=""/>
    <input>
    <soap:body use="literal"/>
    </input>
    <output>
    <soap:body use="literal"/>
    </output>
    </operation>
    <operation name="persistEntity">
    <soap:operation soapAction=""/>
    <input>
    <soap:body use="literal"/>
    </input>
    <output>
    <soap:body use="literal"/>
    </output>
    </operation>
    <operation name="queryProductFindAll">
    <soap:operation soapAction=""/>
    <input>
    <soap:body use="literal"/>
    </input>
    <output>
    <soap:body use="literal"/>
    </output>
    </operation>
    <operation name="removeProduct">
    <soap:operation soapAction=""/>
    <input>
    <soap:body use="literal"/>
    </input>
    <output>
    <soap:body use="literal"/>
    </output>
    </operation>
    </binding>
    <service name="ProductSessionWebServiceService">
    <port name="ProductSession" binding="tns:ProductSessionWebServiceSoapHttp">
    <soap:address location="http://home-f045512354:8888/testproduct/ProductSession"/>
    </port>
    </service>
    </definitions>

  • Invoking BPEL process from ADF...

    All,
    I have deployed one BPEL process and invoking the same process from ADF test page. I created one Webservice Data Control for this process and did drag and drop to ADF page. It is working fine as expected.
    When I created data control, I gave the web service URL as "http://<hostname>:<port>/orabpel/default/<processname>/.......<processname>.wsdl
    My question is, if I want to deploy this BPEL process as well as this ADF page into another server, what will happen to this ADF data control ? since the hostname and port will not be similar for the new server. Do I need to change any params ?
    Or when we create data control itself, are there any options to achieve this ?
    Please let me know the details.
    TIA,
    -- prabaa !

    Hi,
      Check if your wsdl endpoint can accessed properly. If yes, check the soap-binding address is properly pointing to the server hosting the webservice.
    Regards,
    Harikiran.

  • Invoking BPEL process from ADF application - webservice connection failed

    Hi,
    I am trying to invoke a Bpel process from ADF page , I deployed the same in Standalone SOA server since I had to display some Human Task Forms.
    I created a webservice data control out of the bpel process and dropped the process method in my page.
    The page on which I dropped the process method stopped rendering and I checked the logs and found that I got the error mesage- webservice connection failed,the webservice url could not be reached and in the logs it also asks us to check if the connections.xml is available in the meta-inf directory. I checked the conections.xml is available in the EAR.
    So any pointers here and any one faced this error anytime?
    is there better ways to invoke the bpel flow from ADF page.
    Thanks,
    Robin

    Hi,
      Check if your wsdl endpoint can accessed properly. If yes, check the soap-binding address is properly pointing to the server hosting the webservice.
    Regards,
    Harikiran.

  • WebService Invocation from ADF

    Hi,
    What is the standard process for invoking a service from a ADF application? I know that I can make a Call the the service from the java code and populate reslts in ABF Business Components. I just want to know if there is any other standard way to do this?

    Can any one provide me details about the same?
    My requirement is to invoke a BPEL process from ADF page and display returned results as a table.
    I have created a Data Control for the BPEL process an trying to invoke the process. I could see from the BPEL console that BPEL process is getting invoked. But ADF gets errored out with the following error message
    WARNING:
         Missing class: SuppLOV.process.SearchRecord
         Dependent class: oracle.jbo.common.JBOClass
         Loader: adf.oracle.domain:10.1.3.1
         Code-Source: /D:/JDEV_STUDIO/BC4J/lib/adfm.jar
         Configuration: <code-source> in /D:/JDEV_STUDIO/jdev/system/oracle.j2ee.10.1.3.40.66/embedded-oc4j/config/server.xml
    This load was initiated at current-workspace-app.web.JunkADFAppication-JunkADFPrUI-webapp:0.0.0 using the Class.forName() method.
    The missing class is not available from any code-source or loader in the system.
    Mar 13, 2007 11:33:16 PM oracle.adf.controller.faces.lifecycle.FacesPageLifecycle addMessage
    WARNING: JBO-25029: Data class (a domain?) SuppLOV.process.SearchRecord not found
    Mar 13, 2007 11:33:16 PM oracle.adf.controller.faces.lifecycle.FacesPageLifecycle addMessage
    Here: SuppLOV is name of data link I have created for the web service and process is operation of BPEL process and SearchRecord is XML node of the returned data.
    Can any one help me in this regard?

  • Oracle Business Rule Engine

    Hello Everyone,
    I am using Oracle Business Rule in an application. I want to know that is it possible to call a rule
    set from another rule file.
    Suppose there are two rule files RuleFile1 and RuleFile2.
    We have invoked RuleFile1 the by any how can we invoke the rule set from RUleFile2.
    thanks
    saleem

    Yes, it is.
    In RuleFile2, just add
    include file:RuleFile1.rl;
    Then, all of the elements in RuleFile1.rl can be referenced from RuleFile2. Since RL is interpreted, the file must be available at runtime.
    --Phil                                                                                                                                                                                                                                                                                                                                                                                                                                                                   

  • ERROR: Invoking BPEL PROCESS FROM ADF APP

    hi guys ,
    I have made a simple bpel process with invokes a webservice (This service only gets a string and returns the string).
    I have tested this bpel process and web service it works fine. when tested with bpel console.
    I copied the wsdl of bpel and created the datacontrol.
    the problem is that when i hit start the process from ADF App. it raises the error
    Sep 7, 2009 1:24:49 PM oracle.wsm.common.logging.WsmMessageLogger logSevere
    SEVERE: Failure in looking up EJB component PolicyAccessService#oracle.wsm.policymanager.ejb.IStringPolicyAccessServiceRemote.
    Sep 7, 2009 1:24:49 PM oracle.wsm.common.logging.WsmMessageLogger logSevere
    SEVERE: Failure in looking up EJB component PolicyAccessService#oracle.wsm.policymanager.ejb.IStringPolicyAccessServiceRemote.
    Sep 7, 2009 1:24:49 PM oracle.adf.model.connection.webservice.impl.WebServiceConnectionMessages debugExecuteFailure
    SEVERE: Failed to execute a SAAJ interaction.
    javax.xml.ws.WebServiceException: oracle.fabric.common.PolicyEnforcementException
         at oracle.j2ee.ws.client.jaxws.DispatchImpl.invoke(DispatchImpl.java:741)
         at oracle.j2ee.ws.client.jaxws.OracleDispatchImpl.synchronousInvocationWithRetry(OracleDispatchImpl.java:226)
         at oracle.j2ee.ws.client.jaxws.OracleDispatchImpl.invoke(OracleDispatchImpl.java:97)
         at oracle.adf.model.connection.webservice.impl.SaajInteractionImpl.execute(SaajInteractionImpl.java:87)
         at oracle.adfinternal.model.adapter.webservice.provider.soap.SOAPProvider.execute(SOAPProvider.java:323)
         at oracle.adfinternal.model.adapter.webservice.WSDataControl.invokeOperation(WSDataControl.java:251)
         at oracle.adf.model.bean.DCBeanDataControl.invokeMethod(DCBeanDataControl.java:427)
         at oracle.adf.model.binding.DCInvokeMethod.callMethod(DCInvokeMethod.java:256)
         at oracle.jbo.uicli.binding.JUCtrlActionBinding.doIt(JUCtrlActionBinding.java:1437)
         at oracle.adf.model.binding.DCDataControl.invokeOperation(DCDataControl.java:2120)
         at oracle.adf.model.bean.DCBeanDataControl.invokeOperation(DCBeanDataControl.java:464)
         at oracle.adf.model.adapter.AdapterDCService.invokeOperation(AdapterDCService.java:307)
         at oracle.jbo.uicli.binding.JUCtrlActionBinding.invoke(JUCtrlActionBinding.java:693)
         at oracle.adf.controller.v2.lifecycle.PageLifecycleImpl.executeEvent(PageLifecycleImpl.java:394)
         at oracle.adfinternal.view.faces.model.binding.FacesCtrlActionBinding._execute(FacesCtrlActionBinding.java:217)
         at oracle.adfinternal.view.faces.model.binding.FacesCtrlActionBinding.execute(FacesCtrlActionBinding.java:176)
         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.sun.el.parser.AstValue.invoke(AstValue.java:157)
         at com.sun.el.MethodExpressionImpl.invoke(MethodExpressionImpl.java:283)
         at org.apache.myfaces.trinidadinternal.taglib.util.MethodExpressionMethodBinding.invoke(MethodExpressionMethodBinding.java:53)
         at org.apache.myfaces.trinidad.component.UIXComponentBase.broadcastToMethodBinding(UIXComponentBase.java:1245)
         at org.apache.myfaces.trinidad.component.UIXCommand.broadcast(UIXCommand.java:183)
         at javax.faces.component.UIViewRoot.broadcastEvents(UIViewRoot.java:475)
         at javax.faces.component.UIViewRoot.processApplication(UIViewRoot.java:756)
         at oracle.adfinternal.view.faces.lifecycle.LifecycleImpl._invokeApplication(LifecycleImpl.java:673)
         at oracle.adfinternal.view.faces.lifecycle.LifecycleImpl._executePhase(LifecycleImpl.java:273)
         at oracle.adfinternal.view.faces.lifecycle.LifecycleImpl.execute(LifecycleImpl.java:165)
         at javax.faces.webapp.FacesServlet.service(FacesServlet.java:265)
         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:292)
         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:191)
         at weblogic.servlet.internal.FilterChainImpl.doFilter(FilterChainImpl.java:56)
         at oracle.adfinternal.view.faces.webapp.rich.RegistrationFilter.doFilter(RegistrationFilter.java:85)
         at org.apache.myfaces.trinidadinternal.webapp.TrinidadFilterImpl$FilterListChain.doFilter(TrinidadFilterImpl.java:420)
         at oracle.adfinternal.view.faces.activedata.AdsFilter.doFilter(AdsFilter.java:54)
         at org.apache.myfaces.trinidadinternal.webapp.TrinidadFilterImpl$FilterListChain.doFilter(TrinidadFilterImpl.java:420)
         at org.apache.myfaces.trinidadinternal.webapp.TrinidadFilterImpl._doFilterImpl(TrinidadFilterImpl.java:247)
         at org.apache.myfaces.trinidadinternal.webapp.TrinidadFilterImpl.doFilter(TrinidadFilterImpl.java:157)
         at org.apache.myfaces.trinidad.webapp.TrinidadFilter.doFilter(TrinidadFilter.java:92)
         at weblogic.servlet.internal.FilterChainImpl.doFilter(FilterChainImpl.java:56)
         at oracle.security.jps.wls.JpsWlsFilter$1.run(JpsWlsFilter.java:96)
         at java.security.AccessController.doPrivileged(Native Method)
         at oracle.security.jps.util.JpsSubject.doAsPrivileged(JpsSubject.java:313)
         at oracle.security.jps.wls.util.JpsWlsUtil.runJaasMode(JpsWlsUtil.java:146)
         at oracle.security.jps.wls.JpsWlsFilter.doFilter(JpsWlsFilter.java:140)
         at oracle.security.jps.ee.http.JpsFilter.doFilter(JpsFilter.java:70)
         at weblogic.servlet.internal.FilterChainImpl.doFilter(FilterChainImpl.java:56)
         at oracle.dms.wls.DMSServletFilter.doFilter(DMSServletFilter.java:202)
         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.run(WebAppServletContext.java:3588)
         at weblogic.security.acl.internal.AuthenticatedSubject.doAs(AuthenticatedSubject.java:321)
         at weblogic.security.service.SecurityManager.runAs(SecurityManager.java:121)
         at weblogic.servlet.internal.WebAppServletContext.securedExecute(WebAppServletContext.java:2200)
         at weblogic.servlet.internal.WebAppServletContext.execute(WebAppServletContext.java:2106)
         at weblogic.servlet.internal.ServletRequestImpl.run(ServletRequestImpl.java:1428)
         at weblogic.work.ExecuteThread.execute(ExecuteThread.java:201)
         at weblogic.work.ExecuteThread.run(ExecuteThread.java:173)
    Caused by: oracle.fabric.common.PolicyEnforcementException
         at oracle.integration.platform.common.InterceptorChainImpl.createPolicyEnforcementException(InterceptorChainImpl.java:161)
         at oracle.integration.platform.common.InterceptorChainImpl.processRequest(InterceptorChainImpl.java:97)
         at oracle.integration.platform.common.mgmt.InterceptorChainManager.processRequest(InterceptorChainManager.java:216)
         at oracle.j2ee.ws.client.mgmt.runtime.SuperClientInterceptorPipeline.handleRequest(SuperClientInterceptorPipeline.java:96)
         at oracle.j2ee.ws.client.jaxws.DispatchImpl.handleRequest(DispatchImpl.java:524)
         at oracle.j2ee.ws.client.jaxws.DispatchImpl.handleRequest(DispatchImpl.java:508)
         at oracle.j2ee.ws.client.jaxws.DispatchImpl.invoke(DispatchImpl.java:693)
         ... 64 more
    Caused by: java.lang.NullPointerException
         at oracle.j2ee.ws.rm.interceptor.WSRMClientInterceptor.processRequest(WSRMClientInterceptor.java:169)
         at oracle.integration.platform.common.InterceptorChainImpl.processRequest(InterceptorChainImpl.java:89)
         ... 69 more
    <env:Envelope xmlns:env="http://schemas.xmlsoap.org/soap/envelope/" xmlns:ns1="http://xmlns.oracle.com/SOAApp1/Project1/BPELProcess1"><env:Header/><env:Body><ns1:process><ns1:input>Shakeel Anjum</ns1:input></ns1:process></env:Body></env:Envelope>
    Kindly help
    Regards,
    Tariq

    Hi,
      Check if your wsdl endpoint can accessed properly. If yes, check the soap-binding address is properly pointing to the server hosting the webservice.
    Regards,
    Harikiran.

  • Error when invoking Rule Engine using Java API

    Hi,
    I have implemented a Java class which calls the Rule Engine to execute the rules. If I test by setting the value of the input inside a main method and get the output, it is working fine. The ruleset is also invoked and there is no problem. However, when I expose this java class as a web service and invoke the web service, I get the below error. I dont get the error if the .rules file is not present in the loaction mentioned. I get the error when the .rules file is present in the location. Not sure if this is an issue with the java call outs or loading the dictionary.
    Error:_
    <faultcode>S:Server</faultcode>
    <faultstring>oracle/rules/sdk2/exception/SDKException</faultstring>
    <ns2:exception xmlns:ns2="http://jax-ws.dev.java.net/" note="To disable this feature, set com.sun.xml.ws.fault.SOAPFaultBuilder.disableCaptureStackTrace system property to false" class="java.lang.NoClassDefFoundError">
    <message>oracle/rules/sdk2/exception/SDKException</message>
    <ns2:stackTrace>
    <ns2:frame line="38" file="ImplementRules.java" method="Query" class="oracle.rules.querystudentcriteria.ImplementRules"/>
    <ns2:frame line="native" file="NativeMethodAccessorImpl.java" method="invoke0" class="sun.reflect.NativeMethodAccessorImpl"/>
    <ns2:frame line="39" file="NativeMethodAccessorImpl.java" method="invoke" class="sun.reflect.NativeMethodAccessorImpl"/>
    <ns2:frame line="25" file="DelegatingMethodAccessorImpl.java" method="invoke" class="sun.reflect.DelegatingMethodAccessorImpl"/>
    <ns2:frame line="597" file="Method.java" method="invoke" class="java.lang.reflect.Method"/>
    <ns2:frame line="101" file="WLSInstanceResolver.java" method="invoke" class="weblogic.wsee.jaxws.WLSInstanceResolver$WLSInvoker"/>
    <ns2:frame line="83" file="WLSInstanceResolver.java" method="invoke" class="weblogic.wsee.jaxws.WLSInstanceResolver$WLSInvoker"/>
    <ns2:frame line="152" file="InvokerTube.java" method="invoke" class="com.sun.xml.ws.server.InvokerTube$2"/>
    <ns2:frame line="264" file="EndpointMethodHandler.java" method="invoke" class="com.sun.xml.ws.server.sei.EndpointMethodHandler"/>
    <ns2:frame line="93" file="SEIInvokerTube.java" method="processRequest" class="com.sun.xml.ws.server.sei.SEIInvokerTube"/>
    <ns2:frame line="604" file="Fiber.java" method="__doRun" class="com.sun.xml.ws.api.pipe.Fiber"/>
    <ns2:frame line="563" file="Fiber.java" method="_doRun" class="com.sun.xml.ws.api.pipe.Fiber"/>
    <ns2:frame line="548" file="Fiber.java" method="doRun" class="com.sun.xml.ws.api.pipe.Fiber"/>
    <ns2:frame line="445" file="Fiber.java" method="runSync" class="com.sun.xml.ws.api.pipe.Fiber"/>
    <ns2:frame line="275" file="WSEndpointImpl.java" method="process" class="com.sun.xml.ws.server.WSEndpointImpl$2"/>
    <ns2:frame line="454" file="HttpAdapter.java" method="handle" class="com.sun.xml.ws.transport.http.HttpAdapter$HttpToolkit"/>
    <ns2:frame line="250" file="HttpAdapter.java" method="handle" class="com.sun.xml.ws.transport.http.HttpAdapter"/>
    <ns2:frame line="140" file="ServletAdapter.java" method="handle" class="com.sun.xml.ws.transport.http.servlet.ServletAdapter"/>
    <ns2:frame line="319" file="HttpServletAdapter.java" method="run" class="weblogic.wsee.jaxws.HttpServletAdapter$AuthorizedInvoke"/>
    <ns2:frame line="232" file="HttpServletAdapter.java" method="post" class="weblogic.wsee.jaxws.HttpServletAdapter"/>
    <ns2:frame line="310" file="JAXWSServlet.java" method="doPost" class="weblogic.wsee.jaxws.JAXWSServlet"/>
    <ns2:frame line="727" file="HttpServlet.java" method="service" class="javax.servlet.http.HttpServlet"/>
    <ns2:frame line="87" file="JAXWSServlet.java" method="service" class="weblogic.wsee.jaxws.JAXWSServlet"/>
    <ns2:frame line="820" file="HttpServlet.java" method="service" class="javax.servlet.http.HttpServlet"/>
    <ns2:frame line="227" file="StubSecurityHelper.java" method="run" class="weblogic.servlet.internal.StubSecurityHelper$ServletServiceAction"/>
    <ns2:frame line="125" file="StubSecurityHelper.java" method="invokeServlet" class="weblogic.servlet.internal.StubSecurityHelper"/>
    <ns2:frame line="292" file="ServletStubImpl.java" method="execute" class="weblogic.servlet.internal.ServletStubImpl"/>
    <ns2:frame line="26" file="TailFilter.java" method="doFilter" class="weblogic.servlet.internal.TailFilter"/>
    <ns2:frame line="56" file="FilterChainImpl.java" method="doFilter" class="weblogic.servlet.internal.FilterChainImpl"/>
    <ns2:frame line="326" file="DMSServletFilter.java" method="doFilter" class="oracle.dms.wls.DMSServletFilter"/>
    <ns2:frame line="56" file="FilterChainImpl.java" method="doFilter" class="weblogic.servlet.internal.FilterChainImpl"/>
    <ns2:frame line="3592" file="WebAppServletContext.java" method="run" class="weblogic.servlet.internal.WebAppServletContext$ServletInvocationAction"/>
    <ns2:frame line="321" file="AuthenticatedSubject.java" method="doAs" class="weblogic.security.acl.internal.AuthenticatedSubject"/>
    <ns2:frame line="121" file="SecurityManager.java" method="runAs" class="weblogic.security.service.SecurityManager"/>
    <ns2:frame line="2202" file="WebAppServletContext.java" method="securedExecute" class="weblogic.servlet.internal.WebAppServletContext"/>
    <ns2:frame line="2108" file="WebAppServletContext.java" method="execute" class="weblogic.servlet.internal.WebAppServletContext"/>
    <ns2:frame line="1432" file="ServletRequestImpl.java" method="run" class="weblogic.servlet.internal.ServletRequestImpl"/>
    <ns2:frame line="201" file="ExecuteThread.java" method="execute" class="weblogic.work.ExecuteThread"/>
    <ns2:frame line="173" file="ExecuteThread.java" method="run" class="weblogic.work.ExecuteThread"/>
    </ns2:stackTrace>
    The Java class looks like:
    public PersonType Query (PersonType p)
    try {
    //FileReader reader = new FileReader("/home/orasoa/223345/STRS1.rules");
    //FileReader reader = new FileReader("D:\\Arun\\NGCE_WS\\POC1\\UHG\\QueryStudentCriteria\\oracle\\rules\\querystudentcriteria\\STRS1.rules");
    InputStream stream=ImplementRules.class.getResourceAsStream("/STRS1.rules");
    Reader reader=new InputStreamReader(stream);
    RuleDictionary dict = RuleDictionary.readDictionary(reader, new DecisionPointDictionaryFinder(null));
    List<SDKWarning> warnings = new ArrayList<SDKWarning>();
    dict.update(warnings);
    DecisionPoint decisionPoint = new DecisionPointBuilder().with("STRS1_DecisionService_1").with(dict).build();
    DecisionPointInstance point = decisionPoint.getInstance();
    ArrayList input=new ArrayList();
    input.add(p);
    point.setInputs(input);
    List<Object> output=point.invoke();
    catch (Exception e) {}
    return p;
    Cheers,
    - AR

    Hi, I am getting a similar error when I deploy my application on the weblogic server.
    Could you detail how this was resolved?
    Thanks,
    SB

  • Invoke secured WS from ADF JSF Page

    Hello,
    How can I invoke secured Web Service from simple adf jsf page?? Service is secured by wss_username_token_service_policy.
    I'll be glad if somebody could give me some tutorial how to build this page. I mean inputs for username and password.
    Best regards,
    MK

    Hi,
    I've read your article: http://www.oracle.com/technology/products/jdev/howtos/1013/protectedws/access_protected_web_services_from_adf.htm I added to the Model - Web Service Data control and as a service give a link to my composite application deployed on soa_server (http://localhost:8001/soa-infra/services/default/registerMyPassComposite/registerMyPassWebService?WSDL). When i click on Define Web Service security I only have a window to add policies and there is no wizard steps as you shown i your article Figure 9. I cannot chose Authentication type but I can only define policies for my dataControl.
    How to resolve it?

  • Invoke OSB service from ADF page

    How can we invoke an osb service from an Adf Page
    Thanks,

    Raise a thread in ADF forum and you should get an answer there -
    JDeveloper and ADF
    Regards,
    Anuj

  • OSB Invoking ILOG or External Rules Engine

    Hello,
    Can OSB invoke ILOG or any external Rules engine ?
    Can ALSB do the same ?
    If OSB cannot directly invoke, do we need the support of BPEL which has the decision service and OSB invoke the decision service. Kindly help.
    Thanks

    Yes, both OSB and ALSB can invoke JRules, it's just another web service...

Maybe you are looking for