Calling XSQL from java servlet
I'm able to call XSQL, process the page, and display it. But, how do I set the stylesheet from within my java servlet.
I tried params.put( "xml-stylesheet", "[path to sheet]" ), and then passing that to process(), but it just ignores it. I want to be able to set the stylesheet dynamicaly like when you call XSQL from the command line or from the XSQL servlet.
XSQLRequest req = new XSQLRequest( xsql );
Hashtable params = new Hashtable(2);
params.put( "mths", "6");
params.put( "run_id", "30");
params.put( "grade", "A" );
params.put( "xml-stylesheet", xsl ); <-- just seems to ignore this.
ByteArrayOutputStream ostr = new ByteArrayOutputStream(2048);
req.process( params, ostr, new PrintWriter(System.err) );
Thanks for the help Steve (and thanks for a really nice book by the way.)
To answer your first question, I have implemented a report caching servlet. In the application we're writing, reports are generated in HTML or PDF (using XSQL) on demand. However, the data really only changes once a day at most so I wanted to have a way to store the reports once they were generated. So this servlet basically gets the request for a report, checks to see if the report has already been generated and, if not, generates the report using XSQLRequest. Finally it returns the report to the user.
One benefit to doing this is that it masks the generation process from the user (ie, they can just hit a link like http://somehost/path/to/report.pdf and they get a pdf report.) Of course the other benefit is that reports only need to be generated once, reducing server load.
I will definitely try your suggestion and just redirect to the XSQL servlet. I guess I was thinking about it too hard, this is a simple solution which will probably address the problem with a minimum of fuss. ;o) Using XSQLRequest directly works, it's just that I want to be able to reference external images using relative paths... it's funny that relative references to XSL pages works though.
Thanks again,
Van
null
Similar Messages
-
Hi,
I am calling xsql from Java.
Can I set FOPserializer with help of oraclesql like i can set other attribute of xsql.
e.g
OracleXMLQuery ors = new OracleXMLQuery(conn, selectStmt);
ors.setRaiseNoRowsException(false);
ors.setSkipRows(skipRows);
ors.setMaxRows(maxRows);
an example would be helpful.
Thanks in advance
RajuThe FOPSerializer (and the concept of serializers in general) is a feature of the XSQL Pages Framework. Your code example here is using the XML SQL Utility's OracleXMLQuery class. To use XSQL programmatically, you should use the oracle.xml.xsql.XSQLRequest class, documented in the XSQL Online Documentation
hope this helps. -
How to Call SQL Loader from Java ( servlet )?
We need to call SQL Loader command from Java Servlets? Any suggestions how this can be done?
Thanks
RahulProbably not the best way, but you could try using JNI to call a C function which then invokes SQL Loader via system() or exec(). I haven't done this myself though...
-
Return data from Java servlet in form of JSON encoded parameters in Javascr
How to return data from Java servlet in form of JSON encoded parameters in Javascript handler function call?
The same is implemented in php as the following
echo "sT.handleAjaxResponse(";
echo json_encode($response);
echo ");";
How to do the same in Java servlet?
Thanks.With the rising popularity of JSON (especially with Ajax), support for it has started to appear in the Java community. I am not aware of any standardized approach yet, but expect it is likely we'll see that eventually. For now, you probably want to look at a third-party library such as the [JSON in Java Library|http://www.json.org/java/], Jettison, or [Java Tools for the JSON Format|http://jsontools.berlios.de/].
-
"ReferenceError: "myIpAddr" is not defined, when call JavaScript from java
Hi developers,
My java application was trying to issue a http request via proxy auto-config. So, I did below jobs
1. Read URL of *.pac from registry
2. Call FindProxyForURL from java, the code is like below
ScriptEngineManager factory = new ScriptEngineManager();
ScriptEngine engine = factory.getEngineByName("JavaScript");
engine.eval(autoProxyScript);
Invocable inv = (Invocable) engine;
Object obj = inv.invokeFunction("FindProxyForURL",
"http://java.sun.com/",
"java.sun.com");
However, I got "ReferenceError: "myIpAddress" is not defined
I can not change the script on server to add a function like "myIpAddress", I am wordering why IE or mozilla can call it successfully and get proxy server, while Java failed to do that.
I got a ugly solution by calling "pacparser" by jni. But I really hope I can get a better solution.A .pac file is a JavaScript, but it requires some functions to be defined in the executing context to work (i.e. you must define those).
From the example on the Wikipedia page there's at least "shExpMatch" and "isInNet". "myIpAddress" seems to be another such candidate. -
Hi',
I am trying to call OSB from java client,
The OSB proxy Service type is "WSDL Web Service", I am able to get response from SOAP UI with below request, Please help me with Java code,
I have been Googling a lot for this however didnt got enough.
Thanks
Yatan
<soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/" xmlns:v1="http://core.xxx.com/schema/ServiceHeader/V1.0" xmlns:v11="http://core.xxx.com/schema/Customer/V1.0" xmlns:v12="http://core.xxx.com/schema/Customer/V1.0">
<soapenv:Header>
<wsse:Security soapenv:mustUnderstand="1" xmlns:wsse="http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-wssecurity-secext-1.0.xsd">
<wsse:UsernameToken wsu:Id="UsernameToken-2" xmlns:wsu="http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-wssecurity-utility-1.0.xsd">
<wsse:Username>weblogic</wsse:Username>
<wsse:Password Type="http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-username-token-profile-1.0#PasswordText">welcome1</wsse:Password>
</wsse:UsernameToken>
</wsse:Security>
<v1:GMWSHeader>
<v1:SourceId>String</v1:SourceId>
<v1:TransactionId>String</v1:TransactionId>
<v1:TransactionTimeStamp>1967-08-13</v1:TransactionTimeStamp>
<v1:ServiceVersion>LATEST</v1:ServiceVersion>
</v1:GMWSHeader>
</soapenv:Header>
<soapenv:Body>
<v11:GetDetailsRequest>
<v11:Condition>
<v12:SellingSource>?</v12:SellingSource>
<v12:FulfillingFCNNbr>?</v12:FulfillingFCNNbr>
</v11:Condition>
</v11:GetDetailsRequest>
</soapenv:Body>
</soapenv:Envelope>Thanks Guys, I tried the ways you mentioned I am getting below error, this error is coming in both weblogic clientgen and webservice proxy from jdeveloper,
I understand that this error has something to do with my process however not sure why is it coming, I will really appreciate if you can provide me some pointers.
error:
Buildfile: C:\JDeveloper\OSBClient\TestOSBClient\build.xml
javaFromWSDL:
[clientgen]
*********** jax-ws clientgen attribute settings ***************
wsdlURI: http://localhost:8001/xx/som/contracts/CustomerContract?wsdl
packageName : com.osb.client
destDir : C:\OSB
*********** jax-ws clientgen attribute settings end ***************
[clientgen] Consider using <depends>/<produces> so that wsimport won't do unnecessary compilation
[clientgen] parsing WSDL...
[clientgen]
[clientgen]
[clientgen] [ERROR] A class/interface with the same name "com.osb.client.SOMMessage" is already in use. Use a class customization to resolve this conflict.
[clientgen] line 89 of http://localhost:8001/xx/som/contracts/CustomerContract?SCHEMA%2FSOMResources%2FXSD%2FSOMCommon
[clientgen]
[clientgen] [ERROR] (Relevant to above error) another "SOMMessage" is generated from here.
[clientgen] line 51 of http://localhost:8001/xx/som/contracts/CustomerContract?SCHEMA%2FSOMResources%2FXSD%2FSOMCommon
[clientgen]
[clientgen] [ERROR] A class/interface with the same name "com.osb.client.TaskCompletionMessage" is already in use. Use a class customization to resolve this conflict.
[clientgen] line 82 of http://localhost:8001/xx/som/contracts/CustomerContract?SCHEMA%2FSOMResources%2FXSD%2FSOMCommon
[clientgen]
[clientgen] [ERROR] (Relevant to above error) another "TaskCompletionMessage" is generated from here.
[clientgen] line 76 of http://localhost:8001/xx/som/contracts/CustomerContract?SCHEMA%2FSOMResources%2FXSD%2FSOMCommon
[clientgen]
[clientgen] [ERROR] Two declarations cause a collision in the ObjectFactory class.
[clientgen] line 89 of http://localhost:8001/xx/som/contracts/CustomerContract?SCHEMA%2FSOMResources%2FXSD%2FSOMCommon
[clientgen]
[clientgen] [ERROR] (Related to above error) This is the other declaration.
[clientgen] line 51 of http://localhost:8001/xx/som/contracts/CustomerContract?SCHEMA%2FSOMResources%2FXSD%2FSOMCommon
[clientgen]
[clientgen] [ERROR] Two declarations cause a collision in the ObjectFactory class.
[clientgen] line 82 of http://localhost:8001/xx/som/contracts/CustomerContract?SCHEMA%2FSOMResources%2FXSD%2FSOMCommon
[clientgen]
[clientgen] [ERROR] (Related to above error) This is the other declaration.
[clientgen] line 76 of http://localhost:8001/xx/som/contracts/CustomerContract?SCHEMA%2FSOMResources%2FXSD%2FSOMCommon
[clientgen]
BUILD FAILED
weblogic.wsee.tools.WsBuildException: Error running JAX-WS clientgen: null
at weblogic.wsee.tools.clientgen.jaxws.ClientGenImpl.execute(ClientGenImpl.java:175)
at weblogic.wsee.tools.anttasks.ClientGenFacadeTask.execute(ClientGenFacadeTask.java:244)
at weblogic.wsee.tools.anttasks.ClientGenTask.execute(ClientGenTask.java:365)
at org.apache.tools.ant.UnknownElement.execute(UnknownElement.java:288)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
at sun.reflect.DelegatinxxethodAccessorImpl.invoke(DelegatinxxethodAccessorImpl.java:25)
at java.lang.reflect.Method.invoke(Method.java:597)
at org.apache.tools.ant.dispatch.DispatchUtils.execute(DispatchUtils.java:106)
at org.apache.tools.ant.Task.perform(Task.java:348)
at org.apache.tools.ant.Target.execute(Target.java:357)
at org.apache.tools.ant.Target.performTasks(Target.java:385)
at org.apache.tools.ant.Project.executeSortedTargets(Project.java:1337)
at org.apache.tools.ant.Project.executeTarget(Project.java:1306)
at org.apache.tools.ant.helper.DefaultExecutor.executeTargets(DefaultExecutor.java:41)
at org.apache.tools.ant.Project.executeTargets(Project.java:1189)
at org.apache.tools.ant.Main.runBuild(Main.java:758)
at org.apache.tools.ant.Main.startAnt(Main.java:217)
at org.apache.tools.ant.Main.start(Main.java:179)
at org.apache.tools.ant.Main.main(Main.java:268)
Caused by: Error starting wsimport:
at com.sun.tools.ws.ant.WsImport2.execute(WsImport2.java:757)
at weblogic.wsee.tools.clientgen.jaxws.ClientGenImpl.execute(ClientGenImpl.java:169)
... 19 more
Caused by: com.sun.tools.ws.wscompile.AbortException
at com.sun.tools.ws.processor.modeler.wsdl.JAXBModelBuilder.bind(JAXBModelBuilder.java:136)
at com.sun.tools.ws.processor.modeler.wsdl.WSDLModeler.buildJAXBModel(WSDLModeler.java:2255)
at com.sun.tools.ws.processor.modeler.wsdl.WSDLModeler.internalBuildModel(WSDLModeler.java:194)
at com.sun.tools.ws.processor.modeler.wsdl.WSDLModeler.buildModel(WSDLModeler.java:140)
at com.sun.tools.ws.wscompile.WsimportTool.buildWsdlModel(WsimportTool.java:261)
at com.sun.tools.ws.wscompile.WsimportTool.run(WsimportTool.java:203)
at com.sun.tools.ws.wscompile.WsimportTool.run(WsimportTool.java:188)
at com.sun.tools.ws.ant.WsImport2.execute(WsImport2.java:738)
... 20 more
Total time: 3 seconds -
Can any one help me in calling an ABAP program from Java.
The version of SAP with me is 4.7.
Thanks in advance.
Regards ,
Nagaraju DonikenaTo call ABAP from Java when I tried doing it from sample code given in help I was getting the following error. Can any one help in this regard.
Exception in thread "main" java.lang.ExceptionInInitializerError: JCO.classIniti
alize(): Could not load middleware layer 'com.sap.mw.jco.rfc.MiddlewareRFC'
JCO.nativeInit(): Could not initialize dynamic link library sapjcorfc [no sapjco
rfc in java.library.path]. java.library.path
at com.sap.mw.jco.JCO.<clinit>(JCO.java:735)
at TestConnect.<init>(TestConnect.java:8)
at TestConnect.main(TestConnect.java:25) -
Calling BDC from Java using JCO
Hello Everyone,
Is it possible to call a BDC from Java program using JCO ?Are you serious with that question? Did you try to build the web service client before? Because this is exactly the same. Try to find "building web service clients" instead "Calling BPEL from java". By default (probably) every BPEL process has both WSIF and SOAP end points, just use correct WSDL address.
-
Hi everybody,
I need to call Matlab from Java, run some programs in matlab and get the standard output.
I know I can start matlab with:
Process proc = Runtime.getRuntime().exec("matlab");
But then how do i run a program in matlab? (For example, if I have "myprogram.m", I would run it in matlab by typing "myprogram")
If I start a new process [Process proc2 = Runtime......exec("myprogram")], it does not start in matlab.
Any ideas?
thanx in advance.Sounds like myprogram is just a parameter of a call to matlab.
Try some variations on
exec("matlab myprogram");
There is also - I believe - an exzec call that takes an array of parameters. -
public static void main(String[] args) {
String arr[] = null;
arr = new String[2];
arr[0] = "-buildfile";
arr[1] = "C:\\workspace\\my projects\\ANTTASKS\\bin\\build.xml";
try {
Launcher launcher = new Launcher();
launcher.main(arr);
} catch (Exception e) {
System.out.println(e.getMessage());
// TODO: handle exception
I tried calling ant from java. But the problem is that, i am not sure how to get the handle of error & input stream from this.
I also need to know how do I kill the ant executable if there is some kind of exception like ConnectionTimeOut or is there any some kind of timeout mechanism.
Earlier i was calling ant as an external process like Process P = new Process(), where p.execute("ant.bat xxxxx"). I used to get the error & input stream from the process itself.
Please help!!!
thanksA better approach would be to use the classes provided in Ant. The API documentation for Ant has all the necessary information.
The sample code would look like:
Project ant = new Project();
ProjectHelper helper = new ProjectHelperImpl();
ant.init();
helper.parse(ant, new File("build.xml"));
ant.executeTarget("clean"); -
Calling searchadminctl from Java failing
I am trying to call searchadminctl from a Java application, to make some automation around installing thesaurus. The searchadminctl batch file gets called alright and its own Java application gets started, but it gives me this error:
16:48:26:812 INFO main url:null user:eqsys
16:48:27:530 INFO main cmd mode=1
16:48:27:546 INFO main thesaurus:default:null:null
16:48:27:546 INFO main delete:thesaurus:default
16:48:27:593 INFO main thesaurus delete:1
16:48:27:890 INFO main url:null user:eqsys
16:48:28:609 INFO main cmd mode=1
16:48:28:609 INFO main thesaurus:null:null:null
16:48:28:609 INFO main create:thesaurus:C:/ses-thesaurus-importer/export/thesaurus.xml:null
16:48:28:749 DEBUG main thesaurus:null
16:48:28:749 INFO main thesaurus null null
16:48:28:843 DEBUG main ThesaurusDBAdapter insert to run command:ctxload userName:eqsys
16:48:30:812 DEBUG output ThesaurusDBAdapter$1 Enter user: Connecting...
16:48:30:827 DEBUG output ThesaurusDBAdapter$1 Creating thesaurus DEFAULT...
16:48:30:843 DEBUG output ThesaurusDBAdapter$1 Thesaurus DEFAULT created...
16:48:30:843 DEBUG output ThesaurusDBAdapter$1 Processing...
16:48:30:843 DEBUG output ThesaurusDBAdapter$1 0 lines processed successfully
16:48:30:843 DEBUG output ThesaurusDBAdapter$1 Beginning insert...DRG-50857: oracle error in drzmiai
16:48:30:843 DEBUG output ThesaurusDBAdapter$1 ORA-20000: Oracle Text-fejl:
16:48:30:843 DEBUG output ThesaurusDBAdapter$1 ORA-04002: INCREMENT skal være et heltal forskelligt fra nul
16:48:30:843 DEBUG output ThesaurusDBAdapter$1 ORA-06512: ved "CTXSYS.DRUE", linje 160
16:48:30:843 DEBUG output ThesaurusDBAdapter$1 ORA-06512: ved "CTXSYS.DRITHSL", linje 129
16:48:30:843 DEBUG output ThesaurusDBAdapter$1 ORA-06512: ved linje 1
16:48:30:843 DEBUG output ThesaurusDBAdapter$1
16:48:30:859 DEBUG output ThesaurusDBAdapter$1 Disconnected
16:48:30:952 DEBUG main ThesaurusDBAdapter finish command with status 1
16:48:30:952 ERROR main Error creating thesaurus: the NLS_LANG environment variable may be inconsistent with the thesaurus encoding java.lang.Exception oracle.search.admin.db.ThesaurusDBAdapter:insert:310 oracle.search.admin.manager.JDBCDataManagerService:create:148 oracle.search.admin.manager.AbstractAdminDataManager:create:54 oracle.search.admin.manager.ThesaurusManager:create:52 oracle.search.admin.cmd.AdminCMDHandler:create:334 oracle.search.admin.cmd.AdminConsole:runAdminModuleJob:672 oracle.search.admin.cmd.AdminConsole:runAdminComand:541 oracle.search.admin.cmd.AdminConsole:main:227
As you can see, the delete operation goes well, but create fails. The NLS_LANG message seems to be shown no matter what the real error was though.
The funny thing is, that I have tried to take the EXACT command with the EXACT parameters my Java application calls, and call it manually, and then it works just fine. Any ideas on how to get this to work? Any ideas what these ORA-XXXXX errors is?
Thank you
SørenLast night when I was somewhere between this world and dream world I scanned through my code in my mind and found the error, and it is my bad... I called the searchadminctl with my thesaurus file as argument, just before I closed my OutputStream to the file, which we all know is quite a bad idea.
So the answer is: it is absolutly no problem to call searchadminctl from Java :)
/Søren -
Dear All,
Due to project requirement, I have a customer who wants to call ESB from java/unix
i am aware of java calling BPEL but I have never seen a java calling ESB ?
does any body about it ?
Is it possible ?
Appreciate your response.
Best Regards
ArcHi, for BPEL there is a really good API to invoke processes externally. For ESB there is not (as far as I know). But each ESB process is just invokable like any other web service. So it would be an option to use javax.xml.rpc package and create Service and Call objects. You can then make use of DII (Dynamic invoking) and there is no need to specify parameters as long payload for the ESB process is valid XML for the Routing Service.
Jos Baan -
Calling package from java using JNDI properties
Hi there,
I have created an interface to transfer data from oracle to JMS XML Queue. It is inside a package and have generated a scenario.
The scenario works well when executed from the ODI designer. When I execute it from java it throws an error. The error is
java.sql.SQLException: Cannot load connection class because of underlying exception: 'javax.jms.JMSException: Cannot create the initial JNDI context
Is there any ways to set the JNDI properties, (any set methods for ODIConnection object)
CheersAre you serious with that question? Did you try to build the web service client before? Because this is exactly the same. Try to find "building web service clients" instead "Calling BPEL from java". By default (probably) every BPEL process has both WSIF and SOAP end points, just use correct WSDL address.
-
Hi
I want to use xml for updating files in an existing jar . so i want to call xml from java code and then come back to java code and do the remaining work in java code, pl guide me how to do this . what APIs are helpful for this regard
ThanksYou can't update files in a jar. Even if you could, you wouldn't use XML for that. You don't call XML. XML is not a programming language. So, basically your entire question is misguided.
-
Sample Java code and detail to call RFC from Java clas developed in Eclipse
Hi All,
I am new to Java. I have downloaded Eclipse IDE and planning to use for developing Java application to send data to SAP by calling RFC JCO Interface.
I need a sample java code/tutorial step by step to create Java class for simple example to call RFC from Java.
I have downloaded SAPJCO3 from service market place.
Kindly help me to send steps involved to configure for JCO with my Eclipse with JCO.
Thanks in advance.
SharmaHi Sharma,
Please have a look at [Example: Using Generated Proxies to Call Function Modules |http://help.sap.com/saphelp_nw04/helpdata/en/b6/55e3952a902447847066a0df27b0d6/content.htm]
JCo Exceptions : http://help.sap.com/saphelp_nw70ehp1/helpdata/en/f6/daea401675752ae10000000a155106/content.htm
Hope it will helps
Regards
Arun
Maybe you are looking for
-
Warning message in Transaction VF31
Hi, I want a warning message in transaction VF31 and my system is ECC 5.0. I couldnt locate any billing exit. Is it possible to throw a warning message in this case?
-
Transfer purchases from one Apple ID to another
Does anyone know how to do this?
-
Security at a dimension level in a Planning Application (ver 9.3.1)
Hi, I'm dealing with the Assign Access process in the Dimensions pane. Is it possible set access at dimension level? How can I set the member Account (root of Account Dimension) visible for only a subset of user? Thanks in advance. Stefano
-
Help with the Oracle Fusion Order Demo deployment to Weblogic Server
Hello all, I am new to SOA and am in the process of understanding SOA concepts. I am trying to deploy the Fusion Order Demo sample application to the Weblogic server. I am following the instructions given at : [http://www.oracle.com/technology/obe/ob
-
What files does iTunes install in Windows 7?
I am trouble-shooting a friend's Dell, running the 64-bit Windows 7. He is worried that his iTunes installation is faulty, and that he may lose access to his extensive music and podcast library. I am looking for a list of which files get installed -