WSRP / Automatic producer registration
Hi,
i'm looking for a way to register my wsrp producers with a jython script.
Is it possible and how ?
Thx a lot
Emmanuel
Hello Emmanuel,
It should be possible to set up something on the server which your script can call to register a WSRP producer.
On the server side, you can use the ProducerManager API to register new WSRP producers. See:
http://download.oracle.com/docs/cd/E13155_01/wlp/docs103/javadoc/com/bea/wsrp/consumer/management/producer/ProducerManager.html
You can get an instance of the ProducerManager class by calling:
ProducerManager.Factory.getAdapter() Kevin
Similar Messages
-
WSRP Consumer - producer registration error : (100)continue return code
I am trying to get an ALI WSRP Consumer working with the ALI WSRP Producer. Whenever I try to register the producer wsdl, the consumer fails with the error :
Failed to get a service description from WSRP provider!
Error message from WSRP provider: (100)Continue
Any clues? I can successfully register this producer with a different portal's consumer. Is there a configuration property that needs to be set to allow the (100) response code? Or perhaps my Producer should avoid that response code in the first place? Has anybody run into this?
Below is the stack trace generated by my consumer on the back-end (from ALI Logging Spy) :
Failed to get service description from WSRP provider: http://scollins.sd.defenseweb.net:80/wsrpproducer1.1/1.0/WSRPBaseService.asmx
AxisFault
faultCode: {http://xml.apache.org/axis/}HTTP
faultSubcode:
faultString: (100)Continue
faultActor:
faultNode:
faultDetail:
{}string: return code: 100
HTTP/1.1 200 OK
Server: Microsoft-IIS/5.1
Date: Wed, 22 Apr 2009 23:31:53 GMT
X-Powered-By: ASP.NET
Connection: close
X-AspNet-Version: 2.0.50727
Cache-Control: private, max-age=0
Content-Type: text/xml; charset=utf-8
Content-Length: 3084
<?xml version="1.0" encoding="utf-8"?><soap:Envelope xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:wsa="http://schemas.xmlsoap.org/ws/2004/03/addressing" xmlns:wsse="http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-wssecurity-secext-1.0.xsd" xmlns:wsu="http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-wssecurity-utility-1.0.xsd"><soap:Header><wsa:Action>urn:oasis:names:tc:wsrp:v1:getServiceDescriptionResponse</wsa:Action><wsa:MessageID>uuid:dc3a3069-320a-4a6d-a997-45313098bc00</wsa:MessageID><wsa:RelatesTo>uuid:c827c145-c82d-4958-a201-30e7a86c053b</wsa:RelatesTo><wsa:To>http://schemas.xmlsoap.org/ws/2004/03/addressing/role/anonymous</wsa:To><wsse:Security><wsu:Timestamp wsu:Id="Timestamp-18d05f2a-c5dd-4519-8d1d-24b68f27b9e5"><wsu:Created>2009-04-22T23:31:54Z</wsu:Created><wsu:Expires>2009-04-22T23:36:54Z</wsu:Expires></wsu:Timestamp></wsse:Security></soap:Header><soap:Body><getServiceDescriptionResponse xmlns="urn:oasis:names:tc:wsrp:v1:types"><requiresRegistration>false</requiresRegistration><offeredPortlets><portletHandle>simple</portletHandle><markupTypes><mimeType>text/html</mimeType><modes>wsrp:edit</modes><modes>wsrp:help</modes><modes>wsrp:view</modes><windowStates>wsrp:maximized</windowStates><windowStates>wsrp:minimized</windowStates><windowStates>wsrp:normal</windowStates><windowStates>wsrp:solo</windowStates><locales>en</locales></markupTypes><description xml:lang="en"><value>Simple view portlet to test WSRP viewing</value></description><shortTitle xml:lang="en"><value>View</value></shortTitle><title xml:lang="en"><value>View Portlet</value></title><displayName xml:lang="en"><value>SimpleView</value></displayName><userProfileItems>UserProfileName/PropertyName</userProfileItems><templatesStoredInSession>true</templatesStoredInSession><doesUrlTemplateProcessing>true</doesUrlTemplateProcessing></offeredPortlets><offeredPortlets><portletHandle>helloworld</portletHandle><markupTypes><mimeType>text/html</mimeType><modes>wsrp:edit</modes><modes>wsrp:help</modes><modes>wsrp:view</modes><windowStates>wsrp:maximized</windowStates><windowStates>wsrp:minimized</windowStates><windowStates>wsrp:normal</windowStates><windowStates>wsrp:solo</windowStates><locales>en</locales></markupTypes><description xml:lang="en"><value>Hello world portlet to test WSRP viewing</value></description><shortTitle xml:lang="en"><value>View</value></shortTitle><title xml:lang="en"><value>Hello World Portlet</value></title><displayName xml:lang="en"><value>HelloWorld99</value></displayName><userProfileItems>UserProfileName/PropertyName</userProfileItems><templatesStoredInSession>true</templatesStoredInSession><doesUrlTemplateProcessing>true</doesUrlTemplateProcessing></offeredPortlets><registrationPropertyDescription><propertyDescriptions name="ConsumerName" type="xsd:string" /><propertyDescriptions name="BuildDate" type="xsd:dateTime" /></registrationPropertyDescription></getServiceDescriptionResponse></soap:Body></soap:Envelope>
(100)Continue
at org.apache.axis.transport.http.HTTPSender.readFromSocket(HTTPSender.java:695)
at org.apache.axis.transport.http.HTTPSender.invoke(HTTPSender.java:129)
at org.apache.axis.strategies.InvocationStrategy.visit(InvocationStrategy.java:71)
at org.apache.axis.SimpleChain.doVisiting(SimpleChain.java:150)
at org.apache.axis.SimpleChain.invoke(SimpleChain.java:120)
at org.apache.axis.client.AxisClient.invoke(AxisClient.java:180)
at org.apache.axis.client.Call.invokeEngine(Call.java:2575)
at org.apache.axis.client.Call.invoke(Call.java:2564)
at org.apache.axis.client.Call.invoke(Call.java:2259)
at org.apache.axis.client.Call.invoke(Call.java:2182)
at org.apache.axis.client.Call.invoke(Call.java:1702)
at com.plumtree.wsrp.base.WSRP_v1_ServiceDescription_Binding_SOAPStub.getServiceDescription(WSRP_v1_ServiceDescription_Binding_SOAPStub.java:857)
at com.plumtree.wsrp.consumer.impl.ServiceDescriptionManager.getServiceDescription(ServiceDescriptionManager.java:118)
at com.plumtree.wsrp.consumer.servlet.AdminPreference.renderSetRegistrationPage(AdminPreference.java:992)
at com.plumtree.wsrp.consumer.servlet.AdminPreference.service(AdminPreference.java:117)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:802)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:252)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:173)
at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:213)
at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:178)
at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:126)
at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:105)
at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:107)
at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:148)
at org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:869)
at org.apache.coyote.http11.Http11BaseProtocol$Http11ConnectionHandler.processConnection(Http11BaseProtocol.java:664)
at org.apache.tomcat.util.net.PoolTcpEndpoint.processSocket(PoolTcpEndpoint.java:527)
at org.apache.tomcat.util.net.LeaderFollowerWorkerThread.runIt(LeaderFollowerWorkerThread.java:80)
at org.apache.tomcat.util.threads.ThreadPool$ControlRunnable.run(ThreadPool.java:684)
at java.lang.Thread.run(Unknown Source)This seemed promising, but the proposed solution (adding 'servicePointManager expect100Continue="false"' to Web.config) had no effect.
My consumer request actually does not include the "Expect: 100-continue" header and receives the 100 response anyways. My understanding now is that this is okay (thought I'm not sure why) and that the client should be expected to handle that response code in any case.
I am wondering if there is an issue with the combination of products in my environment that is not supported by this product?? I am using
IIS 5.1,
.Net 2.0
AquaLogic WSRP Producer 1.1/WebCenter WSRP Producer 10.3.0 (tried both)
I am testing this producer in two environments -
- AquaLogic Consumer running on AL Portal 6.5. When the WSRPConsumer is configured with the producer wsdl, it fails with message "Failed to get service description from WSRP Provider: .... faultString: (100) Continue".
- Liferay - AFTER successful registration, attempts to deploy my registered .Net portlet (simple hello-world) result in an internal exception thrown in the Producer [Bea.Portlet.Management.PortletManager.LoadPortlet(PortletManager.cs:line 114)] Error loading PortletContainer: Bad PortletState. No request is made to my .Net application.
It appears from both of these tests that both my producer and consumer are having fundamental problems that do not seem overly exotic (although I have successfully registered other WSRP portlets with the AL Consumer). However, I have not come across much information on these sorts of problems. -
Transitioning WSRP producer registrations from development to production
Hi there,
we're currently struggling a bit with the notion of producer registrations vs. the need for separating our development environment from production.
Here's what we do:
1. We create a producer connection in JDeveloper, but using the development server's portlet deployment as WSDL endpoint
2. We then continue to create some pages, instantiating portlets from the newly created producer as we go along
3. We deploy that to our development environment. All is well!
4. We (at some time in our projects lifecycle) try to go ahead and deploy to production. For that, we'd like to change the URL of the producer connection while preserving all the pages we composed (at design time), so far.
5. First, we simply change the producer url in connections.xml before starting to predeploy. -> Error, since the ID of the registration handle included in our local MDS doesn't match anything that exists in the actual production environment.
6. Next, we try to predeploy/deploy the EAR file as is, then change the actual producer URL using WLST (setWSRPProducer, registerWSRPProducer, degisterWSRPProducer, etc) or the Fusion Enterprise Manager. -> Doesn't work either, since deregistration/registration invalidates all the existing portlet instance files we have in our original MDS/MAR file.
So here's my question: What are best practices you can recommend when working with WSRP producers and a (clean) separation between development, testing and production environment? Are design-time producer registrations/portlet instantiations even possible in such a context? Should we perhaps use the preference data migration tool for migrating consumer registrations from one environment to the other? Even when one of those environments is unstable (dev) and the other supposed to be stable (production)? Or should we (at the portlet-level) disable consumer registrations entirely? If yes: How to do this in WebCenter?
Help is deeply appreciated :-)!
Cheers,
Chris
Edited by: ckesselh on Nov 3, 2011 8:14 AMHi Chris,
You raise good questions that I would love to explore further as well and it would be great if you could let me know what deployment approach you have come up with. Some of this is covered under section http://docs.oracle.com/cd/E17904_01/webcenter.1111/e12405/wcadm_imp_exp.htm and http://docs.oracle.com/cd/E17904_01/core.1111/e10105/deployer_role.htm which I am sure you have already reviewed. I have a much simpler problem with getting a Null Exception Error every time that I simply try to register a WSRP Producer with the sample .Net service - have you ever tried that and have come across the same issue?
Thanks,
Michael. -
WSRP Producer registration (unstable behaviour)
Hi,
I'm currently using JDev 10.1.3.3.0 build 4157 and building a webcenter application which makes use of both WSRP and PDK-Java portlets. I'm getting strange errors with WSRP Producer registration: in order to simplify things this description refers to the RichTextPortlet which is a prebuilt portlet but the problem is happening with every WSRP portlet producer, not with PDK-Java producers:
When I create the producer for the RichTextPortlet everything works perfectly, I run my app and personalize the portlet without problems. However, after several runs the portlets start to show the "Portlet unavailable" message and the server logs says something about the producer registration being wrong. When I test the producer connection in JDev it checks ok but if I try to refresh it, it fails. If I register an identical producer it works fine but the original producer doesn't.
The exception I get when I refresh the producer registration is:
oracle.portlet.client.container.PortletRemoteException: WSRP producer responded with an error (InvalidRegistrationException)
at oracle.portlet.client.techimpl.wsrp.WSRPClientImpl.handleException(WSRPClientImpl.java:2462)
at oracle.portlet.client.techimpl.wsrp.WSRPClientImpl.deleteRemotePortlet(WSRPClientImpl.java:1094)
at oracle.portlet.client.techimpl.wsrp.WSRPClientImpl.delete(WSRPClientImpl.java:999)
at oracle.portlet.client.techimpl.wsrp.WSRPClientImpl.refresh(WSRPClientImpl.java:1142)
at oracle.portlet.client.containerimpl.wsrp.WSRPProducerImpl._refresh(WSRPProducerImpl.java:385)
at oracle.portlet.client.containerimpl.wsrp.WSRPProducerImpl.refresh(WSRPProducerImpl.java:363)
at oracle.adfinternal.model.portlet.manager.PortletProviderManager.refreshPortletProvider(PortletProviderManager.java:864)
at oracle.adfinternal.model.portlet.manager.ProviderDT.refresh(ProviderDT.java:310)
at oracle.adfdtinternal.model.portlet.wizards.registration.common.WizardUtils$3.doWork(WizardUtils.java:159)
at oracle.ide.dialogs.ProgressRunnable.run(ProgressRunnable.java:159)
at oracle.ide.dialogs.ProgressBar.run(ProgressBar.java:551)
at java.lang.Thread.run(Thread.java:595)
Caused by: oracle.portlet.server.container.InvalidRegistrationException: oracle.portlet.wsrp.v1.InvalidRegistrationException: oracle.portlet.wsrp.v1.soap.InvalidRegistration
at oracle.portlet.wsrp.v1.ServerToWSRPv1.destroyPortlets(ServerToWSRPv1.java:4835)
at oracle.portlet.client.connection.wsrp.ActivityServerWrapper.destroyPortlets(ActivityServerWrapper.java:305)
at oracle.portlet.client.techimpl.wsrp.WSRPClientImpl.deleteRemotePortlet(WSRPClientImpl.java:1088)
... 10 more
Caused by: oracle.portlet.wsrp.v1.InvalidRegistrationException: oracle.portlet.wsrp.v1.soap.InvalidRegistration
at oracle.portlet.wsrp.v1.WSRP_v1_PortletManagement_PortTypeJaxbToSoap.destroyPortlets(WSRP_v1_PortletManagement_PortTypeJaxbToSoap.java:220)
at oracle.portlet.wsrp.v1.ServerToWSRPv1.destroyPortlets(ServerToWSRPv1.java:4785)
... 12 more
Caused by: oracle.portlet.wsrp.v1.soap.InvalidRegistration
at oracle.portlet.wsrp.v1.soap.runtime.WSRP_v1_PortletManagement_PortType_destroyPortlets_Fault_SOAPSerializer.deserializeDetail(WSRP_v1_PortletManagement_PortType_destroyPortlets_Fault_SOAPSerializer.java:94)
at oracle.j2ee.ws.common.encoding.SOAPFaultInfoSerializer.doDeserializeSOAP11(SOAPFaultInfoSerializer.java:132)
at oracle.j2ee.ws.common.encoding.SOAPFaultInfoSerializer.doDeserialize(SOAPFaultInfoSerializer.java:94)
at oracle.j2ee.ws.common.encoding.ObjectSerializerBase.deserialize(ObjectSerializerBase.java:180)
at oracle.j2ee.ws.common.encoding.ReferenceableSerializerImpl.deserialize(ReferenceableSerializerImpl.java:147)
at oracle.portlet.wsrp.v1.soap.runtime.WSRP_v1_PortletManagement_Binding_SOAP_Stub._readBodyFaultElement(WSRP_v1_PortletManagement_Binding_SOAP_Stub.java:624)
at oracle.j2ee.ws.client.StreamingSender._sendImpl(StreamingSender.java:321)
at oracle.j2ee.ws.client.StreamingSender._send(StreamingSender.java:112)
at oracle.portlet.wsrp.v1.soap.runtime.WSRP_v1_PortletManagement_Binding_SOAP_Stub.destroyPortlets(WSRP_v1_PortletManagement_Binding_SOAP_Stub.java:76)
at oracle.portlet.wsrp.v1.WSRP_v1_PortletManagement_PortTypeJaxbToSoap.destroyPortlets(WSRP_v1_PortletManagement_PortTypeJaxbToSoap.java:207)
... 13 more
And its driving me mad...
Hope someone can help.
Thanks,
YoelYoel,
I think the WebCenter forum is probably the right place for this one.
Oh, wait, I see you already cross-posted over there. You sneaky little devil ;)
John -
Automatically produce Reports output via Portal
Hi.
I'm new to Oracle Portal, so please excuse if I ask a stupid question.
We have some Oracle Report Builder reports, which we'd like to automate (automatically produce the output for the users). Is there some way of defining it in Portal so that it automatically via URL's or something runs these reports to produce the output automatically ?
If not, then I suppose we'll probably be using CRON to automate them....
Thank you.
MarcelHi,
All the components have something have called the batch mode which submits this job
to the job queue. This option also stores the results in the database for a period
of time which you can change. You can see if this helps.
thanks,
Sharmila -
I am using ISE 1.2. I have to configure automatic device registration through Guest Portal.
The issue is that whenever a guest logs in for first time, he needs to enter the device mac address manually. Is there any method so the ise will automatically notice device's mac address and automatically populate it in "Device ID" field on Device Registration Portal
Regards,
Aditya -
Disabling WSRP Complex Producer security
Hello all,
We are using WebLogic 10 Portal in combination with Workshop 10. We got Complex WSRP producer up and running, everything is going/flowing ok.
Is there a way to remove authentication information that is being passes in WSRP message exchanges, so anonymous users are able to perform all operations, including PortletPreferences.store()?
In documentation it clearly states user must be not be anonymous in order to store preferences, is this a configurable option?
We know there are two ways user identity is transfered from consumer to producer:User Name and SAML token runtime propagation, and we have tried to disable security at least temporary, but could not find the magic turn-off switch.
Any tips, pointers to relevant information is appreciated.
Thanks in advanceVeljko,
Is PortletPreferences.store() only operation from the JSR 168 (Java Portlet Specification) affected by security restrictions, such as that anonymous user is not able to perform it?Yes this is the only (JSR-168 specified) operation that requires
authentication.
As for working around authentication you have several options (in rough
order of preference):
1. Propagate the user's identity from the consumer to the producer, WLP
supports:
* SAML
* UNT
* Basic Auth
* Other (Requires you to write an Identity Asserter)
2. Have your portlet detect when there is no logged in user, and log
them in as a made up user (e.g. create a wsrpAnon user)
* See code snippet below
3. Edit the ejb-jar.xml to allow anonymous users access to the relevant
methods
* You'll need to slog through each method that throws and exception and
open them one by one
Code:
//Note: In non-wsrp cases login/logout should ALWAYS happen
// in processAction and send a redirect
public void doView(RenderRequest request, RenderResponse response)
throws PortletException, IOException {
if (request.getUserPrincipal() == null) {
PortletRequestDispatcher requestDispatcher =
getPortletContext().getRequestDispatcher("/login.jsp");
requestDispatcher.include(request, response);
Veljko Zivkovic wrote:
Hello Nathan,
Thanks for the reply.
The scenario we have is that some of the WSRP consumers of our WebLogic WSRP Complex Producer are not BEA consumers and they do not support SAML as authentication mechanism.
If we understood WSRP specification correctly, for each user session in "end user-consumer" communication scenario, WSRP consumer is in the background keeping N more session where N is the number of WSRP producers end user is accessing thru consumer. (Consumer is shielding end user from this complexity).
Q: What we need in ideal case is following: when end user authenticates on consumer in some way, and his session is created on consumer, we want producer to trust consumer that user is valid to do anything on producer since he has session, and we do not want producer to authenticate user again.
When user authenticates on consumer, consumer is then sending user id and session data to the producer, so producer knows trusted user is in question, and so on.
Using User Name Token Security is not a viable option, since we can not use two-way encrypted (reversible) method due to various reasons that are out of our control.
Can you just confirm if it is possible or not to do what I have described above in Q, to not use neither SAML not User token, but still be able to treat user as authenticated on producer, since he has valid session on consumer, and consumer is passing session id and user name to the producer.
Thanks in advance -
Automatic producing of a table with a DTD
Hi,
I have a question about the processing of DTD's in Oracle 8i. I
was unable to find an exact answer in some various Oracle
documentation.
The documentation does not explain how the automatic producing of
tables for data available in an XML document which is used by the
DTD belonging to the document operates. (The producing of tables
should result from the reading in of the DTD.) The comprised
structure (entitys) in the DTD should again be mirrored in the
table.
Can anyone explain me, how create table suit for xml
automatically ?
nullThere is an XML Schema W3C WG which Oracle is participating in
which will deliver a standard by the end of the year. Jus as we
have incorporated XSL we will be incorporating XML Schema as
well which will provide a syntax and datatypes to replace DTDs.
Oracle XML Team
http://technet.oracle.com
Oracle Technology Network
Geoff Ingram (guest) wrote:
: Hello,
: re XML Schemas should resolve this.
: I am not sure what this means.
: does you that Oracle plan to implement something that creates
a
: database schema from a DTD? Is Oracle dependent on something
from
: XML in order to implement that? Will it ever happen?
: regards Geoff Ingram
: Oracle XML Team wrote:
: : The ability to create a database schema from a DTD is not
: : available in Oracle 8i though you can go the other direction
: : with the XML SQL Utility. There are a number of limitations
: : with DTD's that prevent a useful automatic utility from
being
: : developed. XML Schemas should resolve this.
: : Oracle XML Team
: : http://technet.oracle.com
: : Oracle Technology Network
: : Dietmar (guest) wrote:
: : : Hi,
: : : I have a question about the processing of DTD's in Oracle
8i.
: : I
: : : was unable to find an exact answer in some various Oracle
: : : documentation.
: : : The documentation does not explain how the automatic
: producing
: : of
: : : tables for data available in an XML document which is used
by
: : the
: : : DTD belonging to the document operates. (The producing of
: : tables
: : : should result from the reading in of the DTD.) The
comprised
: : : structure (entitys) in the DTD should again be mirrored in
: the
: : : table.
: : : Can anyone explain me, how create table suit for xml
: : : automatically ?
null -
To automate a registration by telephone
Please help me with your good selves.
My client requires to automate a registration task for his customers by telephone. The requirement is the Oracle database should take numeric input from the callers telephone keypad eg 1 or 2 or 3 and the oracle must store this input inside its database and do some required processing with such input and generate a unique numeric id (sequence) and send back this unique numeric ID to the caller who is on hold. Note. Is there any electronic device to be installed at the client site to solve the above task? please let me know what it is, how to install, and how to get it? please please please help me. if you cant help i appretiate if you give me some clues.
Hope you will do the needful.
Kind regards
TammuThank you for your message.
OK i can install Oracle 9i collaboration suite. Is there any other thing to install eg. fixing a telephone to the CPU and etc? I completely have zero knowledge. Please can you outline/summarise the instructions how to construct and install to meet my client requirement. Please help me -
WSRP Producer Registration and Firewall Problem
Hi,
I am trying to register a WSRP producer in JDev 11g TP3, and am running into a problem with our firewall, which requires authentication. The WSRP producer is on a system inside our firewall, however it references a WSDL outside our firewall (http://www.oasis-open.org/committees/wsrp/specifications/version1/wsrp_v1_bindings.wsdl).
I have my proxy configured via preferences->Web Browser and Proxy to use the proxy server, but exclude our domain.
The problem I have is that I can either Check the choice to "Use Proxy for contacting the Portlet Product", in which case I get an http 407 error trying to access the internal server, or uncheck the choice, in which case I get a timeout accessing the WSDL outside our firewall.
Does anybody know how to configure the proxy settings to allow me to access a producer inside our firewall, which references a WSDL outside our firewall?
Thank you!Peter,
Firstly, thanks for your answer. Which log files are you referring to? I didn't find anything wrong in the richtextportlet application log. The error appears when trying to refresh a previously registered producer.
I'm using both PDK-Java and WSRP portlets and the problem only happens with WSRP portlets. The app is using ADF security with a lightweight xml provider, I'm running the app in the embedded OC4J and the portlets are being consumed from the built-in portlet ready instance (OC4J_Webcenter) in an Oracle Webcenter 10.1.3.2.0 AS installation.
Thanks again,
Yoel -
Hi, I'm triying to add a Portlet producer form SAP, an when I try to connect I get this Exception,
oracle.portlet.client.container.PortletException: java.lang.RuntimeException: Error converting the following SOAP element to JAXB package 'oracle.portlet.wsrp.v1':
node: ns0:getServiceDescriptionResponse = null
attribute: xmlns:SOAP-ENV = http://schemas.xmlsoap.org/soap/envelope/
attribute: xmlns:ns0 = urn:oasis:names:tc:wsrp:v1:types
attribute: xmlns:xsd = http://www.w3.org/2001/XMLSchema
attribute: xmlns:env = http://schemas.xmlsoap.org/soap/envelope/
attribute: xmlns:xsi = http://www.w3.org/2001/XMLSchema-instance
node: ns0:requiresRegistration = null
node: #text = true
node: ns0:offeredPortlets = null
node: ns0:portletHandle = null
node: #text = pop_np:pop_scoped%pcd:portal_content/com.prueba.zprueba/ZMW_PRD_INF_PRU_PORTAL
node: ns0:markupTypes = null
node: ns0:mimeType = null
node: #text = text/html
node: ns0:modes = null
node: #text = wsrp:view
node: ns0:modes = null
node: #text = wsrp:edit
node: ns0:modes = null
node: #text = wsrp:help
node: ns0:modes = null
node: #text = wsrp:preview
node: ns0:windowStates = null
node: #text = wsrp:normal
node: ns0:windowStates = null
node: #text = wsrp:minimized
node: ns0:windowStates = null
node: #text = wsrp:maximized
node: ns0:windowStates = null
node: #text = wsrp:solo
node: ns0:locales = null
node: #text = en-US
node: ns0:groupID = null
node: #text = DEFAULT_WSRP_GROUP_NAME
node: ns0:description = null
attribute: xml:lang = en_US
attribute: resourceName = com.sap.portal.pcm.Description
node: ns0:value = null
node: #text = Informes Producción Prueba Portal
node: ns0:shortTitle = null
attribute: xml:lang = en_US
attribute: resourceName = com.sap.portal.pcm.Title
node: ns0:value = null
node: #text = Informes Producción Prueba Portal
node: ns0:title = null
attribute: xml:lang = en_US
attribute: resourceName = com.sap.portal.pcm.Title
node: ns0:value = null
node: #text = Informes Producción Prueba Portal
node: ns0:usesMethodGet = null
node: #text = false
node: ns0:defaultMarkupSecure = null
node: #text = false
node: ns0:onlySecure = null
node: #text = false
node: ns0:userContextStoredInSession = null
node: #text = false
node: ns0:templatesStoredInSession = null
node: #text = false
node: ns0:hasUserSpecificState = null
node: #text = false
node: ns0:doesUrlTemplateProcessing = null
node: #text = true
node: ns0:offeredPortlets = null
node: ns0:portletHandle = null
node: #text = pop_np:pop_scoped%pcd:portal_content/com.prueba.zprueba/TEST
node: ns0:markupTypes = null
node: ns0:mimeType = null
node: #text = text/html
node: ns0:modes = null
node: #text = wsrp:view
node: ns0:modes = null
node: #text = wsrp:edit
node: ns0:modes = null
node: #text = wsrp:help
node: ns0:modes = null
node: #text = wsrp:preview
node: ns0:windowStates = null
node: #text = wsrp:normal
node: ns0:windowStates = null
node: #text = wsrp:minimized
node: ns0:windowStates = null
node: #text = wsrp:maximized
node: ns0:windowStates = null
node: #text = wsrp:solo
node: ns0:locales = null
node: #text = en-US
node: ns0:groupID = null
node: #text = DEFAULT_WSRP_GROUP_NAME
node: ns0:description = null
attribute: xml:lang = en_US
attribute: resourceName = com.sap.portal.pcm.Description
node: ns0:value = null
node: ns0:shortTitle = null
attribute: xml:lang = en_US
attribute: resourceName = com.sap.portal.pcm.Title
node: ns0:value = null
node: #text = TEST
node: ns0:title = null
attribute: xml:lang = en_US
attribute: resourceName = com.sap.portal.pcm.Title
node: ns0:value = null
node: #text = TEST
node: ns0:usesMethodGet = null
node: #text = false
node: ns0:defaultMarkupSecure = null
node: #text = false
node: ns0:onlySecure = null
node: #text = false
node: ns0:userContextStoredInSession = null
node: #text = false
node: ns0:templatesStoredInSession = null
node: #text = false
node: ns0:hasUserSpecificState = null
node: #text = false
node: ns0:doesUrlTemplateProcessing = null
node: #text = true
node: ns0:requiresInitCookie = null
node: #text = perGroup
at oracle.adfinternal.model.portlet.manager.PortletProviderManager.registerWSRPProducer(PortletProviderManager.java:2024)
at oracle.adfinternal.model.portlet.manager.PortletProviderManager.registerPortletProvider(PortletProviderManager.java:1582)
at oracle.adfinternal.model.portlet.manager.PortletProviderManager.registerPortletProvider(PortletProviderManager.java:545)
at oracle.adfdtinternal.model.portlet.wizards.registration.wsrp.WSRPProducerRegUtil.registerProducer(WSRPProducerRegUtil.java:308)
at oracle.adfdtinternal.model.portlet.wizards.registration.wsrp.WSRPProducerRegistrationWizard$1.doWork(WSRPProducerRegistrationWizard.java:862)
at oracle.ide.dialogs.ProgressRunnable.run(ProgressRunnable.java:161)
at oracle.ide.dialogs.ProgressBar.run(ProgressBar.java:655)
at java.lang.Thread.run(Thread.java:619)
Caused by: java.lang.RuntimeException: Error converting the following SOAP element to JAXB package 'oracle.portlet.wsrp.v1':
node: ns0:getServiceDescriptionResponse = null
attribute: xmlns:SOAP-ENV = http://schemas.xmlsoap.org/soap/envelope/
attribute: xmlns:ns0 = urn:oasis:names:tc:wsrp:v1:types
attribute: xmlns:xsd = http://www.w3.org/2001/XMLSchema
attribute: xmlns:env = http://schemas.xmlsoap.org/soap/envelope/
attribute: xmlns:xsi = http://www.w3.org/2001/XMLSchema-instance
node: ns0:requiresRegistration = null
node: #text = true
node: ns0:offeredPortlets = null
node: ns0:portletHandle = null
node: #text = pop_np:pop_scoped%pcd:portal_content/com.prueba.zprueba/ZMW_PRD_INF_PRU_PORTAL
node: ns0:markupTypes = null
node: ns0:mimeType = null
node: #text = text/html
node: ns0:modes = null
node: #text = wsrp:view
node: ns0:modes = null
node: #text = wsrp:edit
node: ns0:modes = null
node: #text = wsrp:help
node: ns0:modes = null
node: #text = wsrp:preview
node: ns0:windowStates = null
node: #text = wsrp:normal
node: ns0:windowStates = null
node: #text = wsrp:minimized
node: ns0:windowStates = null
node: #text = wsrp:maximized
node: ns0:windowStates = null
node: #text = wsrp:solo
node: ns0:locales = null
node: #text = en-US
node: ns0:groupID = null
node: #text = DEFAULT_WSRP_GROUP_NAME
node: ns0:description = null
attribute: xml:lang = en_US
attribute: resourceName = com.sap.portal.pcm.Description
node: ns0:value = null
node: #text = Informes Producción Prueba Portal
node: ns0:shortTitle = null
attribute: xml:lang = en_US
attribute: resourceName = com.sap.portal.pcm.Title
node: ns0:value = null
node: #text = Informes Producción Prueba Portal
node: ns0:title = null
attribute: xml:lang = en_US
attribute: resourceName = com.sap.portal.pcm.Title
node: ns0:value = null
node: #text = Informes Producción Prueba Portal
node: ns0:usesMethodGet = null
node: #text = false
node: ns0:defaultMarkupSecure = null
node: #text = false
node: ns0:onlySecure = null
node: #text = false
node: ns0:userContextStoredInSession = null
node: #text = false
node: ns0:templatesStoredInSession = null
node: #text = false
node: ns0:hasUserSpecificState = null
node: #text = false
node: ns0:doesUrlTemplateProcessing = null
node: #text = true
node: ns0:offeredPortlets = null
node: ns0:portletHandle = null
node: #text = pop_np:pop_scoped%pcd:portal_content/com.prueba.zprueba/TEST
node: ns0:markupTypes = null
node: ns0:mimeType = null
node: #text = text/html
node: ns0:modes = null
node: #text = wsrp:view
node: ns0:modes = null
node: #text = wsrp:edit
node: ns0:modes = null
node: #text = wsrp:help
node: ns0:modes = null
node: #text = wsrp:preview
node: ns0:windowStates = null
node: #text = wsrp:normal
node: ns0:windowStates = null
node: #text = wsrp:minimized
node: ns0:windowStates = null
node: #text = wsrp:maximized
node: ns0:windowStates = null
node: #text = wsrp:solo
node: ns0:locales = null
node: #text = en-US
node: ns0:groupID = null
node: #text = DEFAULT_WSRP_GROUP_NAME
node: ns0:description = null
attribute: xml:lang = en_US
attribute: resourceName = com.sap.portal.pcm.Description
node: ns0:value = null
node: ns0:shortTitle = null
attribute: xml:lang = en_US
attribute: resourceName = com.sap.portal.pcm.Title
node: ns0:value = null
node: #text = TEST
node: ns0:title = null
attribute: xml:lang = en_US
attribute: resourceName = com.sap.portal.pcm.Title
node: ns0:value = null
node: #text = TEST
node: ns0:usesMethodGet = null
node: #text = false
node: ns0:defaultMarkupSecure = null
node: #text = false
node: ns0:onlySecure = null
node: #text = false
node: ns0:userContextStoredInSession = null
node: #text = false
node: ns0:templatesStoredInSession = null
node: #text = false
node: ns0:hasUserSpecificState = null
node: #text = false
node: ns0:doesUrlTemplateProcessing = null
node: #text = true
node: ns0:requiresInitCookie = null
node: #text = perGroup
at oracle.portlet.utils.SoapJaxbTranslationUtils.soapToJaxb(SoapJaxbTranslationUtils.java:129)
at oracle.portlet.wsrp.v1.WSRP_v1_ServiceDescription_PortTypeJaxbToSoap.toJaxb(WSRP_v1_ServiceDescription_PortTypeJaxbToSoap.java:38)
at oracle.portlet.wsrp.v1.WSRP_v1_ServiceDescription_PortTypeJaxbToSoap.getServiceDescription(WSRP_v1_ServiceDescription_PortTypeJaxbToSoap.java:73)
at oracle.portlet.wsrp.v1.ServerToWSRPv1.getServiceDescription(ServerToWSRPv1.java:121)
at oracle.portlet.client.connection.wsrp.ActivityServerWrapper.getServiceDescription(ActivityServerWrapper.java:1224)
at oracle.portlet.client.techimpl.wsrp.WSRPClientImpl.registerProducer(WSRPClientImpl.java:2542)
at oracle.portlet.client.techimpl.wsrp.WSRPClientImpl.register(WSRPClientImpl.java:182)
at oracle.portlet.client.techimpl.wsrp.WSRPClientImpl.createProducer(WSRPClientImpl.java:3155)
at oracle.portlet.client.containerimpl.wsrp.WSRPProducerFactoryImpl._createProducer(WSRPProducerFactoryImpl.java:130)
at oracle.portlet.client.containerimpl.wsrp.WSRPProducerFactoryImpl.createProducer(WSRPProducerFactoryImpl.java:107)
at oracle.adfinternal.model.portlet.manager.PortletProviderManager.registerWSRPProducer(PortletProviderManager.java:1976)
... 7 more
Caused by: javax.xml.bind.UnmarshalException: Unexpected end of attribute {http://www.w3.org/XML/1998/namespace}:lang
at oracle.portlet.wsrp.v1.impl.runtime.SAXUnmarshallerHandlerImpl.handleEvent(SAXUnmarshallerHandlerImpl.java:536)
at oracle.portlet.wsrp.v1.impl.runtime.AbstractUnmarshallingEventHandlerImpl.reportError(AbstractUnmarshallingEventHandlerImpl.java:147)
at oracle.portlet.wsrp.v1.impl.runtime.AbstractUnmarshallingEventHandlerImpl.reportError(AbstractUnmarshallingEventHandlerImpl.java:144)
at oracle.portlet.wsrp.v1.impl.runtime.AbstractUnmarshallingEventHandlerImpl.unexpectedLeaveAttribute(AbstractUnmarshallingEventHandlerImpl.java:167)
at oracle.portlet.wsrp.v1.impl.runtime.AbstractUnmarshallingEventHandlerImpl.leaveAttribute(AbstractUnmarshallingEventHandlerImpl.java:100)
at oracle.portlet.wsrp.v1.impl.LocalizedStringImpl$Unmarshaller.leaveAttribute(LocalizedStringImpl.java:372)
at oracle.portlet.wsrp.v1.impl.runtime.SAXUnmarshallerHandlerImpl.consumeAttribute(SAXUnmarshallerHandlerImpl.java:431)
at oracle.portlet.wsrp.v1.impl.LocalizedStringImpl$Unmarshaller.enterElement(LocalizedStringImpl.java:227)
at oracle.portlet.wsrp.v1.impl.PortletDescriptionImpl$Unmarshaller.enterElement(PortletDescriptionImpl.java:929)
at oracle.portlet.wsrp.v1.impl.runtime.SAXUnmarshallerHandlerImpl.startElement(SAXUnmarshallerHandlerImpl.java:133)
at com.sun.xml.bind.unmarshaller.DOMScanner.visit(DOMScanner.java:240)
at com.sun.xml.bind.unmarshaller.DOMScanner.visit(DOMScanner.java:277)
at com.sun.xml.bind.unmarshaller.DOMScanner.visit(DOMScanner.java:246)
at com.sun.xml.bind.unmarshaller.DOMScanner.visit(DOMScanner.java:277)
at com.sun.xml.bind.unmarshaller.DOMScanner.visit(DOMScanner.java:246)
at com.sun.xml.bind.unmarshaller.DOMScanner.visit(DOMScanner.java:277)
at com.sun.xml.bind.unmarshaller.DOMScanner.visit(DOMScanner.java:246)
at com.sun.xml.bind.unmarshaller.DOMScanner.parse(DOMScanner.java:150)
at oracle.portlet.wsrp.v1.impl.runtime.UnmarshallerImpl.unmarshal(UnmarshallerImpl.java:166)
at oracle.portlet.utils.SoapJaxbTranslationUtils.soapToJaxb(SoapJaxbTranslationUtils.java:110)
... 17 more
Any Idea?,
ThanksHi,
when you develop your app with the NWDS and choose: Enterprise Poral application, your app will be compatible with EP (PRT). But you'll have to make sure that you don't use libraries / functionanlity that isn't WSRP compatible (like: JCo, BI integration, etc). The portal simply won't know if your app is WSRP-compliant or not. Your consumer will call the WSRP app. If this will work or not will depend on your app. So you'll have to make sure that your app is WSRP-compliant.
But first: you'll have to register your consumer. This works with BEA / Oracle and (sometimes) with JBoss also.
br,
Tobias -
Oracle Portal 10g WSRP allways requires registration
Hi
i'm trying to register a provider in Oracle Portal and my producer doesn't support the optional WSRP registration service.
When I try to register the provider I get an error "serialization error: unexpected null value for literal data."
I've setup a proxy to look into the SOAP messages and I can see that Oracle Portal is trying to call the RegistrationService even though the producer is returning "requiresRegistration=false".
Is there any way to configure the Portal consumer not to use the RegistrationService?
My environment is:
Oracle Portal (10.1.2)
Repository Metadata (10.1.4)
Windows 2003 Server
Cheers
NunoYou need to install Oracle Application Server 10.1.2.0.2 and then run a simple repository upgrade to bring Oracle Portal to 10.1.4. This will enable the 3rd registration option: WSRP. This is the OTN software download page.
Peter -
Error in registering WSRP portlet producer with Oracle Portal 10.1.4
Hi all,
I am using OC4J 10.1.3.4.0 as producer of portlets and Oracle Portal 10.1.4 as consumer. I am encountering error in registering the producer WSDL. Here's the stack trace:
An error occurred when attempting to call the providers register function. (WWC-43134)
An error occurred during the call to the WSRP Provider: java.rmi.RemoteException: Runtime exception; nested exception is:
deserialization error: deserialization error: XML parsing error: com.sun.xml.rpc.sp.ParseException:1: com.sun.xml.rpc.sp/Illegal Namespace prefix: xml
com.sun.xml.rpc.encoding.DeserializationException: deserialization error: deserialization error: XML parsing error: com.sun.xml.rpc.sp.ParseException:1: com.sun.xml.rpc.sp/Illegal Namespace prefix: xml
com.sun.xml.rpc.encoding.DeserializationException: deserialization error: XML parsing error: com.sun.xml.rpc.sp.ParseException:1: com.sun.xml.rpc.sp/Illegal Namespace prefix: xml
com.sun.xml.rpc.streaming.XMLReaderException: XML parsing error: com.sun.xml.rpc.sp.ParseException:1: com.sun.xml.rpc.sp/Illegal Namespace prefix: xml
Java stack trace from root exception:
com.sun.xml.rpc.sp.ParseException:1: com.sun.xml.rpc.sp/Illegal Namespace prefix: xml
at com.sun.xml.rpc.sp.Parser2.fatal(Parser2.java:2015)
at com.sun.xml.rpc.sp.Parser2.fatal(Parser2.java:2000)
at com.sun.xml.rpc.sp.Parser2.processStartElement(Parser2.java:2794)
at com.sun.xml.rpc.sp.Parser2.parseContent(Parser2.java:3036)
at com.sun.xml.rpc.sp.Parser2.parse(Parser2.java:2360)
at com.sun.xml.rpc.streaming.XMLReaderImpl.next(XMLReaderImpl.java:105)
at com.sun.xml.rpc.streaming.XMLReaderBase.nextContent(XMLReaderBase.java:23)
at com.sun.xml.rpc.streaming.XMLReaderBase.nextElementContent(XMLReaderBase.java:41)
at oracle.webdb.wsrp.PortletDescription_LiteralSerializer.doDeserialize(PortletDescription_LiteralSerializer.java:94)
at com.sun.xml.rpc.encoding.literal.LiteralObjectSerializerBase.internalDeserialize(LiteralObjectSerializerBase.java:174)
at com.sun.xml.rpc.encoding.literal.LiteralObjectSerializerBase.deserialize(LiteralObjectSerializerBase.java:84)
at oracle.webdb.wsrp.ServiceDescription_LiteralSerializer.doDeserialize(ServiceDescription_LiteralSerializer.java:88)
at com.sun.xml.rpc.encoding.literal. (WWC-43273)
Note that when the producer is OC4J 10.1.3.1.1 then it works fine. The OC4J log file is also not throwing any exception. So, i think some problem with Oracle Portal 10.1.4.
Thanks
TarunPlease follow the instructions given in https://metalink.oracle.com/help/usaeng/Search/search.html#file with document id 341922.1
-
Register WSRP Portlet Producer -- Connection
I use.Net to create a Portlet, the following error registration
oracle.portlet.client.container.PortletConnectionException: oracle.webservices.model.SerializationException: oracle.j2ee.ws.wsdl.LocalizedWSDLException: WSDLException: faultCode=PARSER_ERROR: Failed to read wsdl file at: "http://node243-vip:8678/wsrpdefault/wsdl/1.0/WSRPService.wsdl", caused by: java.net.UnknownHostException. : java.net.UnknownHostException: node243-vip
at oracle.portlet.client.connection.wsrp.WSRPProducerConnection.create(WSRPProducerConnection.java:261)
at oracle.adfinternal.model.portlet.manager.ProducerConnectionManager.createWSRPProducerConnection(ProducerConnectionManager.java:335)
at oracle.adfdtinternal.model.portlet.wizards.registration.wsrp.WSRPProducerRegistrationWizard$4$1.doWork(WSRPProducerRegistrationWizard.java:1618)
at oracle.ide.dialogs.ProgressRunnable.run(ProgressRunnable.java:161)
at oracle.ide.dialogs.ProgressBar.run(ProgressBar.java:655)
at java.lang.Thread.run(Thread.java:662)
Caused by: oracle.webservices.model.SerializationException: oracle.j2ee.ws.wsdl.LocalizedWSDLException: WSDLException: faultCode=PARSER_ERROR: Failed to read wsdl file at: "http://node243-vip:8678/wsrpdefault/wsdl/1.0/WSRPService.wsdl", caused by: java.net.UnknownHostException. : java.net.UnknownHostException: node243-vip
at oracle.adf.model.connection.webservice.impl.WebServiceConnectionImpl.<init>(WebServiceConnectionImpl.java:157)
at oracle.adf.model.connection.webservice.api.WebServiceConnectionFactory.newInstance(WebServiceConnectionFactory.java:177)
at oracle.portlet.client.connection.wsrp.WSRPProducerConnection.create(WSRPProducerConnection.java:250)
... 5 more
Caused by: oracle.j2ee.ws.wsdl.LocalizedWSDLException: WSDLException: faultCode=PARSER_ERROR: Failed to read wsdl file at: "http://node243-vip:8678/wsrpdefault/wsdl/1.0/WSRPService.wsdl", caused by: java.net.UnknownHostException. : java.net.UnknownHostException: node243-vip
at oracle.j2ee.ws.wsdl.xml.WSDLReaderImpl.readWSDL(WSDLReaderImpl.java:382)
at oracle.j2ee.ws.wsdl.xml.WSDLReaderImpl.readWSDL(WSDLReaderImpl.java:627)
at oracle.j2ee.ws.wsdl.xml.WSDLReaderImpl.readWSDL(WSDLReaderImpl.java:605)
at oracle.adf.model.connection.webservice.util.WsdlUtil.loadWsdl(WsdlUtil.java:97)
at oracle.adf.model.connection.webservice.impl.WebServiceConnectionImpl.<init>(WebServiceConnectionImpl.java:127)
... 7 more
Caused by: java.net.UnknownHostException: node243-vip
at java.net.Inet6AddressImpl.lookupAllHostAddr(Native Method)
at java.net.InetAddress$1.lookupAllHostAddr(InetAddress.java:850)
at java.net.InetAddress.getAddressFromNameService(InetAddress.java:1201)
at java.net.InetAddress.getAllByName0(InetAddress.java:1154)
at java.net.InetAddress.getAllByName(InetAddress.java:1084)
at java.net.InetAddress.getAllByName(InetAddress.java:1020)
at HTTPClient.HTTPConnection$25.run(HTTPConnection.java:5831)
at java.security.AccessController.doPrivileged(Native Method)
at HTTPClient.HTTPConnection.privilegedInetAddressGetAllByName(HTTPConnection.java:5828)
at HTTPClient.HTTPConnection.access$3500(HTTPConnection.java:215)
at HTTPClient.HTTPConnection$EstablishConnection$2.run(HTTPConnection.java:4375)
at HTTPClient.HttpClientConfiguration.doAction(HttpClientConfiguration.java:740)
at HTTPClient.HTTPConnection.doAction(HTTPConnection.java:5492)
at HTTPClient.HTTPConnection$EstablishConnection.run(HTTPConnection.java:4367)
Please help meHi, the WSDL provided can't be viewed in the browser either.
I can only view "*http://localhost:7101/"* as soon as I add "*Products/portlets/wsrp2?WSDL*" I have a problem
What could I be doing wrong??
kind Regards
Thabo -
Any scripts for producing registration scripts for concurrent pgms?
Hi all
After I register concurrent executable, program, any custom values-sets, parameters, and adding to request group for any type of concurrent program(ex:report/host/plsql procedure) using application developer form screens, does any one have script that I can run to get the registration script out of oracle seeded tables for any given concurrent program.?
Any useful links also will be helpful.
I am looking for any script that should be produced, so that I can run the script next time to register the same insted of going through the application developer forms screens again and again. The script should register executable, program, parameters, request group, value-sets etc.,
I may be able to register the script into apps as concurrent program.
Thanks
RRB.
null-- SQL Program which creates the concurrent program REP305, and the other application objects.
SET SERVEROUTPUT ON;
DECLARE
-- Count for the number of the parameters
n_para_count NUMBER(2) := 3;
v_program_short_name VARCHAR2(30) := 'REP305';
-- Short Name of the program
-- Also the name of the executable
v_program_long_name VARCHAR2(240) := 'Program Status Summary - YTD';
-- Printer definintions
v_printer VARCHAR2(30) := NULL;
-- Name of the Printer
n_cols NUMBER(3) := 180;
-- Number of columns in the report
n_rows NUMBER(3) := 45;
-- Number of rows in the report
v_style VARCHAR2(30) := 'LANDWIDE -HPLJ4';
-- Style of the report
b_create BOOLEAN := TRUE;
-- Variable to control the creation of the program
v_program_application VARCHAR2(30) := 'Extensions';
-- Application of the concurrent program
v_group_application VARCHAR2(30) := 'Extensions';
-- Application of the request group
v_request_group VARCHAR2(30) := 'All Programs';
-- The name of the request group
-- Boolean Variables for checking existence of objects
b_program_in_group BOOLEAN;
b_executable_exists BOOLEAN;
b_program_exists BOOLEAN;
b_parameter_exists BOOLEAN;
-- variable for holding the current executing object
v_cur_object VARCHAR2(2000);
v_error_message VARCHAR2(2000);
TYPE rectype_para IS RECORD
program_short_name VARCHAR2(30),
application VARCHAR2(30),
sequence NUMBER(2),
parameter VARCHAR2(40),
description VARCHAR2(240),
enabled VARCHAR2(1),
value_set VARCHAR2(30),
default_type VARCHAR2(30),
default_value VARCHAR2(200),
required VARCHAR2(1),
enable_security VARCHAR2(1),
range VARCHAR2(30),
display VARCHAR2(1),
display_size NUMBER(3),
description_size NUMBER(3),
concatenated_description_size NUMBER(3),
prompt VARCHAR2(80),
token VARCHAR2(30));
TYPE tab_type_para IS TABLE OF rectype_para
INDEX BY BINARY_INTEGER;
table_para tab_type_para;
BEGIN
-- Assigning the values needed for each parameter
table_para(1).parameter := 'PA_PERIOD_NAME';
table_para(1).value_set := 'VS_PERIOD'; -- All Periods
table_para(1).prompt := 'Period Name';
table_para(1).token := 'P_PA_PERIOD_NAME';
table_para(1).required := 'Y';
table_para(1).display := 'Y';
table_para(2).parameter := 'PA_RECORDING_ENTITY';
table_para(2).value_set := 'VS_RECORDING_ENTITY';
table_para(2).prompt := 'Recording Entity';
table_para(2).token := 'P_PA_REC_ENTITY';
table_para(2).required := 'N';
table_para(2).display := 'Y';
table_para(3).parameter := 'PA_RESP_ORG_NAME';
table_para(3).value_set := 'VS_PROJ_OWNER_ORG';
table_para(3).prompt := 'Project Responsible Organization';
table_para(3).token := 'P_PA_RESP_ORG_NAME';
table_para(3).required := 'N';
table_para(3).display := 'Y';
b_executable_exists := FND_PROGRAM.EXECUTABLE_EXISTS
(executable_short_name => v_program_short_name,
application => v_program_application);
-- Deletes the program
b_program_exists := FND_PROGRAM.PROGRAM_EXISTS
(program => v_program_short_name,
application => v_program_application);
IF b_program_exists
THEN
FND_PROGRAM.DELETE_PROGRAM
(program_short_name => v_program_short_name,
application => v_program_application);
DBMS_OUTPUT.PUT_LINE(v_program_short_name | | ' concurrent program deleted');
END IF;
-- Deletes the executable
IF b_executable_exists
THEN
FND_PROGRAM.DELETE_EXECUTABLE
(executable_short_name => v_program_short_name,
application => v_program_application);
DBMS_OUTPUT.PUT_LINE(v_program_short_name | | ' executable deleted');
END IF;
IF b_create = FALSE
THEN
COMMIT;
RETURN;
END IF;
v_cur_object := 'Executable ' | | v_program_short_name;
-- Assigning the c urrent executing object to the error variable
-- Creates the executable
FND_PROGRAM.EXECUTABLE
(executable => v_program_short_name,
application => v_program_application,
short_name => v_program_short_name,
description => v_program_short_name,
execution_method => 'Oracle Reports',
execution_file_name => v_program_short_name,
subroutine_name => NULL,
icon_name => NULL,
language_code => 'US');
DBMS_OUTPUT.PUT_LINE(v_program_short_name | | ' executable created');
-- Creates the Concurrent Program
v_cur_object := 'Concurrent Program ' | | v_program_short_name;
FND_PROGRAM.REGISTER(program => v_program_long_name,
application => v_program_application,
enabled => 'Y',
short_name => v_program_short_name ,
description => v_program_long_name,
executable_short_name => v_program_short_name,
executable_application => v_program_application,
execution_options => NULL,
priority => NULL,
save_output => 'Y',
print => 'Y',
cols => n_cols,
rows => n_rows,
style => v_style,
style_required => 'N',
printer => v_printer,
request_type => NULL,
request_type_application => NULL,
use_in_srs => 'Y',
allow_disabled_values => 'N',
run_alone => 'N',
language_code => 'US');
DBMS_OUTPUT.PUT_LINE(v_program_short_name | | ' concurrent program created');
-- Creates all the parameters needed for the concurrent program
for i IN 1..n_para_count
LOOP
table_para(i).program_short_name := v_program_short_name;
table_para(i).application := v_program_application;
table_para(i).sequence := i;
table_para(1).description := NULL;
table_para(i).enabled := 'Y';
--table_para(i).default_type := NULL;
--table_para(i).default_value := NULL;
table_para(i).enable_security := 'N';
table_para(i).range := NULL;
--table_para(i).display := 'Y';
table_para(i).display_size := 30;
table_para(i).description_size := 50;
table_para(i).concatenated_description_size := 25;
v_cur_object := 'Parameter ' | | table_para(i).parameter;
FND_PROGRAM.PARAMETER(
program_short_name => table_para(i).program_short_name ,
application => table_para(i).application ,
sequence => table_para(i).sequence ,
parameter => table_para(i).parameter,
description => table_para(i).description ,
enabled => table_para(i).enabled ,
value_set => table_para(i).value_set ,
default_type => table_para(i).default_type ,
default_value => table_para(i).default_value ,
required => table_para(i).required ,
enable_security => table_para(i).enable_security,
range => table_para(i).range ,
display => table_para(i).display ,
display_size => table_para(i).display_size,
description_size => table_para(i).description_size ,
concatenated_description_size => table_para(i).concatenated_description_size ,
prompt => table_para(i).prompt,
token => table_para(i).token);
DBMS_OUTPUT.PUT_LINE( 'Parameter ' | | table_para(i).parameter | | ' created.');
END LOOP;
-- Adding the concurrent program to the request group
FND_PROGRAM.add_to_group(
program_short_name => v_program_short_name,
program_application => v_program_application,
request_group => v_request_group,
group_application => v_group_application);
DBMS_OUTPUT.PUT_LINE(v_program_short_name | | ' added to ' | | v_request_group);
EXCEPTION
WHEN OTHERS THEN
v_error_message := FND_PROGRAM.MESSAGE;
v_cur_object := v_cur_object | | '' | | v_error_message;
ROLLBACK;
RAISE_APPLICATION_ERROR(-20000, 'Error Occured while creating ' | | v_cur_object);
END;
COMMIT;
SET SERVEROUTPUT OFF;
--EXIT;
Maybe you are looking for
-
Need help with screen zoom please
I just upgraded from Tiger to Leopard. When I had the old Tiger software installed, I was able to zoom in and out on my screen by holding down the Control key while scrolling with my mouse. But since I installed Leopard (not Snow Leopard, since I am
-
I have a Lacie External Drive connected to my AEBS. All the time while it's connected the drive wines. So much in fact, that I've turned it off. I know the drive is 'permanently' connected to the network but should it be causing it to wine like this?
-
Mighty mouse compatibility with Beige G3
Hello, I have an interesting problem with trying to connect a mighty mouse to my beige G3. When I depress the mighty mouse button, the computer thinks it is a control-click rather than just a normal click. This seems to happen about 80% of the time i
-
Character counter in ABAp Webdynpro
Hi everyone, I have a table with an editable field. I'd like to have a "Character counter" over the table, which displays the remaining characters of the field. Example: The field length is 100, but there is a limit for the maximum length e.g 70. Whe
-
i want to know whats the release of jdeveloper certified with Oracle E-Business Suite 12.1.3 https://forums.oracle.com/thread/2583919