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 thisSuggest 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-SekharIn 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,
RobinHi,
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? -
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
saleemYes, 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,
TariqHi,
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,
- ARHi, 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,
MKHi,
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.
ThanksYes, both OSB and ALSB can invoke JRules, it's just another web service...
Maybe you are looking for
-
Need help calling a method from an immutable class
I'm having difficulties in calling a method from my class called Cabin to my main. Here's the code in my main if(this is where i want my method hasKitchen() from my Cabin class) System.out.println("There is a kitchen.
-
Iphone not being recognized by Itunes for MAC; But works in Windows Vista
Hi, My iphone sync with Windows without problems. But when I plug my iPhone in MAC (10.5.5) with Itunes (8.0.2) the iTunes return: itunes could not connect to the iphone 0xE8000001 It is strange because iPhone connect with iPhoto without problems. Ju
-
Developing User Enhancement Modules in Adapter Engine Teched07 attender?
Hi, I am looking for the Java code of one of the hands on curses in the SAP Teched07. The course was a XI/PI, <i>Developing User Enhancement Modules in the Adapter Engine</i>, and I need the Java code of the Java Bean that was used. The name of the f
-
Newbie. Using Mac. I synced without deleting podcasts. My first sync
I have been able to delete one at a time 12 min Adobe Creative Suite podcasts by Terry White. If i could get more than one deleted I would have space in my IPOD Touch 32. I feel so dumb. My first sync. I took so long setting up mail I am afraid to re
-
Is there a way to access purchased music on both home and work computers?
I've finally started using the iTunes music store after years of avoiding it and I've purchased and downloaded a bunch of songs on my home computer. Today I installed iTunes on my work computer and was about to buy some new songs when I discovered th