Exposing business rules as web services in 11g
Hi all,
I have deployed my business rules in Enterprise Manager, but the test button is disabled and I'm getting the next message: "In Enterprise Manager only can be tested composites that are exposed as web services". Does anybody knows how can I do that?
There are a couple of ways you can do it.
1. Drag a Web Service Adapter in the 'Exposed Services' panel in your composite and during configuration choose the WSDL of the Decision service i.e Rules. This will expose the rules as a web service if not already.
2. Double Click on the Reference icon on the Decision Service component (small rounded blue arrow). An Update Interface window will pop up. Check box 'Create Composite Service with soap binding' and select the appropriate port type from the available list.
You can now invoke your rule as web services and even test them from the EM console
Similar Messages
-
Expose Business rules as Web Service
Hi,
I'm quite new to business rules, and I haven't found any definite information about can I and how expose business rules application as Web Service? In Decision Functions I can check "Will be invoked as webservice", but how can I deploy it on server and so on?
Thanks in advance.Hi PK,
Sorry What i meant was composite service, not web service
Used wrong wording
In your composite if you have only businessrules as a component and if you are exposing your BR as service, and if u deploy that process it will give you a wsdl for that composite, which means for BR. Because the client is calling BR it self.
Regards
PavanKumar.M -
Expose Business Rules as composite service
I´m trying to invoke a business rules as web service, i create a composite aplication and add a busniess rule that is exposed as WS.
For my rule a need only one input data "testData" but when i test my service from the Enterprise Manager is data is needed:
<soap:Envelope xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/">
<soap:Body xmlns:ns1="http://xmlns.oracle.com/OracleRules1/OracleRules1_OracleRules1_DecisionService_1">
<ns1:callFunctionStateful name="">
<ns1:configURL></ns1:configURL>
<ns1:bpelInstance xmlns:ns2="http://xmlns.oracle.com/bpel">
<ns2:processId></ns2:processId>
<ns2:processVersion></ns2:processVersion>
<ns2:domainId></ns2:domainId>
<ns2:processURL></ns2:processURL>
<ns2:instanceId></ns2:instanceId>
<ns2:conversationId></ns2:conversationId>
</ns1:bpelInstance>
<ns1:parameterList xmlns:ns3="www.xxx.com/crm/services/rules">
<ns3:Input>
<ns3:testData></ns3:testData>
</ns3:Input>
</ns1:parameterList>
</ns1:callFunctionStateful>
</soap:Body>
</soap:Envelope>
Do you know what are the other´s needed data?
Thanks!I am able to test the business service i exposed as webservice without using BPEL .
i sent some dummy values to the processId, processVersion , etc.
Only required value is payload @ * name NCName once i provided the correct value to it i received the correct response by executing the business rules.
Thanks
Phani -
Expose Business Rules as composite service - ORAMED-03303 on call
Hi folks,
I'm on 11g PS2 and Jdeveloper 11.1.1.3.0 with Oracle SOA Composite Editor 11.1.1.3.0.25.57
The problem: I get ORAMED exception when I call the business rule through its automagically created web service endpoint
Among the many things which I've tried and didn't work:
- create my own web service end point for the business process
- turn on WS Addr for the web service end point
The payload and returned fault are as follows:
<messages>
<input>
<Invoke_ruleBlacklist_callFunctionStateless_InputVariable>
<part name="payload">
<ns0:callFunctionStateless name="processRequest">
<bpelInstance>
<processId>processRequest</processId>
<processVersion>1.0</processVersion>
<domainId/>
<processURL>http://localhost:8001/soa-infra/services/default/TestInitiateProcess!1.0*soa_e2ef0cb6-2dbe-4047-96e3-7a8edff9fc16</processURL>
<instanceId>70002</instanceId>
</bpelInstance>
<parameterList>
<BlacklistRuleInput>
<party>
<partyId>string</partyId>
<partyOrganisation>string</partyOrganisation>
<partyName>string</partyName>
</party>
</BlacklistRuleInput>
</parameterList>
</ns0:callFunctionStateless>
</part>
</Invoke_ruleBlacklist_callFunctionStateless_InputVariable>
</input>
<fault>
<bpelFault>
<faultType>0</faultType>
<operationErroredFault>
<part name="payload">
<errorInfo>
<errorMessage>TestBusinessRules</errorMessage>
</errorInfo>
</part>
</operationErroredFault>
</bpelFault>
</fault>
<faultType>
<message>0</message>
</faultType>
</messages>
__Steps to reproduce:__
Create a new project, add simple business rule, tick 'expose as composite service'. A Web service endpoint is automagically created
To another project:
- add a web service reference to the business rule ws endpoint
- add an Assign and Invoke activity within BPEL towards the business rule
Thanks in advance for reading and appreciate your guidance pleaseHi there jeem,
I'm having a world of trouble with that same Rules composite example, the OrderApproval one. I've deployed it, and can invoke it, and yet get the following error each time I invoke it:
HTTP/1.1 500 Internal Server Error
Content-Type: text/xml; charset=UTF-8
X-Powered-By: Servlet/2.5 JSP/2.1
SOAPAction: ""
Content-Length: 546
Date: Tue, 31 Aug 2010 03:36:22 GMT
X-ORACLE-DMS-ECID: 0000If6Dsbg0FwI5yrDCiW1CV7Dc0000A1
X-HTTPAnalyzer-RuleName: Pass through :
<env:Envelope xmlns:env="http://schemas.xmlsoap.org/soap/envelope/">
<env:Header/>
<env:Body>
<env:Fault xmlns:fpre="http://xmlns.oracle.com/OracleRules1/OracleRules1_DecisionService_1">
<faultcode>fpre:operationErroredFault</faultcode>
<faultstring/>
<faultactor/>
<detail>
<errorInfo xmlns="http://xmlns.oracle.com/OracleRules1/OracleRules1_DecisionService_1">
<errorMessage>default/OrderApproval!1.6*soa_5acae7d5-9fcf-4620-a9aa-8fb621faaf0d/OracleRules1</errorMessage>
</errorInfo>
</detail>
</env:Fault>
</env:Body>
</env:Envelope>
I've tried specifying the name attribute (I'm using "OracleRules1_DecisionService_1" for this) against the callFunctionStateless element, but am still getting this error!
Can you yourself, jeer, or anyone else please help with this? I've turned on low level logging for the soa server, but the errors it's throwing really don't enlighten me very much at all!
Any help will be very much appreciated.
Regards,
Rhian -
Exposing Business Object as Web Service
Hi,
I've designed a Business Object and would like to expose its findAll Operation as a web service. The wizard tells that the operation has Improper operation message cardinality". While browsing through saphelp I found this: http://help.sap.com/saphelp_nwce10/helpdata/en/44/24128b347c1c9fe10000000a11466f/content.htm
Thats nice to know but doesn't solve my problem. How do I create a web service that returns ALL objects?
Thanks in advance for your help.
Bastian
edit:
this on solved it:
CE/CAF: Expose service as WebserviceHi,
you need to create wrapper method of findAll,
The reason you are not able to expose it as service because findAll resturning array of values instead of one response (or candinality of return is 0..n). So create one wrapper complex type add your BO as datatype of that complex type with multiple cardinality,
In new method add this complex type as response (with cardinality 0..1) and within code call standard findAll and mapp return value to complext type.
It will work.
Regards,
Gourav -
Exposing Oracle Business Rule As Composite Service
Hi Gurus,
I have created a simple business rule and exposed it as composite service(without using any BPEL process) and deployed it into server successfully.Now i want to call that Business rule as webservice in my BPEL process, but i am facing some issues like, have to provide values of some fields like NCName,some attributes under bpelInstaces.
When i checked the Business Rule project in EMconsole,faced the same scenario.
Question: is it mandatory to use BPEL process at the time of exposing Business Rule?
Any suggestion is helpful to me..
Thanks in advance
SharmisthaHi Sai,
Thanks for the rply.
Yes, The "Will be Invoked as A Web Service" property is "Checked" for Business Rule Decision Function and the service name is also available.
when i am trying to get the wsdl of the web service it shows "Error 404-Not Found". (http://<host>:<soa port>/<service name>?wsdl)
*[e.g http://<host>:<soa port>/OracleRules_WSTest_DecisionService_1?wsdl]*
But the ruleset is available in the SOA Composer.
Still facing the same problem, can't invoke the Business Rule in my composite as Web-service.
Sharmistha -
Exposing a process as web service on Oracle BPM 11g
Hi!
Does somebody know how can I expose a process as a web service on Oracle BPM 11g? How does it works?
In the version 10.3, when we exposed a process as web service it always had 3 default methods: startSession, getInstanceStatus and discardSession, is it the same in the 11g version?
Where can I found some info about it? Any tutorial?
Thanks a lot!
AnaTypically you would use a Message Start event to start the process in conjunction with a Message End event. This will allow your process to be called as an asynchronous web service.
In the "Implementation" section for the start event, you specify the input parameters. You can specify "Define Interface" to directly define the interface, or use an existing interface from the BPM Catalog (the From Catalog option).
For further details on the different event types and their use cases, refer to the modeling and implementation guide:
http://download.oracle.com/docs/cd/E14571_01/doc.1111/e15176/toc.htm
You can test the web service and examine the WSDL and endpoints by using FMW control (Enterprise Manager). In the menu on the left hand side: expand SOA -> SOA-Infra -> <Partition Name> -> Composite Name, then click the "Test" button at the top. -
Expose ADF Business Components as Web Service
Hi,
In order to expose ADF BC as Web Services, and return a set a rows from a table, I have followed the tutorial on this page :
http://www.oracle.com/technology/tech/webservices/htdocs/series/pattern/
However, the set of rows returned are un-typed XML elements, because the method is :
public Element getEmp(int empNo)
getEmpView1().setWhereClause("empno = ?");
getEmpView1().setWhereClauseParam(0, new Number(empNo));
return (Element)getEmpView1().writeXML(1,Row.XML_OPT_ALL_ROWS);
As a consequence, in the WSDL the response port is returning a complex type with an "<any />" element. Instead, I would like the response complex type to be an Employee type.
How can I get the AppModule method to be something like :
public Employee getEmp(int empNo)
< what is here ? >
Can I generate the Employee class automatically with ADF BC and serialize it to expose the method as a Web Service ?
Thanks.up
-
Benefits of exposing function module as web services
Hi All,
We are developing a case study about exposing function modules as web services.
Those web services would be later used for integration to SAP box with a Java application.
Kindly help me with the pros and cons of exposing function modules as web services when compared to SAP PI. Also please do quote some examples, wherever possible.
Thanks,
VarunHi Varun,
Pros--->
1)Exposing FM as Web Services is indeed a good choice when you want service consumer to be platform and language independent.
i.e it can be consumed by .Net, java or any other language.
2) You are moving towards SOA
3) Composing Business Process by concatenating different functional modules is easy.
4) Complexity is less while consuming services Java, CAF etc.
Cons----> Performance for Web Services is comparatively less than JCo .
If you are bringing PI in between landscape, you are increasing one more layer of middleware which would also hit performance.
The benefit which PI can give is monitoring your company wide integrations at one central point when you have huge systems.
Hope this helps.
Piyush -
Hello All,
I am working on a SOAP to SOAP (Backend as ECC where I am exposing an RFC as Web Service). Once the Web service is generated for RFC and the WSDL is imported in PI, I can see that all the fields in different nodes become mandatory.
Is it how normally Web Service for BAPI works or can this behaviour (mandatory / optional) be controlled ?
Also when I execute the end to end scenario via SOAP UI, I don't get any error back but also neither get the Return table nor the Sales Order NO. I am using the BAPI BAPI_SALESORDER_CREATEFROMDAT2.
Can it be because of no COMMIT (The BAPI uses external commit although this reason seems less likely as executing a RFC wo any commit atleast gives me a Sales Order no) ?
How can this call be analysed in backend ECC system ? (As I assume that messages will not be visible in SXMB_MONI as explained by the Harald's thread below. I am currently in process of getting authorization of SOAMANAGER logs but wondering how it'll help?
Thanking you in advance.
SOAP to SOAP scenario: XML messages not visible in SXMB_MONI
Cheers
KanesIHi,
Please see the SOAP ststud..
http://<host>:5<sys#>00/mdt/amtServlet
also you might check any error logs.
The error is because of invalid xml document. So check the validity of the xml message ie. after first mapping i.e Req mapping.
For this you can refer this -
http://help.sap.com/saphelp_nw2004s/helpdata/en/2e/96fd3f2d14e869e10000000a155106/content.htm
See the below links
Also this blog may help you-/people/bhavesh.kantilal/blog/2006/07/03/jdbc-receiver-adapter--synchronous-select-150-step-by-step
Could not post a SOAP request to the interface
Message Servlet is in Status ERROR
Error while posting messages to SOAP sender adapter SP 13
http://localhost:50000/XISOAPAdapter/HelperServlet?action=FindChannel&channel=PartyA:SOAPService:soapchannel
SOAP Adapter in PCK
Regards
Chilla.. -
Exposing Inbound Interfaces as Web Service
Hi,
when it comes to expose XI interfaces as web services, the XI documentation quotes:
"Sie können sowohl von Outbound- als auch von Inbound-Message-Interfaces WSDL-Beschreibungen erzeugen."
-> i.e. Inbound interfaces can be exposed as web services.
But the web service definition wizard expects the quotation of an outbound interface. So am I right when I say that I always need an outbound interface? If yes, why is it possible to expose inbound interfaces???
Cheers,
HeikoHi,
no, inbound interfaces can only call web services
that are exposed on some other web servers
only outobund XI interfaces can be exposed as web services
(in this case XI acts as a web server)
and other applicaitons can call this outbound interface
Regards,
michal -
Binding RESTful web service / being exposed to a RESTful web service
Hi , I have two quick questions
1. can ORACLE BPEL bind a RESTful web service?
2. can a BPEL process be exposed to a RESTful web service?
ThanksBumping back to the top of the list.
Has anyone got any experience with RESTful web services saving to an item vs. a collection? Any pointers are greatly appreciated.
Earl -
SPML Web Service in 11g (XSD): fail to get the psoID
Hello.
Has anybody successfully used the default XSD version of the SPML web service in 11g? I was able to successfully invoke the Add User operation but I'm not seeing the psoID (this is the unique ID generated by OIM for the user) for the newly added user... The Oracle docs for 11g do not show how that is returned... I would think that in would be in the response but I do not see it there... Someone suggested using Search User to get the psoID but I do not see a Search operation in the WSDL for 11g...
I'm starting to think that the XSD version of the SPML in 11g is maybe incomplete? When I get chance, I may deploy the DSML version of the web service, and then run the Sample HTTP Client to see if that works better. I understand that this DSML version is what was used in 10g, and may be more robust.
Thoughts anybody?Sunny,
As you have pointed out, API will work.
But regarding your statement:
"Use SPML10g along with SPML11g (this is the cleanest OOTB solution wherein you can use the older set of SPML methods to fetch the userKey and then use newer SPML methods to perform asynchronous operations). I did the same"
SPML samples that came with 10g did not work with OIM 11g for me. Because from what I know, SPML in 10g made use of DSML profile and that is not supported in 11g.
http://docs.oracle.com/cd/E14571_01/doc.1111/e14309/spmlapi.htm#CHDCBJAI
"SPML has two profiles: the XSD profile and the DSML profile. This release of Oracle Identity Manager makes use of the XSD profile."
Did you tweak something to get it working?
Thanks. -
Exposing backend data as Web Service
I have an RFC which takes in employee name as input and supervisor name as output.
I want to expose this functionality as Web Service using NWDS. What should I do? Any good tutorial?Hi,
Check this weblog, which mentions how to convert RFCs as Webservices
Using RFC as WebService in WebDynpro
Regards,
Ganesh N -
Cannot find the WSDL as I expose a process to web service
Hi,
I have a simple process, and I try to expose it to a web service by using "Process Web Service", and I start the studio web server and test it with "http://localhost:8598/Lesson19-4WebService/webservices/ProcessService?WSDL" but no WSDL appear. Could you help me? Thanks in advance.
Best Regards,
BillPlease find the following forum.
Process exposed as a web service does not work when deployed
This should resolve the issue.
Hope this helps.
Sarat
Maybe you are looking for
-
Removing Space Between Web Parts causes Horizontal Bar in Modals
Hello all, I used the following to remove space between Web Parts, but am now getting a horizontal bar in my modals. Please assist: http://www.ashokraja.me/tips/How-To-Remove-Extra-Space-Around-the-Web-Part-In-SharePoint-2013 Thanks! Kelly Personal B
-
Unable to open Sony A77II Raw files in PSE11. [was: Camera raw]
I have the Sony A77 ii and i cannot open the Raw files in Elements 11. It says the file appears to be from a camera model that is not supported by the installed version of Camera Raw. I have the latest version installed. Does anyone else have this
-
In correct planned Delivery cost
Dear Experts, I have created one scheduling agreement with quantity 15000 with conditions basic price and delivery cost in percentage 1.65%. Then I have scheduled 5000 quantity in it. But when I take goods receipt of 5000 quantity the delivery cost i
-
this happen on my iphone5 since 11th of July 2013. i try to use other ID. it works. but the old one keep pop up on the screen. it's so awsome. can somebody pls give me a hand to solve this problem pls.... thanks alot
-
I'm trying to find a way to make an AppleScript that will mount an encrypted disk image and enter the password for it automatically. I can make it open all right, but I can't figure out how to make it enter the password (the 'with password' command d