Integrating Oracle EBS with web services which use SAML authentication
Hi,
I have a requirement to invoke web service using PL/SQL from a Custom Form of EBS.
The web Service is configured to use SAML as authentication mechanism.
Coming to question!
1) How do I make my EBS integrate with a SAML provider preferably (Oracle Identity Federation) ?
2) How do i get the SAML token in my PL/SQL and pass it on to the web service?
Regards
Dharmvir
user1983888 wrote:
Hi ,
We have Oracle EBS R12 (12.1.2) with Oracle Database 11gR2 (11.2.0.2) Database on Linux env.
We want to implement Oracle Database Vault 11gR2. We are referring to Note: Integrating Oracle E-Business Suite Release 12 with Oracle Database Vault 11gR2 [ID 1091083.1].
Do we need to install Oracle Database 11gR2 (s/w only) again on the Oracle Database Server or can we use the existing Oracle EBS Database 11gR2 Home which is already on 11.2?
Regards,
ThiruAs mentioned in the doc "If your E-Business Suite R12 is already integrated with 11gR2 database, you just need to enable Database Vault 11gR2 & register it with the database as per Task 3", so no installation of ORACLE_HOME is required and you just need to "Register Oracle Database Vault".
Thanks,
Hussein
Similar Messages
-
Oracle update with Web Service
I have a windows service running on IIS5 on a 2000 box. It
runs every two hours and pulls information from an Oracle
9i table. I package this information into an xml Docmument
and use the httpwebrequest to send it to web service
running on another machine. When the windows service
receives a successful send to the other machine it updates
the oracle table. On the second server meanwhile the web
service there takes the xml that was send and updates a
SQL7 table. It records a successfull or failed update to
the sql table and packages up the results(xml) and sends
them back to a web service running on the first machine.
This web service then takes the xml it recieves and
Updates the original Oracle table with a success or
failure. In my code I call the executenonquery and find
that 1 row was updated in the oracle table. I close the
connection and open a new one and pull out the field I
updated and email that result to myself. It shows that the
field was updated. However when I look in the Oracle table
through TOAD, or Quest Central the Table is not updated to
what it should be. The first update from the windows
service worked but the second update from the web service
does not work.
I have used the oledb provider that comes with .net, the microsoft .net provider for Oralce and ODP.NET from Oracle. I have
written the code in the web service to run as a
transaction and as just a straight sql statement. I have
written it to call a stored procedure in Oracle that will
update the table with a commit in the stored procedure. In
all cases my code tells me that the update was successful.
A trace running on Oracle shows my code executing with no
errors. Yet in all cases the Oracle table does not update.
I have since written a second windows service that runs 15
minutes after the first one runs and pulls values from a
temp table and does the updates this way THIS WORKS.
I just want to know why the web service could not update
the table directly. I think that this might be a bug in
either the .net environment or in Oracle. I'm sure both
Microsoft and Oracle will blame each others products but
it would be nice to know why this is happening.
If any other developers run into this problem be warned I
worked on it for three weeks and wrote my code 10 ways to
Sunday and it would not work.
Happy coding people.Let me understand this correctly. You are trying to update a column value twice. First update goes through but second does not and you don't get any error for the second update. If this is the scenario, it is not supposed to work.
Here is the reason. A column can be updated using Dataset only if the original column value in the database has not been changed. This is to avoid the dirty writes. Since the original value has not been changed for the first update, the column value is actually updated in the database. However, for the second update, since the original column value was changed by the first update, second update does not update the column value. -
ADF Security integration with Web Logic Security using SQL authenticator
Hi,
I was trying to find a suitable way of handling the following requirements:
1. Administrators should be able to create the roles, groups, users and assign users to roles.
2. User, Roles, Groups should be stored in DB and Users need to be authenticated accordingly.
3. I need to be able to map roles with security permissions on Taskflows, JSF Pages, on UI level using groovy expressions and even at Entities level.
I performed the following tasks:
1. I created back end Security tables, created SQL authenticator as provider and defined the queries in it then I created ADF Application and used JMX APIs to call the SQL authenticator to perform its operations.
2. I defined the roles and respective resource permissions in ADF i.e. Jazn xml file because my requirement no 3 would not be achievable without using ADF security.
Now in this scenario how I can login a user in ADF context and assign roles programmatically that I authenticated from JMX APIs? Or is there any other suitable way to handle these requirements?
Thanks.
-MoeenHi Charu,
Thanks for your reply.
Can we programmatically add a user in adfsecuritycontext as a currently logged in user, a user which is not present in jazn.xml file? If yes then can we programmatically assign the roles which are defined in jazn.xml to that specific user?
Moeen -
Article: Virtualize Your Oracle Database with Web Services
http://www.oracle.com/technology/pub/articles/mensah_dws.html
http://www.oracle.com/technology/pub/articles/mensah_dws.html
-
How different Web Services can use a class which parses an XML file
I am using RAD6.1 for developing and deploying web services.As I am using 15 web Services which uses a common class which is used to parse an XML file.As this XML file should be parsed only once and should be used by all the web services.I have made this common class as Singleton but it works as singleton for only one webservice and for other web service again it is parsing the xml file.I want to parse this xml file only once and used by all the web services.In my case tis file is parsed 15 times for 15 web services, but it should be parse donly once and used by all 15 services.Please give me the solution.
Thanks and Regards
SayeeduzzamanHello,
the 15 Webservices should have a static attribute which contains the xml:
private static String xml;
then initialise the xml like this:
if (xml == null)
xml = parseIt();
else
//do nothing, XML already initialised!
} -
JDeveloper Web Service Client/Proxy Basic Authentication
Hi I recently migrated a 10g Web Service to an 11g Web Service that uses basic authentication.
I then generated the client/proxy using the WSDL for my consumer application in JDeveloper 11g. however I cannot find any functions that will allow me to set the username and password to access the web service.
For instance, in 10g Client, I simply had to this:
myPort = new SoapHttpPortClient();
myPort.setUsername("username");
myPort.setPassword("password");
I am not sure how I do the same in the generated Web Service client in 11g.
Thanks in advance.Thanks Frank. I was able to get it to work!
I did google it but I always add "jdeveloper 11g" in my searches so that must be why this did not come up. :) Thanks again! -
Best practice for integrating oracle atg with external web service
Hi All
What is the best practice for integrating oracle atg with external web service? Is it using integration repository or calling the web service directly from the java class using a WS client?
With Thanks & Regards
AbhishekUsing Integration Repository might cause performance overhead based on the operation you are doing, I have never used Integration Repository for 3rd Party integration therefore I am not able to make any comment on this.
Calling directly as a Java Client is an easy approach and you can use ATG component framework to support that by making the endpoint, security credentials etc as configurable properties.
Cheers
R
Edited by: Rajeev_R on Apr 29, 2013 3:49 AM -
Issue with creating Web Service Client using Oracle JDeveloper
Hi All,
I am trying to create a Web Service Client using Oracle JDeveloper. I set the Project compiler property to JRE 1.4
When I run the web service client, it throws me bunch of errors saying:
'Error(32,2): annotations are not supported in -source 1.4'
I am wondering why JDeveloper is using annotations even after I set the compiler property to 1.4
I am following this link to create the webservice client:
http://www.oracle.com/technetwork/developer-tools/forms/webservices-forms-11g-094111.html
Any help in this regard would be greatly appreciated.
Thanks,
Scott.Dear Shay,
Thanks for your prompt response.
You are right. JDeveloper 11g uses JDK 6 style annotations for the clients it creates. But you can change the JRE Version used at compile time by following these steps:
1. In the Applications Navigator, right-click the Project Nanem node and select Project Properties... from the context menu.
2. Select the Compiler node and check the Source Files and Generated Class Files dropdown lists. You may change these versions depending on the version of the JRE you are using with Forms to ensure that the compiled
classes from JDeveloper can be read by the JRE used by Form.
So I selected JDK version 1.4 there.
Sorry that I did not mention that we are using Oracle Forms 10g. That is the reason I selected JDK 1.4
Thank you.
Scott. -
Oracle Database Web Service Client using UTL_DBWS :: ORA-29532 Error
Hi,
I have the Oracle Database 10.2.0.1.0 :-
SQL> select * from v$version;
BANNER
Oracle Database 10g Enterprise Edition Release 10.2.0.1.0 - Prod
PL/SQL Release 10.2.0.1.0 - Production
CORE 10.2.0.1.0 Production
TNS for 32-bit Windows: Version 10.2.0.1.0 - Production
NLSRTL Version 10.2.0.1.0 - ProductionI have written a simple Web Services Client using the classes gfrom the UTL_DBWS package. I loaded the JAR file dbwsclient.jar in the SYS Schema and I am trying to use it in the USF Schema.
However, I have hit this error & I ma unable to proceed :-
SQL> select get_stock_price from dual;
select get_stock_price from dual
ERROR at line 1:
ORA-29532: Java call terminated by uncaught Java exception:
java.lang.IllegalAccessException: javax.xml.rpc.ServiceException:
java.security.AccessControlException: the Permission
(java.lang.RuntimePermission getClassLoader) has not been granted to USF. The
PL/SQL to grant this is dbms_java.grant_permission( 'USF',
'SYS:java.lang.RuntimePermission', 'getClassLoader', '' )
ORA-06512: at "USF.UTL_DBWS", line 193
ORA-06512: at "USF.UTL_DBWS", line 190
ORA-06512: at "USF.GET_STOCK_PRICE", line 17Can you please help me with this ?
Regards,
SandeepHi,
The error message said
the Permission(java.lang.RuntimePermission getClassLoader) has not been granted to USF.
I'd follow the suggestion
The PL/SQL to grant this is dbms_java.grant_permission( 'USF','SYS:java.lang.RuntimePermission', 'getClassLoader', '' )
In case you have not done so, consult the Callout Users Guide @
http://www.oracle.com/technology/sample_code/tech/java/jsp/callout_users_guide.htm
Kuassi http://db360.blogspot.com -
Using Native Oracle XML DB Web Services - REST POST web service possible?
My goal is to expose some pl/sql procedures as a REST web services.
The Database is 11gR2
The request method needs to be a POST (not GET as a request will perform insert/updates ) - the request body will contain a xml structure
Have setup XMLDB Database-native Web Services as per
11g documentation "Using Native Oracle XML DB Web Services"
It seems this setup support only SOAP requests!?
RESTful webservice with GET is (sort of) supported using
Embedded PL/SQL Gateway as describer here:
http://ora-00001.blogspot.com/2009/07/creating-rest-web-service-with-plsql.html
Although no support for POST
Obviously the post is from 2009 so just want to know if anything changed since.
Has anyone found a way to expose pl/sql procedures using XML DB or other approach as a REST POST web services?
(As the relative low number of calls/hour and also the aim to have the least amount of moving parts therefor looking for a DB centric solution)
Thanks
PeteI think the post referred to was more an exercise of what could be achieved. The quickest way, nowadays, to get this done with not too much hassle is via APEX
http://docs.oracle.com/cd/E37097_01/doc/doc.42/e35128/restful_svc.htm
M. -
After the most recent update, I can no longer access stand alone GPS services. What's up with that? I am now forced to use google location services which use up some of my data allotment.
ddmathias, I want to make sure all services are working correctly on your phone. What GPS services were you using before the update happened? What kind of issues are you having with the services? Do you get any kind of errors? Please keep us posted.
KevinR_VZW
Follow us on Twitter @VZWSupport -
Problem running Web Service that uses OracleXMLSave on Oracle AS 10.1.3
I am trying to deploy a Web Service that uses OracleXMLSave. The service was built in Jdeveloper 10.1.3 and is deployed to 10gR3 AS. I have all the utitlites available from the 10g Production XML Developers Kit installed . The code compiles and generates correctly . I then deploy to an EAR file that inlcudes the applicaiton code and also all the XDK libraries . No problems so far. But when I run the app, I get an exception like the one below. It says it can't find XMLType . The funny thing is that this library (xdb.jar) and all other related libraries are there in the EAR file . In fact the class loader seems to see it because the exception says that it is there (see text below).
I have added all the libraries from XML Developer kit like xdb.jar , xsu12.jar , etc. I have also verfieid that the files are selected in the WebServices.deploy file and also present in the EAR file . (See full list below the eror message below. ).
It looks like for some reason the class loader can't load the class even though it seems to know that the class exists in the path.
Been sweating on this for a while (probably staring it at too long :) and would really appreciate some help.
This is the exception thrown when the OracleXMLSave Class is called for the first time.
Missing class: oracle.xdb.XMLType
Dependent class: myXML.DbXMLSave
Loader: TEAMWEBSERV.web.WebServices:0.0.0
Code-Source: /D:/OracleAS10gR3/j2ee/TEAMWEBSERV/applications/TEAMWEBSERV/WebServices/WEB-INF/classes/
Configuration: WEB-INF/classes/ in D:\OracleAS10gR3\j2ee\TEAMWEBSERV\applications\TEAMWEBSERV\WebServices\WEB-INF\classes
The missing class is available from the following locations:
1. Code-Source: /D:/OracleAS10gR3/j2ee/TEAMWEBSERV/applications/TEAMWEBSERV/WebServices/WEB-INF/lib/xdb.jar (from WEB-INF/lib/ directory in D:\OracleAS10gR3\j2ee\TEAMWEBSERV\applications\TEAMWEBSERV\WebServices\WEB-INF\lib)
This code-source is available in loader TEAMWEBSERV.web.WebServices:0.0.0.
2. Code-Source: /D:/OracleAS10gR3/j2ee/TEAMWEBSERV/applications/TEAMWEBSERV/WebServices/WEB-INF/classes/ (from WEB-INF/classes/ in D:\OracleAS10gR3\j2ee\TEAMWEBSERV\applications\TEAMWEBSERV\WebServices\WEB-INF\classes)
This code-source is available in loader TEAMWEBSERV.web.WebServices:0.0.0.
[oracle.classloader.util.AnnotatedNoClassDefFoundError]
List of libraries :
<list n="exportedReferences">
<hash>
<value n="id" v="Dms.jar"/>
<value n="isJDK" v="false"/>
</hash>
<hash>
<value n="id" v="Log4j-1.2.9.jar"/>
<value n="isJDK" v="false"/>
</hash>
<hash>
<value n="id" v="Mail.jar"/>
<value n="isJDK" v="false"/>
</hash>
<hash>
<value n="id" v="NetComponents.jar"/>
<value n="isJDK" v="false"/>
</hash>
<hash>
<value n="id" v="Oc4j.jar"/>
<value n="isJDK" v="false"/>
</hash>
<hash>
<value n="id" v="Ocrs12.jar"/>
<value n="isJDK" v="false"/>
</hash>
<hash>
<value n="id" v="Ojdbc14dms.jar"/>
<value n="isJDK" v="false"/>
</hash>
<hash>
<value n="id" v="Ojdl.jar"/>
<value n="isJDK" v="false"/>
</hash>
<hash>
<value n="id" v="Oraclexsql.jar"/>
<value n="isJDK" v="false"/>
</hash>
<hash>
<value n="id" v="Orai18n.jar"/>
<value n="isJDK" v="false"/>
</hash>
<hash>
<value n="id" v="ADF Model Runtime"/>
<value n="isJDK" v="false"/>
</hash>
<hash>
<value n="id" v="ADF Model Generic Runtime"/>
<value n="isJDK" v="false"/>
</hash>
<hash>
<value n="id" v="Oracle XQuery"/>
<value n="isJDK" v="false"/>
</hash>
<hash>
<value n="id" v="Oracle XML Parser v2"/>
<value n="isJDK" v="false"/>
</hash>
<hash>
<value n="id" v="Oracle JDBC"/>
<value n="isJDK" v="false"/>
</hash>
<hash>
<value n="id" v="Oracle SOAP"/>
<value n="isJDK" v="false"/>
</hash>
<hash>
<value n="id" v="Dms.jar1"/>
<value n="isJDK" v="false"/>
</hash>
<hash>
<value n="id" v="Log4j-1.2.9.jar1"/>
<value n="isJDK" v="false"/>
</hash>
<hash>
<value n="id" v="Mail.jar1"/>
<value n="isJDK" v="false"/>
</hash>
<hash>
<value n="id" v="NetComponents.jar1"/>
<value n="isJDK" v="false"/>
</hash>
<hash>
<value n="id" v="Oc4j.jar1"/>
<value n="isJDK" v="false"/>
</hash>
<hash>
<value n="id" v="Ocrs12.jar1"/>
<value n="isJDK" v="false"/>
</hash>
<hash>
<value n="id" v="Ojdbc14dms.jar1"/>
<value n="isJDK" v="false"/>
</hash>
<hash>
<value n="id" v="Ojdl.jar1"/>
<value n="isJDK" v="false"/>
</hash>
<hash>
<value n="id" v="Oraclexsql.jar1"/>
<value n="isJDK" v="false"/>
</hash>
<hash>
<value n="id" v="Orai18n.jar1"/>
<value n="isJDK" v="false"/>
</hash>
<hash>
<value n="id" v="Xdb.jar"/>
<value n="isJDK" v="false"/>
</hash>
<hash>
<value n="id" v="Xml.jar"/>
<value n="isJDK" v="false"/>
</hash>
<hash>
<value n="id" v="Xmlmesg.jar"/>
<value n="isJDK" v="false"/>
</hash>
<hash>
<value n="id" v="Xmlparserv2.jar"/>
<value n="isJDK" v="false"/>
</hash>
<hash>
<value n="id" v="Xschema.jar"/>
<value n="isJDK" v="false"/>
</hash>
<hash>
<value n="id" v="Xsu12.jar"/>
<value n="isJDK" v="false"/>
</hash>
<hash>
<value n="id" v="Classgen.jar"/>
<value n="isJDK" v="false"/>
</hash>
<hash>
<value n="id" v="Jdev-rt.zip"/>
<value n="isJDK" v="false"/>
</hash>
<hash>
<value n="id" v="Oraclexsql.jar2"/>
<value n="isJDK" v="false"/>
</hash>
<hash>
<value n="id" v="Transx.zip"/>
<value n="isJDK" v="false"/>
</hash>
<hash>
<value n="id" v="Xdb.jar1"/>
<value n="isJDK" v="false"/>
</hash>
<hash>
<value n="id" v="Xml.jar1"/>
<value n="isJDK" v="false"/>
</hash>
<hash>
<value n="id" v="Xmlcomp.jar"/>
<value n="isJDK" v="false"/>
</hash>
<hash>
<value n="id" v="Xmlcomp2.jar"/>
<value n="isJDK" v="false"/>
</hash>
<hash>
<value n="id" v="Xmldemo.jar"/>
<value n="isJDK" v="false"/>
</hash>
<hash>
<value n="id" v="Xmlmesg.jar1"/>
<value n="isJDK" v="false"/>
</hash>
<hash>
<value n="id" v="Xmlparserv2.jar1"/>
<value n="isJDK" v="false"/>
</hash>
<hash>
<value n="id" v="Xschema.jar1"/>
<value n="isJDK" v="false"/>
</hash>
<hash>
<value n="id" v="Xsqlserializers.jar"/>
<value n="isJDK" v="false"/>
</hash>
<hash>
<value n="id" v="Xsu12.jar1"/>
<value n="isJDK" v="false"/>
</hash>
<hash>
<value n="id" v="Orai18n.jar2"/>
<value n="isJDK" v="false"/>
</hash>
</list>Well I got the EJB lookup working but only when I changed the Provider Url to the pre-10.1.3 format e.g. ormi://someserver:12421/someapp and used jazn.com/oc4jadmin as the username. After reading the online documentation, I didn't think this should work!
Another issue I am having is casting a datasource returned from a JNDI lookup for a datasource. We used to do the lookup in the code and cast to an OracleDataSource. Now it is throwing a class cast exception to ManagedDataSource. Is there a quick and easy solution to this? I really don't want to have to go into the code and change this cast so it'd be great if we can get this working without changing code. This code has been working in a prod environment for two years now on 9.0.3 -> 9.0.4... -
How to invoke a web service asynchronously using ws-addressing model?
Hi Gurus,
We are invoking an external web service asynchronously using Oracle Work Flow Business events using the following mechanism -
1)Created a web service invoker event to invoke the web service.
2)Created a subscription that invokes the web service (provided the wsdl address, operation info).
3)Defined a subscription parameter WFBES_CALLBACK_EVENT with value pointing to a recieve event.
4)Created a receive event(parameter value for WFBES_CALLBACK_EVENT) and a subscription that directs the response to a custom PL/SQL function to process response.
so far so good. We were able to invoke the web service and get and process the response.
Problem: The external web service can take upto 10 hrs to process the request. A time out of 2 hrs is set on the server hosting the external web service. So when the external web service takes more than 2 hrs to process the request and it times out and we get the following error on EBS side -
'l_error_message:oracle.apps.fnd.wf.bes.InvokerException: HTTP transport error: javax.xml.soap.SOAPException: java.security.PrivilegedActionException: oracle.j2ee.ws.saaj.ContentTypeException: Not a valid SOAP Content-Type: text/html; charset=iso-8859-1'
Now the external web service providers are suggesting that we are not calling their web service asynchronously and we should use ws-addressing model to do so.
Is there a way to invoke this web service using ws-addressing model using business events or from PL/SQL or OA middle-tier?
Regards,
Sunil
CMRO Development.
I am providing here the WSDL of the external web service -
<?xml version="1.0" encoding="UTF-8"?>
<wsdl:definitions targetNamespace="http://service.sdk.webservices.enigma.com" xmlns:soap12="http://schemas.xmlsoap.org/wsdl/soap12/" xmlns:mime="http://schemas.xmlsoap.org/wsdl/mime/" xmlns:http="http://schemas.xmlsoap.org/wsdl/http/" xmlns:ns1="http://org.apache.axis2/xsd" xmlns:wsaw="http://www.w3.org/2006/05/addressing/wsdl" xmlns:ax21="http://service.sdk.webservices.enigma.com/xsd" xmlns:ns="http://service.sdk.webservices.enigma.com" xmlns:xs="http://www.w3.org/2001/XMLSchema" xmlns:soap="http://schemas.xmlsoap.org/wsdl/soap/" xmlns:wsdl="http://schemas.xmlsoap.org/wsdl/">
<wsdl:types>
<xs:schema attributeFormDefault="qualified" elementFormDefault="qualified" targetNamespace="http://service.sdk.webservices.enigma.com/xsd" xmlns:ax22="http://service.sdk.webservices.enigma.com">
<xs:import namespace="http://service.sdk.webservices.enigma.com"/>
<xs:complexType name="JCGWebServicesException">
<xs:complexContent>
<xs:extension base="ax22:Exception">
<xs:sequence>
<xs:element minOccurs="0" name="id" nillable="true" type="xs:string"/>
<xs:element minOccurs="0" name="message" nillable="true" type="xs:string"/>
</xs:sequence>
</xs:extension>
</xs:complexContent>
</xs:complexType>
<xs:complexType name="JCGServiceReply">
<xs:sequence>
<xs:element maxOccurs="unbounded" minOccurs="0" name="pdfStatus" nillable="true" type="ax21:PdfStatus"/>
</xs:sequence>
</xs:complexType>
<xs:complexType name="PdfStatus">
<xs:sequence>
<xs:element minOccurs="0" name="jobCardID" nillable="true" type="xs:string"/>
<xs:element minOccurs="0" name="pdfPath" nillable="true" type="xs:string"/>
<xs:element minOccurs="0" name="status" nillable="true" type="xs:string"/>
</xs:sequence>
</xs:complexType>
</xs:schema>
<xs:schema attributeFormDefault="qualified" elementFormDefault="qualified" targetNamespace="http://service.sdk.webservices.enigma.com" xmlns:ax23="http://service.sdk.webservices.enigma.com/xsd">
<xs:import namespace="http://service.sdk.webservices.enigma.com/xsd"/>
<xs:complexType name="Exception">
<xs:sequence>
<xs:element minOccurs="0" name="Exception" nillable="true" type="xs:anyType"/>
</xs:sequence>
</xs:complexType>
<xs:element name="JCGWebServicesException">
<xs:complexType>
<xs:sequence>
<xs:element minOccurs="0" name="JCGWebServicesException" nillable="true" type="ax21:JCGWebServicesException"/>
</xs:sequence>
</xs:complexType>
</xs:element>
<xs:element name="runJobCard">
<xs:complexType>
<xs:sequence>
<xs:element minOccurs="0" name="a_WorkpackageFilePath" nillable="true" type="xs:string"/>
<xs:element minOccurs="0" name="a_userName" nillable="true" type="xs:string"/>
</xs:sequence>
</xs:complexType>
</xs:element>
<xs:element name="runJobCardResponse">
<xs:complexType>
<xs:sequence>
<xs:element minOccurs="0" name="return" nillable="true" type="ax21:JCGServiceReply"/>
</xs:sequence>
</xs:complexType>
</xs:element>
</xs:schema>
</wsdl:types>
<wsdl:message name="JCGWebServicesException">
<wsdl:part name="parameters" element="ns:JCGWebServicesException">
</wsdl:part>
</wsdl:message>
<wsdl:message name="runJobCardResponse">
<wsdl:part name="parameters" element="ns:runJobCardResponse">
</wsdl:part>
</wsdl:message>
<wsdl:message name="runJobCardRequest">
<wsdl:part name="parameters" element="ns:runJobCard">
</wsdl:part>
</wsdl:message>
<wsdl:portType name="JCGServicePortType">
<wsdl:operation name="runJobCard">
<wsdl:input message="ns:runJobCardRequest" wsaw:Action="urn:runJobCard">
</wsdl:input>
<wsdl:output message="ns:runJobCardResponse" wsaw:Action="urn:runJobCardResponse">
</wsdl:output>
<wsdl:fault name="JCGWebServicesException" message="ns:JCGWebServicesException" wsaw:Action="urn:runJobCardJCGWebServicesException">
</wsdl:fault>
</wsdl:operation>
</wsdl:portType>
<wsdl:binding name="JCGServiceSoap11Binding" type="ns:JCGServicePortType">
<soap:binding style="document" transport="http://schemas.xmlsoap.org/soap/http"/>
<wsdl:operation name="runJobCard">
<soap:operation soapAction="urn:runJobCard" style="document"/>
<wsdl:input>
<soap:body use="literal"/>
</wsdl:input>
<wsdl:output>
<soap:body use="literal"/>
</wsdl:output>
<wsdl:fault name="JCGWebServicesException">
<soap:fault name="JCGWebServicesException" use="literal"/>
</wsdl:fault>
</wsdl:operation>
</wsdl:binding>
<wsdl:binding name="JCGServiceSoap12Binding" type="ns:JCGServicePortType">
<soap12:binding style="document" transport="http://schemas.xmlsoap.org/soap/http"/>
<wsdl:operation name="runJobCard">
<soap12:operation soapAction="urn:runJobCard" style="document"/>
<wsdl:input>
<soap12:body use="literal"/>
</wsdl:input>
<wsdl:output>
<soap12:body use="literal"/>
</wsdl:output>
<wsdl:fault name="JCGWebServicesException">
<soap12:fault name="JCGWebServicesException" use="literal"/>
</wsdl:fault>
</wsdl:operation>
</wsdl:binding>
<wsdl:service name="JCGService">
<wsdl:port name="JCGServiceHttpSoap12Endpoint" binding="ns:JCGServiceSoap12Binding">
<soap12:address location="http://localhost:8080/JCG/services/JCGService"/>
</wsdl:port>
<wsdl:port name="JCGServiceHttpSoap11Endpoint" binding="ns:JCGServiceSoap11Binding">
<soap:address location="http://localhost:8080/JCG/services/JCGService"/>
</wsdl:port>
</wsdl:service>
</wsdl:definitions>
Edited by: sikumar on Jun 22, 2010 1:50 PMBharat,
You dont need a Business Event setup to invoke a BPEL process from PL/SQL unless you have a special case and you need to process the response from the BPEL process in a separate thread (or in background)..
For a straight call to BPEL process from PL/SQL, here is a sample script -
function "MYTEST0" return varchar2 AS
soap_request varchar2(30000);
soap_respond varchar2(30000);
http_req utl_http.req;
http_resp utl_http.resp;
resp XMLType;
i integer;
helpStr varchar2(30000);
BEGIN
soap_request:= '<?xml version = ''1.0'' encoding = ''UTF-8''?>
<env:Envelope xmlns:env="http://schemas.xmlsoap.org/soap/envelope/"
xmlns:xsd="http://www.w3.org/2001/XMLSchema"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xmlns:ns0="
http://xmlns.oracle.com/TestWS">
<env:Body>
<ns0:TestWSProcessRequest>
<ns0:input>abc</ns0:input>
</ns0:TestWSProcessRequest>
</env:Body>
</env:Envelope>
/* the BPEL process name is TestWS */
http_req:= utl_http.begin_request
( 'http://hostname:7777/orabpel/default/TestWS/1.0'
, 'POST'
, 'HTTP/1.1'
utl_http.set_header(http_req, 'Content-Type', 'text/xml');
utl_http.set_header(http_req, 'Content-Length', length(soap_request));
utl_http.set_header(http_req, 'SOAPAction', 'process');
utl_http.write_text(http_req, soap_request);
http_resp:= utl_http.get_response(http_req);
utl_http.read_text(http_resp, soap_respond);
utl_http.end_response(http_resp);
resp:= XMLType.createXML(soap_respond);
resp:= resp.extract('/soap:Envelope/soap:Body/child::node()',
'xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/"');
helpStr := '';
i:=0;
loop
helpStr := helpStr || substr(soap_respond,1+ i*255,250);
i:= i+1;
if i*250> length(soap_respond)
then
exit;
end if;
end loop;
return helpStr;
END; -
Web Service portlet using pdk documentation issue
Hi,
I have followed the instructions in
http://portalcenter.oracle.com/pls/ops/docs/FOLDER/COMMUNITY/PDK/ARTICLES/how.to.build.web.services.portlets.html
on how to build web service portlets.
I have successfully deployed the WS portlet and can happily call my web Service (RPC style) passing a set of parameters which I have formatted using a stylesheet.
However, every time I refresh the page within portal, it recalls the WS with the previously submitted parameters. Also, if I switch between view and edit mode in portal, it again calls the WS with previously entered parameters.
Can I stop this happening either through a setting in portal or code in my Stub class. (Stub class below)
Thanks alot
Joel.
package mypackage;
import oracle.soap.transport.http.OracleSOAPHTTPConnection;
import org.apache.soap.encoding.SOAPMappingRegistry;
import java.math.BigDecimal;
import java.net.URL;
import org.apache.soap.rpc.Call;
import org.apache.soap.Constants;
import java.util.Vector;
import org.apache.soap.rpc.Parameter;
import org.apache.soap.rpc.Response;
import org.apache.soap.Fault;
import org.apache.soap.SOAPException;
import java.util.Properties;
* Generated by the Oracle JDeveloper 10g Web Services Stub/Skeleton Generator.
* Date Created: Thu Feb 03 15:38:22 GMT 2005
* WSDL URL: file:/D:/Software/Oracle/NT/jdev_10.1.2/jdev/mywork/blah/CreateSR2/src/LG02/CreateSR2.wsdl
public class CreateSR2Stub
public CreateSR2Stub()
m_httpConnection = new OracleSOAPHTTPConnection();
m_smr = new SOAPMappingRegistry();
public static void main(String[] args)
try
CreateSR2Stub stub = new CreateSR2Stub();
// Add your own code here.
catch(Exception ex)
ex.printStackTrace();
private String _endpoint = "http://myServer:7779/Blah-CreateSR2-context-root/CreateSR2";
public String getEndpoint()
return _endpoint;
public void setEndpoint(String endpoint)
_endpoint = endpoint;
private OracleSOAPHTTPConnection m_httpConnection = null;
private SOAPMappingRegistry m_smr = null;
public String createSrStub(BigDecimal pCitizen, String pAccountType, String pSummary, String pReferral, String pReason, String pHouse, String pRos, BigDecimal pGroup, String pOwner, String pMode, String pFrom) throws Exception
String returnVal = null;
URL endpointURL = new URL(_endpoint);
Call call = new Call();
call.setSOAPTransport(m_httpConnection);
call.setTargetObjectURI("CreateSR2");
call.setMethodName("createSrStub");
call.setEncodingStyleURI(Constants.NS_URI_SOAP_ENC);
Vector params = new Vector();
params.addElement(new Parameter("pCitizen", BigDecimal.class, pCitizen, null));
params.addElement(new Parameter("pAccountType", String.class, pAccountType, null));
params.addElement(new Parameter("pSummary", String.class, pSummary, null));
params.addElement(new Parameter("pReferral", String.class, pReferral, null));
params.addElement(new Parameter("pReason", String.class, pReason, null));
params.addElement(new Parameter("pHouse", String.class, pHouse, null));
params.addElement(new Parameter("pRos", String.class, pRos, null));
params.addElement(new Parameter("pGroup", BigDecimal.class, pGroup, null));
params.addElement(new Parameter("pOwner", String.class, pOwner, null));
params.addElement(new Parameter("pMode", String.class, pMode, null));
params.addElement(new Parameter("pFrom", String.class, pFrom, null));
call.setParams(params);
call.setSOAPMappingRegistry(m_smr);
Response response = call.invoke(endpointURL, "");
if (!response.generatedFault())
Parameter result = response.getReturnValue();
returnVal = (String)result.getValue();
else
Fault fault = response.getFault();
throw new SOAPException(fault.getFaultCode(), fault.getFaultString());
return returnVal;
public void setMaintainSession(boolean maintainSession)
m_httpConnection.setMaintainSession(maintainSession);
public boolean getMaintainSession()
return m_httpConnection.getMaintainSession();
public void setTransportProperties(Properties props)
m_httpConnection.setProperties(props);
public Properties getTransportProperties()
return m_httpConnection.getProperties();
}Hi Joel,
You can enable caching for your portlet. There are three types of caching you can use: expiry, validation, and invalidation-based caching. You can learn about your options in the Enhancing Portlet Performance with Caching section of the Portal Developer's Guide.
Regards,
Peter -
Difference of Oracle Application Server Web Services and JDeveloper
As new to the Webservices my Question is what is difference of:
- 1. Web Services Assistents in JDeveloper 1.3 (JAXRPC specification, WS-Sec)
- 2. "Oracle Application Server Web Services" 10.1.2 using WebServicesAssembler (depreciated ?)
- 3. Apache Soap Server 2 based (deprecated ?)
When should I use the iAS Assistent and when the JDeveloper one for generation?
Why don't they use the same stuff?
Does anyone have some experience for projects on this?
Thx, Willi
Have not found any Topic with an explanation on this. If you know someone please point me to that.
oOracle Web Services Framework Confusion
oracle web services framework confusion
Web service Assembler ToolThanks a lot for clearing this things to me.
I have to start a web services projects and I am confused which tools to use - JDeveloper Assistents or the WebServicesAssembler (as pointed out before).
Because I did not find some hints on this (expecpt your ones), it seems to me that I am missing some point or criteria on that I can do such a decision when to use what of those two tools.
Do I understand you right, that in future JDeveloper and the WebServicesAssembler will use the same .jar files and also generate the same code?
Thanks a lot for such valuable hints, Willi
Maybe you are looking for
-
Cancelled print but will not cancel and comes back on to print same job
cancelled print but will not cancel and comes back on to print same job on on hp deskjet all in one
-
How do I sync more than one iPhone to one iCal?
I want to sync my wife's new iPhone 4 with iCal that is synced with my me.com account. How do I set this up?
-
How I can create a XML file from java Aplication
How I can create a XML file from java Aplication whith have a the following structure <users> <user> <login>anyName</login> <password>xxxx</password> </user> </users> the password label must be encripted accept any suggestion
-
"This '.mpg' file is damaged or unsupported"
I looked everywhere but i cant find the answer; Every time i try to import a .mpg file, it doesn't work. it says what the title says. then it creates an .xmp file in the folder that the original file was in. I have the full version of after effects c
-
Getting HTML source of current page
Hi All, I generate an HTML report using an HTML DB application. Through the same application I want to get the source of this HTML page/report & send it as an inline HTML attachment. Can any body tell me how I can get the HTML source of the current p