Looking up EJB from Java Web start
I have a java client application that looks-up an EJB deployed in WebLogic Server 10.3 on windows xp. the application works fine when invoked from command line. But when I try to run the same application via Java Web Start, I get following error while doing EJB lookup:
java.lang.AssertionError: java.lang.ClassNotFoundException: com.pks.dummy.SL1
at weblogic.ejb.container.internal.RemoteBusinessIntfGenerator.generateRemoteInterface(RemoteBusinessIntfGenerator.java:57)
at weblogic.ejb.container.internal.RemoteBusinessIntfProxy.readObject(RemoteBusinessIntfProxy.java:205)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)
at java.lang.reflect.Method.invoke(Unknown Source)
at java.io.ObjectStreamClass.invokeReadObject(Unknown Source)
at java.io.ObjectInputStream.readSerialData(Unknown Source)
at java.io.ObjectInputStream.readOrdinaryObject(Unknown Source)
at java.io.ObjectInputStream.readObject0(Unknown Source)
at java.io.ObjectInputStream.defaultReadFields(Unknown Source)
at java.io.ObjectInputStream.readSerialData(Unknown Source)
at java.io.ObjectInputStream.readOrdinaryObject(Unknown Source)
at java.io.ObjectInputStream.readObject0(Unknown Source)
at java.io.ObjectInputStream.readObject(Unknown Source)
at weblogic.utils.io.ChunkedObjectInputStream.readObject(ChunkedObjectInputStream.java:197)
at weblogic.rjvm.MsgAbbrevInputStream.readObject(MsgAbbrevInputStream.java:564)
at weblogic.utils.io.ChunkedObjectInputStream.readObject(ChunkedObjectInputStream.java:193)
at weblogic.rmi.internal.ObjectIO.readObject(ObjectIO.java:62)
at weblogic.rjvm.ResponseImpl.unmarshalReturn(ResponseImpl.java:240)
at weblogic.rmi.cluster.ClusterableRemoteRef.invoke(ClusterableRemoteRef.java:348)
at weblogic.rmi.cluster.ClusterableRemoteRef.invoke(ClusterableRemoteRef.java:259)
at weblogic.jndi.internal.ServerNamingNode_1030_WLStub.lookup(Unknown Source)
at weblogic.jndi.internal.WLContextImpl.lookup(WLContextImpl.java:392)
at weblogic.jndi.internal.WLContextImpl.lookup(WLContextImpl.java:380)
at javax.naming.InitialContext.lookup(Unknown Source)
at com.pks.dummy.client.TestClientDummy.doTest(Unknown Source)
at com.pks.dummy.client.TestClientDummy.main(Unknown Source)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)
at java.lang.reflect.Method.invoke(Unknown Source)
at com.sun.javaws.Launcher.executeApplication(Unknown Source)
at com.sun.javaws.Launcher.executeMainClass(Unknown Source)
at com.sun.javaws.Launcher.doLaunchApp(Unknown Source)
at com.sun.javaws.Launcher.run(Unknown Source)
at java.lang.Thread.run(Unknown Source)
Caused by: java.lang.ClassNotFoundException: com.pks.dummy.SL1
at weblogic.ejb.container.deployer.RemoteBizIntfClassLoader.getClassBytes(RemoteBizIntfClassLoader.java:151)
at weblogic.ejb.container.deployer.RemoteBizIntfClassLoader.loadClass(RemoteBizIntfClassLoader.java:96)
at weblogic.ejb.container.internal.RemoteBusinessIntfGenerator.generateRemoteInterface(RemoteBusinessIntfGenerator.java:54)
... 36 more
#### Java Web Start Error:
#### null
com.pks.dummy.SL1 is Remote interface for the Session Bean. and is packaged in same jar with client jar. Also, I am able to instantiate the com.pks.dummy.SL1 using class.forName in main() method of client code in both command line as well as Web start environment.
Any help is appreciated. Thanks.
Edited by: javaDev on Dec 19, 2008 11:58 AM
Edited by: javaDev on Dec 19, 2008 12:18 PM
I got the solution for ClassNotFound issue. To avoid this error, one need to package EJB stubs on client side. Packaging just the EJB interfaces doesn't help.
EJB stubs can be generated using weblogic.appc utility. For more information about this utility please refer
WebLogic Server Command Reference : Link: [http://edocs.bea.com/wls/docs103/pdf/admin_ref.pdf]
Similar Messages
-
Refresh an open web page on closing an applet launch from Java Web Start
Hi
I launch an aplication via Java Web Start from a link in a web page. I am looking to a solution to refresh my web page when I close my applet.
Thanks in advance to give me the solution or only to let me know if it's possible or not.everything's possible. but this is not trivial. there is no direct connection between the html page that launched the app and the app. You can create an indirect connection by having the app notify a server process when it closes and having the page periodically polling the server for the app's status.
-
How can I open help file (HTML or .chm) from Java Web Start (new to JAVA)
Hi All,
Im trying to open the help file of my application.
When trying to access the help file from the GUI (pressing F1 for launching the help file), I'm geting the an error, something like:
"Can't show help URL: jar:file:C:\Documents and Settings\%USER%\Application Data\Sun\Java\Deployment\javaws\cache\http\Dlocalhost\P7001\DMwebstart\RMjar-name!/com/resources/helpFiles/MyHelpFile.html"
It seems that the file which is packed in a jar, was downloaded to the Java Web Start cache directory:
C:\Documents and Settings\%USER%\Application Data\Sun\Java\Deployment\javaws\cache\http\Dlocalhost\P7001\DMwebstart
The code which is activated when launching the help file is:
try
ResourceBundle resourceBundle = DoubleResourceBundle.getBundle("Resource", "ResourceImpl");
RuntimeUtil.launchFile(new File(resourceBundle.getString("help.file")));
} catch (IOException e)
// TODO Auto-generated catch block
e.printStackTrace();
}where the property "help.file" is in some property file in the resource bundle named "Resource", and looks like this :
help.file="com/trax/docs/help/global/MyHelpFile.html"
The function "RuntimeUtil.launchFile" knows how to launch any file in its default application, and indeed it does launches the html, when giving it an absolute path to the file on my PC, as "C:\Helpfiles\MyHelpFile.html" as such:
RuntimeUtil.launchFile("C:\Helpfiles\MyHelpFile.html");My question is :
The application is going to be deployed on a Customer PC. How can I access the html file from the code, with a relative path and not its absolute path on the customer pc, which I can't know?
I found these restrictions regarding web start:
(copied from "http://rachel.sourceforge.net/"):
*Rule 1: Java Archives only. No loose files.* All your resources have to be packaged in Java Archives (jar) if you want to have
them delivered to the user's machine and kept up-to-date automatically by Java Web Start.
*Rule 2: No file paths.* You can't use absolute or relative file paths to locate your
jars holding your resources (e.g. <code>jar:file:///c:/java/jws/.cache/resources.jar</code>).
Absolute file paths won't work because you never know where Java Web Start
will put your jar on the user's machine. Relative file paths won't work because Java Web Start
mangles the names of your jars (e.g. <code>venus.jar</code> becomes <code>RMvenus.jar</code>)
and every JNLP client implementation has the right to mangle your names
in a different way and you, therefore, can't predict the name with
which your jar will be rechristend and end up on the user's machine in
the application cache.Seems complex or impossible, to perform a simple task like opening a file.
Please advise (I'm new to Java and Web Start).
BTW, I'm working with IntelliJ IDEA 5.0.
Thanks,
Zedik.
{font:Tahoma}{size:26pt}
{size}{font}the follwing method i have used to open html file ...
so to access html file i am shipping resources folder with jar file ..
private void openHtmlPages(String pageName) {
String cmd[] = new String[2];
String browser = null;
File file = null;
if(System.getProperty("os.name").indexOf("Linux")>-1) {
file = new File("/usr/bin/mozilla");
if(!file.exists() ) {
}else {
browser = "mozilla";
}else {
browser = "<path of iexplore>";
cmd[0] = browser;
File files = new File("");
String metaData = "/resources/Help/Files/"+pageName+".html"; // folder inside jar file
java.net.URL url = this.getClass().getResource(metaData);
String fileName = url.getFile();
fileName = fileName.replaceAll("file:/","");
fileName = fileName.replaceAll("%2520"," ");
fileName = fileName.replaceAll("%20"," ");
fileName = fileName.replaceAll("jarfilename.jar!"," ").trim();
cmd[1] = fileName;
try{
Process p = Runtime.getRuntime().exec(cmd);
}catch(java.io.IOException io){
//Ignore
can anyone give me the solution..???
Regards
Ganesan S -
Accessing libraries from java web start
hi guys,
I am new to forums and sorry if this question has been posed before. I am trying to access jogl.dll and jogl_cg.dll through java web start. These libraries are getting downloaded on the client machine as a jar file. I am using the following commands to access these files
System.loadLibrary("jogl");
System.loadLibrary("jogl_cg");
Its giving me the follwing error
Exception in thread "main" java.lang.UnsatisfiedLinkError: C:\java\tools\jogl_cg.dll: Can't find dependent libraries
at java.lang.ClassLoader$NativeLibrary.load(Native Method)
at java.lang.ClassLoader.loadLibrary0(ClassLoader.java:1751)
at java.lang.ClassLoader.loadLibrary(ClassLoader.java:1676)
at java.lang.Runtime.loadLibrary0(Runtime.java:822)
at java.lang.System.loadLibrary(System.java:992)
at testlib.Main.main(Main.java:35)
Java Result: 1
I am getting unsatisfied link error as its searching for another library which jogl_cg.dll depends upon. Can anybody suggest me what other library do i need to attach and the way i am accessing the libraries using system.loadlibrary is correct or not
I would appreciate your help in this regard.
Thanks in advance,
ravi ananthuni.Actually you're correct. There was a resource missing.
The error was in the way I was packaging mail.jar. This archive has resources located in the META-INF subfolder inside the jar file. I'm running on Windows 2000, and I was expanding the mail.jar file, and then recreating and signing the archive using the Netscape utility signtool with the -Z option:
signtool -k <mycert> -d <keystore_path> -Z mail.jar <expanded JAR directory>.
When creating the JAR file, the META-INF folder is deleted and replaced with the META-INF entries for the JAR you've just created. The other resources packaged in the META-INF are overwritten, and so the signed mail.jar did not work properly -- hence the NoSuchProvider exception.
For reference the solution is to sign the directory without creating the jar file:
signtool -k <mycert> -d <keystore_path> <expanded JAR directory>
and then create the jar file from the signed directory using another archiving utility. I used the command line interface for Winzip 8.0.
cd <expanded JAR directory>
wzzip -rp ..\mail.jar *
http://developer.netscape.com/docs/manuals/cms/41/adm_gide/app_sign.htm#1012833
Thanks!
-- Eric.
Hi,
you suppose that the .jar files are not signed
correctly,
but what should have gone wrong?
You can check that each .jar is correctly signed with
the jarsigner tool:
jarsigner -verify -verbose foo.jar
If all your jars are reported to be signed, the only
other error I can imagine regarding signing is the
"all .jars referenced by one .jnlp must be signed
by the same key" rule. (Read Section 5.4 of the
jnlp 1.0.1 spec).
javax.mail.NoSuchProviderException: No provider for
Address type: rfc822
files to be listed as resources, Java Web Startfails
to launch my application (unsigned application
requesting unrestricted access to system).I would have expected the latter error, if you
have a signing problem.
That first error looks like something different,
perhaps the app is looking for a resource that
defines rfc822 behaviour.
Regards,
Marc -
Can not launch swing application from Java Web Start 1.6.0_37
I have a dynamic generated jnlp file from a serlvet. When I used Java Web Start to start the swing application, it failed. The exception showed
com.sun.deploy.net.FailedDownloadException: Unable to load resource: http://xxxx.xx.com:9080/dilpipweb/Test-1.0-SNAPSHOT.jar
at com.sun.deploy.net.DownloadEngine.actionDownload(Unknown Source)
at com.sun.deploy.net.DownloadEngine.getCacheEntry(Unknown Source)
at com.sun.deploy.net.DownloadEngine.getCacheEntry(Unknown Source)
at com.sun.deploy.net.DownloadEngine.getResourceCacheEntry(Unknown Source)
at com.sun.deploy.net.DownloadEngine.getResourceCacheEntry(Unknown Source)
at com.sun.deploy.net.DownloadEngine.getResource(Unknown Source)
at com.sun.javaws.LaunchDownload$DownloadTask.call(Unknown Source)
at java.util.concurrent.FutureTask$Sync.innerRun(Unknown Source)
at java.util.concurrent.FutureTask.run(Unknown Source)
at java.util.concurrent.ThreadPoolExecutor$Worker.runTask(Unknown Source)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(Unknown Source)
at java.lang.Thread.run(Unknown Source)
I used janela to validate the generated jnlp file. It was valid. I also checked the tomcat access log, it showed that the Test-1.0-SNAPSHOT.jar file was accessed correctly (with a 200 return code).
Can anyone help me what was the problem?
Thanks,Hi.
I got a different problem. My Corba application works in JRE 1.6, but doesn't works in JRE 1.5.X. I got an unexpected error and my console shows:
getSubjectX500Principal NoSuchMethodError: java.lang NoSuchMethodError
#### Java Web Start Error:
#### null
Can you help me? -
"access denied" error from Java Web Start
I can successfully download the jar file, but always have error message "access denied" when the java application tries to open a local file in C:\temp\poc1.xml.
I can successfully execute the java application from DOS,but failed when using Java Web Start. The error message is as follows:
Java Web Start Console, started Wed Nov 28 16:30:31 PST 2001Java 2 Runtime Environment: Version
1.3.1 by Sun Microsystems Inc.java.security.AccessControlException: access denied
(java.io.FilePermission C:\temp\poc1.xml read) at
org.apache.xerces.framework.XMLParser.parse(Unknown Source) at
org.apache.xerces.framework.XMLParser.parse(Unknown Source) at
com.hotlocker.client.HLSessionParser.parse(Unknown Source) at
com.hotlocker.client.UploadDownloadClient.uploadFiles(Unknown Source) at
com.hotlocker.client.UploadDownload.main(Unknown Source) at
java.lang.reflect.Method.invoke(Native Method) at
com.sun.javaws.Launcher.executeApplication(Unknown Source) at
com.sun.javaws.Launcher.executeMainClass(Unknown Source) at
com.sun.javaws.Launcher.continueLaunch(Unknown Source) at
com.sun.javaws.Launcher.handleApplicationDesc(Unknown Source) at
com.sun.javaws.Launcher.handleLaunchFile(Unknown Source) at
com.sun.javaws.Launcher.run(Unknown Source) at java.lang.Thread.run(Unknown Source)Hi,
you can't get a file like in a "normal" app
because a JWS-app runs in the restricted
sandbox environment by default.
So you either sign your app with a digital certificate
or you use a special FileOpenService (JNLP-API).
You could also put the file into the app-jar and
load it by a classloader.
Regards,
Mathias -
Jmxri running under javaw but not from java web start
Hi all
I've got following problem.
I've got application that uses special jar that requires jmxri.jar This jar is black box for me. It provides some interface to get data from server.
When I run my application using jmxri.jar and mentioned black box (jar) from command line with javaw, it is working fine.
javaw -Xmx256m -classpath application.jar;jmxri.jar;(blackbox.jar); CClient
In case I use jnlp, everything is same, I've got following error meassage.
cia4all:name=Cia4allFactory.... Exception ........................................
javax.management.InstanceNotFoundException: cia4all:name=Cia4allFactory
at com.sun.jmx.interceptor.DefaultMBeanServerInterceptor.getMBean(Unknown Source)
at com.sun.jmx.interceptor.DefaultMBeanServerInterceptor.invoke(Unknown Source)
at com.sun.jmx.mbeanserver.JmxMBeanServer.invoke(Unknown Source)
at de.siemens.cc.b2b.cia4all.client.Cia4allClientFactory.createLdap(Unknown Source)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)
at java.lang.reflect.Method.invoke(Unknown Source)
at com.sun.javaws.Launcher.executeApplication(Unknown Source)
at com.sun.javaws.Launcher.executeMainClass(Unknown Source)
at com.sun.javaws.Launcher.doLaunchApp(Unknown Source)
at com.sun.javaws.Launcher.run(Unknown Source)
at java.lang.Thread.run(Unknown Source)Cia4allClientFactory - is class in mentioned black box jar
The jnlp looks like
<?xml version="1.0" encoding="utf-8"?>
<jnlp spec="1.0+" codebase="file:/D:\" href="my.jnlp">
<security>
<all-permissions/>
</security>
<resources>
<j2se version="1.4+" max-heap-size="256m"/>
<jar href="application.jar" main="true" download="eager"/>
<jar href="blackbox.jar" download="eager"/>
<jar href="jmxri.jar" download="eager"/>
</resources>
<application-desc main-class="CClient">
</application-desc>
</jnlp>Any idea what must be configured in jnlp or missing ?
Edited by: svist001 on Aug 28, 2008 12:56 AMThe default remote apps webpage will be shown with these demos. In order to remove them for all-users, You need to change the default remote apps url, not in the user configuration file, but in a system config file.
unfortunately, because of bug 4933851, you can not just put a deployment.properties file in the javaws directory (untill update release 1.4.2_05, where this is fixed). Instead you have to put it in what they call ${deployment.system.home} which on unix is /etc/.java/.deployment, but on windows is ${windows dir}\Application Data\Sun\Java\Deployment
/Dietz -
Java Web Start and BC4J/OC4J
Hi all developers,
This is my first forum message, and I hope that there is someone that can help me.
Problem: A JClient using BC4J in a 3tier situation work perfectly well when run from within the IDE, however using the Web Start Wizard and deployed to the Application server and run from Java Web Start, it does not work.
Is there any HowTo or documentation on the right settings, roles, security, procedures, etc. with regard to Jclient, BC4J and Java WebStart?
Thanks
CraigAnt build file which does the signing
Please make sure you make a backup of the existing bc4jlibs.ear before you use this build file.
<!--Ant build file to create bc4jlibs.ear. bc4jlibs.ear is used in
JClient WebStart application
<property name="jdeveloper.root" value="D:\JDev9i\"/>
<property name="ear.file.name" value="D:\JDev9i\jlib\bc4jlibs.ear"/>
<property name="alias" value="mykey"/>
<property name="storepass" value="secretcode"/>
-->
<project name="buildear" basedir="." default="ear">
<!--define home for the libraries-->
<property name="lib.home" value="${jdeveloper.root}/lib"/>
<property name="ord.home" value="${jdeveloper.root}/ord"/>
<property name="j2ee.home" value="${jdeveloper.root}/j2ee"/>
<property name="jlib.home" value="${jdeveloper.root}/jlib"/>
<property name="jdev.home" value="${jdeveloper.root}/jdev"/>
<property name="vbroker4.home" value="${jdeveloper.root}/vbroker4"/>
<property name="jdbc.home" value="${jdeveloper.root}/jdbc"/>
<property name="BC4J.home" value="${jdeveloper.root}/BC4J"/>
<!--temp directories-->
<property name="temp.dir" value="${jdeveloper.root}/jdev/temp"/>
<property name="temp.war.dir" value="${temp.dir}/warroot"/>
<property name="temp.ear.dir" value="${temp.dir}/earroot"/>
<!--define war names for the various libraries-->
<property name="lib.war.name" value="${temp.ear.dir}/lib.war"/>
<property name="ord.war.name" value="${temp.ear.dir}/ord.war"/>
<property name="j2ee.war.name" value="${temp.ear.dir}/j2ee.war"/>
<property name="jlib.war.name" value="${temp.ear.dir}/jlib.war"/>
<property name="jdev.war.name" value="${temp.ear.dir}/jdev.war"/>
<property name="vbroker4.war.name" value="${temp.ear.dir}/vbroker4.war"/>
<property name="jdbc.war.name" value="${temp.ear.dir}/jdbc.war"/>
<property name="BC4J.war.name" value="${temp.ear.dir}/BC4J.war"/>
<taskdef name="appxml" classname="oracle.jbo.dt.jclient.ant.taskdefs.ApplicationXmlGenerator"/>
<target name="init">
<mkdir dir="${temp.dir}"/>
<mkdir dir="${temp.war.dir}"/>
<mkdir dir="${temp.ear.dir}"/>
</target>
<target name="clean">
<delete dir="${temp.dir}"/>
</target>
<target name="sign_jar" if="signing.enabled">
<signjar jar="${jarname}" alias="${alias}" storepass="${storepass}"/>
</target>
<!-- create war for lib jars.-->
<target name="lib_war" depends="init">
<copy todir="${temp.war.dir}">
<fileset dir="${lib.home}">
<include name="xmlparserv2.jar"/>
</fileset>
<fileset dir="${jdeveloper.root}/jdev/multi/system/templates/jclient">
<include name="WEB-INF/web.xml"/>
</fileset>
</copy>
<antcall target="sign_jar">
<param name="jarname" value="${temp.war.dir}/xmlparserv2.jar"/>
</antcall>
<jar jarfile="${temp.ear.dir}/lib.war">
<fileset dir="${temp.war.dir}">
<include name="**/*.jar"/>
<include name="**/*.zip"/>
<include name="WEB-INF/web.xml"/>
</fileset>
</jar>
<delete dir="${temp.war.dir}"/>
</target>
<!-- create war for ord jars.-->
<target name="ord_war" depends="init">
<copy todir="${temp.war.dir}">
<fileset dir="${ord.home}">
<include name="jlib/jmf.jar"/>
<include name="jlib/ordhttp.jar"/>
<include name="jlib/ordim.jar"/>
</fileset>
<fileset dir="${jdeveloper.root}/jdev/multi/system/templates/jclient">
<include name="WEB-INF/web.xml"/>
</fileset>
</copy>
<antcall target="sign_jar">
<param name="jarname" value="${temp.war.dir}/jlib/jmf.jar"/>
</antcall>
<antcall target="sign_jar">
<param name="jarname" value="${temp.war.dir}/jlib/ordhttp.jar"/>
</antcall>
<antcall target="sign_jar">
<param name="jarname" value="${temp.war.dir}/jlib/ordim.jar"/>
</antcall>
<jar jarfile="${temp.ear.dir}/ord.war">
<fileset dir="${temp.war.dir}">
<include name="**/*.jar"/>
<include name="**/*.zip"/>
<include name="WEB-INF/web.xml"/>
</fileset>
</jar>
<delete dir="${temp.war.dir}"/>
</target>
<!-- create war for j2ee jars.-->
<target name="j2ee_war" depends="init">
<copy todir="${temp.war.dir}">
<fileset dir="${j2ee.home}">
<include name="home/lib/ejb.jar"/>
<include name="home/lib/jaas.jar"/>
<include name="home/lib/jms.jar"/>
<include name="home/lib/jndi.jar"/>
<include name="home/lib/jta.jar"/>
<include name="home/oc4jclient.jar"/>
</fileset>
<fileset dir="${jdeveloper.root}/jdev/multi/system/templates/jclient">
<include name="WEB-INF/web.xml"/>
</fileset>
</copy>
<antcall target="sign_jar">
<param name="jarname" value="${temp.war.dir}/home/lib/ejb.jar"/>
</antcall>
<antcall target="sign_jar">
<param name="jarname" value="${temp.war.dir}/home/lib/jaas.jar"/>
</antcall>
<antcall target="sign_jar">
<param name="jarname" value="${temp.war.dir}/home/lib/jms.jar"/>
</antcall>
<antcall target="sign_jar">
<param name="jarname" value="${temp.war.dir}/home/lib/jndi.jar"/>
</antcall>
<antcall target="sign_jar">
<param name="jarname" value="${temp.war.dir}/home/lib/jta.jar"/>
</antcall>
<antcall target="sign_jar">
<param name="jarname" value="${temp.war.dir}/home/oc4jclient.jar"/>
</antcall>
<jar jarfile="${temp.ear.dir}/j2ee.war">
<fileset dir="${temp.war.dir}">
<include name="**/*.jar"/>
<include name="**/*.zip"/>
<include name="WEB-INF/web.xml"/>
</fileset>
</jar>
<delete dir="${temp.war.dir}"/>
</target>
<!-- create war for jlib jars.-->
<target name="jlib_war" depends="init">
<copy todir="${temp.war.dir}">
<fileset dir="${jlib.home}">
<include name="LW_PfjBean.jar"/>
<include name="bigraphbean.jar"/>
<include name="jdev-cm.jar"/>
</fileset>
<fileset dir="${jdeveloper.root}/jdev/multi/system/templates/jclient">
<include name="WEB-INF/web.xml"/>
</fileset>
</copy>
<antcall target="sign_jar">
<param name="jarname" value="${temp.war.dir}/LW_PfjBean.jar"/>
</antcall>
<antcall target="sign_jar">
<param name="jarname" value="${temp.war.dir}/bigraphbean.jar"/>
</antcall>
<antcall target="sign_jar">
<param name="jarname" value="${temp.war.dir}/jdev-cm.jar"/>
</antcall>
<jar jarfile="${temp.ear.dir}/jlib.war">
<fileset dir="${temp.war.dir}">
<include name="**/*.jar"/>
<include name="**/*.zip"/>
<include name="WEB-INF/web.xml"/>
</fileset>
</jar>
<delete dir="${temp.war.dir}"/>
</target>
<!-- create war for jdev jars.-->
<target name="jdev_war" depends="init">
<copy todir="${temp.war.dir}">
<fileset dir="${jdev.home}">
<include name="lib/jdev-rt.jar"/>
</fileset>
<fileset dir="${jdeveloper.root}/jdev/multi/system/templates/jclient">
<include name="WEB-INF/web.xml"/>
</fileset>
</copy>
<antcall target="sign_jar">
<param name="jarname" value="${temp.war.dir}/lib/jdev-rt.jar"/>
</antcall>
<jar jarfile="${temp.ear.dir}/jdev.war">
<fileset dir="${temp.war.dir}">
<include name="**/*.jar"/>
<include name="**/*.zip"/>
<include name="WEB-INF/web.xml"/>
</fileset>
</jar>
<delete dir="${temp.war.dir}"/>
</target>
<!-- create war for vbroker4 jars.-->
<target name="vbroker4_war" depends="init">
<copy todir="${temp.war.dir}">
<fileset dir="${vbroker4.home}">
<include name="lib/vbjorb.jar"/>
</fileset>
<fileset dir="${jdeveloper.root}/jdev/multi/system/templates/jclient">
<include name="WEB-INF/web.xml"/>
</fileset>
</copy>
<antcall target="sign_jar">
<param name="jarname" value="${temp.war.dir}/lib/vbjorb.jar"/>
</antcall>
<jar jarfile="${temp.ear.dir}/vbroker4.war">
<fileset dir="${temp.war.dir}">
<include name="**/*.jar"/>
<include name="**/*.zip"/>
<include name="WEB-INF/web.xml"/>
</fileset>
</jar>
<delete dir="${temp.war.dir}"/>
</target>
<!-- create war for jdbc jars.-->
<target name="jdbc_war" depends="init">
<copy todir="${temp.war.dir}">
<fileset dir="${jdbc.home}">
<include name="lib/classes12.jar"/>
<include name="lib/nls_charset12.jar"/>
</fileset>
<fileset dir="${jdeveloper.root}/jdev/multi/system/templates/jclient">
<include name="WEB-INF/web.xml"/>
</fileset>
</copy>
<antcall target="sign_jar">
<param name="jarname" value="${temp.war.dir}/lib/classes12.jar"/>
</antcall>
<antcall target="sign_jar">
<param name="jarname" value="${temp.war.dir}/lib/nls_charset12.jar"/>
</antcall>
<jar jarfile="${temp.ear.dir}/jdbc.war">
<fileset dir="${temp.war.dir}">
<include name="**/*.jar"/>
<include name="**/*.zip"/>
<include name="WEB-INF/web.xml"/>
</fileset>
</jar>
<delete dir="${temp.war.dir}"/>
</target>
<!-- create war for BC4J jars.-->
<target name="BC4J_war" depends="init">
<copy todir="${temp.war.dir}">
<fileset dir="${BC4J.home}">
<include name="jlib/bc4jctvb.jar"/>
<include name="jlib/bc4jdatum.jar"/>
<include name="jlib/bc4jdomgnrc.jar"/>
<include name="jlib/bc4jimjui.jar"/>
<include name="jlib/bc4jmtvb.jar"/>
<include name="jlib/bc4jui.jar"/>
<include name="lib/bc4jct.jar"/>
<include name="lib/bc4jctejb.jar"/>
<include name="lib/bc4jdomorcl.jar"/>
<include name="lib/bc4jimdomains.jar"/>
<include name="lib/bc4jmt.jar"/>
<include name="lib/bc4jmtejb.jar"/>
<include name="lib/collections.jar"/>
</fileset>
<fileset dir="${jdeveloper.root}/jdev/multi/system/templates/jclient">
<include name="WEB-INF/web.xml"/>
</fileset>
</copy>
<antcall target="sign_jar">
<param name="jarname" value="${temp.war.dir}/jlib/bc4jctvb.jar"/>
</antcall>
<antcall target="sign_jar">
<param name="jarname" value="${temp.war.dir}/jlib/bc4jdatum.jar"/>
</antcall>
<antcall target="sign_jar">
<param name="jarname" value="${temp.war.dir}/jlib/bc4jdomgnrc.jar"/>
</antcall>
<antcall target="sign_jar">
<param name="jarname" value="${temp.war.dir}/jlib/bc4jimjui.jar"/>
</antcall>
<antcall target="sign_jar">
<param name="jarname" value="${temp.war.dir}/jlib/bc4jmtvb.jar"/>
</antcall>
<antcall target="sign_jar">
<param name="jarname" value="${temp.war.dir}/jlib/bc4jui.jar"/>
</antcall>
<antcall target="sign_jar">
<param name="jarname" value="${temp.war.dir}/lib/bc4jct.jar"/>
</antcall>
<antcall target="sign_jar">
<param name="jarname" value="${temp.war.dir}/lib/bc4jctejb.jar"/>
</antcall>
<antcall target="sign_jar">
<param name="jarname" value="${temp.war.dir}/lib/bc4jdomorcl.jar"/>
</antcall>
<antcall target="sign_jar">
<param name="jarname" value="${temp.war.dir}/lib/bc4jimdomains.jar"/>
</antcall>
<antcall target="sign_jar">
<param name="jarname" value="${temp.war.dir}/lib/bc4jmt.jar"/>
</antcall>
<antcall target="sign_jar">
<param name="jarname" value="${temp.war.dir}/lib/bc4jmtejb.jar"/>
</antcall>
<antcall target="sign_jar">
<param name="jarname" value="${temp.war.dir}/lib/collections.jar"/>
</antcall>
<jar jarfile="${temp.ear.dir}/BC4J.war">
<fileset dir="${temp.war.dir}">
<include name="**/*.jar"/>
<include name="**/*.zip"/>
<include name="WEB-INF/web.xml"/>
</fileset>
</jar>
<delete dir="${temp.war.dir}"/>
</target>
<target name="create_application_xml" depends="init">
<appxml appxml="${temp.ear.dir}/application.xml">
<displayname name="bc4j"/>
<webmodule weburi="lib.war" contextroot="/lib"/>
<webmodule weburi="ord.war" contextroot="/ord"/>
<webmodule weburi="j2ee.war" contextroot="/j2ee"/>
<webmodule weburi="jlib.war" contextroot="/jlib"/>
<webmodule weburi="jdev.war" contextroot="/jdev"/>
<webmodule weburi="vbroker4.war" contextroot="/vbroker4"/>
<webmodule weburi="jdbc.war" contextroot="/jdbc"/>
<webmodule weburi="BC4J.war" contextroot="/BC4J"/>
</appxml>
</target>
<target name="ear">
<antcall target="lib_war"/>
<antcall target="ord_war"/>
<antcall target="j2ee_war"/>
<antcall target="jlib_war"/>
<antcall target="jdev_war"/>
<antcall target="vbroker4_war"/>
<antcall target="jdbc_war"/>
<antcall target="BC4J_war"/>
<antcall target="create_application_xml"/>
<ear earfile="${ear.file.name}" appxml="${temp.ear.dir}/application.xml">
<fileset dir="${temp.ear.dir}">
<include name="*.war"/>
</fileset>
</ear>
</target>
<!--target for signing wars-->
<target name="sign">
<property name="signing.enabled" value="true"/>
<antcall target="ear"/>
</target>
</project> -
More problems with Java Web Start
In my quest for running a simple JClient as a Java Web Start, I encountered another roadblock.
The JClient program runs fine when run on its own, but it fails when it runs from Java Web Start, and the stack trace says that the Application Module failed to get an instance because it couldn't find the following class (complete stack trace at bottom): javax/servlet/http/HttpSessionContext
(Now, isn't that a deprecated class?) I feel like I'm plagued with all kind of errors lately. Anyone knows what am I doing wrong?
Thanks,
GVdP
[Stack trace]
oracle.jbo.JboException: JBO-29000: Unexpected exception caught: oracle.jbo.common.ampool.ApplicationPoolException, msg=JBO-30003: The application pool (FI_Module9iASLocal) failed to checkout an application module due to the following exception:
at oracle.jbo.client.Configuration.createRootApplicationModuleFromConfig(Configuration.java:1144)
at oracle.jbo.uicli.mom.JUMetaObjectManager.createApplicationObject(JUMetaObjectManager.java:386)
at JApp.Main_Form.main(Main_Form.java:377)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
at java.lang.reflect.Method.invoke(Method.java:324)
at com.sun.javaws.Launcher.executeApplication(Unknown Source)
at com.sun.javaws.Launcher.executeMainClass(Unknown Source)
at com.sun.javaws.Launcher.continueLaunch(Unknown Source)
at com.sun.javaws.Launcher.handleApplicationDesc(Unknown Source)
at com.sun.javaws.Launcher.handleLaunchFile(Unknown Source)
at com.sun.javaws.Launcher.run(Unknown Source)
at java.lang.Thread.run(Thread.java:536)
## Detail 0 ##
JBO-30003: The application pool (FI_Module9iASLocal) failed to checkout an application module due to the following exception:
oracle.jbo.JboException: JBO-25222: Unable to create application module.
at oracle.jbo.common.ampool.DefaultConnectionStrategy.createApplicationModule(DefaultConnectionStrategy.java:151)
at oracle.jbo.common.ampool.DefaultConnectionStrategy.createApplicationModule(DefaultConnectionStrategy.java:76)
at oracle.jbo.common.ampool.ApplicationPoolImpl.instantiateResource(ApplicationPoolImpl.java:1767)
at oracle.jbo.pool.ResourcePool.createResource(ResourcePool.java:315)
at oracle.jbo.common.ampool.ApplicationPoolImpl.doCheckout(ApplicationPoolImpl.java:1394)
at oracle.jbo.common.ampool.ApplicationPoolImpl.useApplicationModule(ApplicationPoolImpl.java:2062)
at oracle.jbo.common.ampool.SessionCookieImpl.useApplicationModule(SessionCookieImpl.java:398)
at oracle.jbo.common.ampool.SessionCookieImpl.useApplicationModule(SessionCookieImpl.java:369)
at oracle.jbo.common.ampool.SessionCookieImpl.useApplicationModule(SessionCookieImpl.java:364)
at oracle.jbo.client.Configuration.createRootApplicationModuleFromConfig(Configuration.java:1135)
at oracle.jbo.uicli.mom.JUMetaObjectManager.createApplicationObject(JUMetaObjectManager.java:386)
at JApp.Main_Form.main(Main_Form.java:377)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
at java.lang.reflect.Method.invoke(Method.java:324)
at com.sun.javaws.Launcher.executeApplication(Unknown Source)
at com.sun.javaws.Launcher.executeMainClass(Unknown Source)
at com.sun.javaws.Launcher.continueLaunch(Unknown Source)
at com.sun.javaws.Launcher.handleApplicationDesc(Unknown Source)
at com.sun.javaws.Launcher.handleLaunchFile(Unknown Source)
at com.sun.javaws.Launcher.run(Unknown Source)
at java.lang.Thread.run(Thread.java:536)
## Detail 0 ##
javax.naming.NamingException: Lookup error: java.lang.NoClassDefFoundError: javax/servlet/http/HttpSessionContext; nested exception is:
java.lang.NoClassDefFoundError: javax/servlet/http/HttpSessionContext
at com.evermind.server.rmi.RMIContext.lookup(RMIContext.java:134)
at javax.naming.InitialContext.lookup(InitialContext.java:347)
at oracle.jbo.client.remote.ejb.ias.AmHomeImpl.remoteLookup(AmHomeImpl.java:99)
at oracle.jbo.client.remote.ejb.ias.AmHomeImpl.getRemoteApplicationModuleHome(AmHomeImpl.java:40)
at oracle.jbo.client.remote.ejb.AbstractApplicationModuleHomeImpl.lookupUsingPlatformContext(AbstractApplicationModuleHomeImpl.java:141)
at oracle.jbo.client.ejb.ApplicationModuleHomeImpl.<init>(ApplicationModuleHomeImpl.java:62)
at oracle.jbo.client.remote.ejb.AbstractApplicationModuleHomeImpl.<init>(AbstractApplicationModuleHomeImpl.java:37)
at oracle.jbo.client.remote.ejb.ias.AmHomeImpl.<init>(AmHomeImpl.java:33)
at oracle.jbo.client.remote.ejb.ias.InitialContextImpl.createJboHome(InitialContextImpl.java:28)
at oracle.jbo.common.JboInitialContext.lookup(JboInitialContext.java:81)
at javax.naming.InitialContext.lookup(InitialContext.java:347)
at oracle.jbo.common.ampool.DefaultConnectionStrategy.createApplicationModule(DefaultConnectionStrategy.java:132)
at oracle.jbo.common.ampool.DefaultConnectionStrategy.createApplicationModule(DefaultConnectionStrategy.java:76)
at oracle.jbo.common.ampool.ApplicationPoolImpl.instantiateResource(ApplicationPoolImpl.java:1767)
at oracle.jbo.pool.ResourcePool.createResource(ResourcePool.java:315)
at oracle.jbo.common.ampool.ApplicationPoolImpl.doCheckout(ApplicationPoolImpl.java:1394)
at oracle.jbo.common.ampool.ApplicationPoolImpl.useApplicationModule(ApplicationPoolImpl.java:2062)
at oracle.jbo.common.ampool.SessionCookieImpl.useApplicationModule(SessionCookieImpl.java:398)
at oracle.jbo.common.ampool.SessionCookieImpl.useApplicationModule(SessionCookieImpl.java:369)
at oracle.jbo.common.ampool.SessionCookieImpl.useApplicationModule(SessionCookieImpl.java:364)
at oracle.jbo.client.Configuration.createRootApplicationModuleFromConfig(Configuration.java:1135)
at oracle.jbo.uicli.mom.JUMetaObjectManager.createApplicationObject(JUMetaObjectManager.java:386)
at JApp.Main_Form.main(Main_Form.java:377)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
at java.lang.reflect.Method.invoke(Method.java:324)
at com.sun.javaws.Launcher.executeApplication(Unknown Source)
at com.sun.javaws.Launcher.executeMainClass(Unknown Source)
at com.sun.javaws.Launcher.continueLaunch(Unknown Source)
at com.sun.javaws.Launcher.handleApplicationDesc(Unknown Source)
at com.sun.javaws.Launcher.handleLaunchFile(Unknown Source)
at com.sun.javaws.Launcher.run(Unknown Source)
at java.lang.Thread.run(Thread.java:536)Please add servlet.jar to your classpath
-
Problem with win2000sp3 and Java web start
I have JRE and Java web start (1.2.0_01, build b01) which come downloading file j2re-1_4_1_01-windows-i586-i.exe from sun.
I have win2000pro running on my PC.
I had updated win2000 to service pack 2 and everything was fine.
Now i decided to update to service pack 3 (in the process I also updated other components) from Microsoft and:
1) Java applets seem to be running fine within i.e.
2) If i try to run an application from java web start my PC freezes and I have to restart it.
3) Staroffice 6.0, which runs on Java, seems to be fine.
I reinstalled both sp3 and jre etc, with no result.
Is this a known problem?
Thanks to all.
MaurizioI suspect that you have hit a known problem with Swing on Java 1.4.1 with buggy video drivers. Do you have an ATI card? They are the worst offenders. ATI released new drivers for its Radeon line today. They fix the problem.
-
Java Web Start and SplashScreen
Hi,
I have a jar which when run from the command line with:
java -jar myApp.jar
will run and display a SplashScreen as if I had used the command line
java -Splash:SplashImage.png myApp.
The problem I have is when this jar is run from Java Web Start, the splash screen is not displayed. I get the following error:
Java Web Start 1.6.0_03
Using JRE version 1.6.0_03 Java HotSpot(TM) Client VM
java.lang.Exception: Splash Screen not initialised at com.nunetic.myApp.client.view.Splash.<init>(Splash.java:41)
Splash.java is quite simple.
public class Splash
private final SplashScreen splash = SplashScreen.getSplashScreen();
public Splash() throws Exception
if (splash == null)
throw new Exception("Splash Screen not initialised");
init();
}It would appear that there is a bug in the JDK relating to this.
Bug ID: 6510416
Votes 13
Synopsis Need a support of native SplashScreen in Java WebStart
Category javawebstart:general
Reported Against
Release Fixed
State In progress, request for enhancement
Related Bugs 6481004
Submit Date 06-JAN-2007
Description
In JDK 6.0 AWT team introduced a new SplashScreen API (see java.awt.SplashScreen class for details). User can specify a SplashScreen image for application either as a command line option or in a manifest file inside JAR archive. However, both ways don't work if the application is launched from Java WebStart.
If this feature is important to anyone else out there, I suggest that you vote to have it fixed.
http://bugs.sun.com/bugdatabase/view_bug.do?bug_id=6510416
Regards
Chris -
Err. in programs copiled with Jdev 9.0.3 and run with Java Web Start
Hi all,
when I build my programs with Oracle9j JDeveloper 9.0.3.988 and I use them with Java Web Start, programs do not run, while when compiled with Oracle9j JDeveloper 9.0.2.x it runs without problems.
The Java version used in both cases is 1.4.0.
Here's an example of the log from Java Web Start:
Error in JavaWeb Start
viewer/imageViewer/ViewerAppState$1 (Illegal Variable name " val$files")
java.lang.ClassFormatError: viewer/imageViewer/ViewerAppState$1 (Illegal Variable name " val$files")
at java.lang.ClassLoader.defineClass0(Native Method)
at java.lang.ClassLoader.defineClass(ClassLoader.java:502)
at java.security.SecureClassLoader.defineClass(SecureClassLoader.java:123)
at com.sun.jnlp.JNLPClassLoader.defineClass(Unknown Source)
at com.sun.jnlp.JNLPClassLoader.access$1(Unknown Source)
at com.sun.jnlp.JNLPClassLoader$1.run(Unknown Source)
at java.security.AccessController.doPrivileged(Native Method)
at com.sun.jnlp.JNLPClassLoader.findClass(Unknown Source)
at java.lang.ClassLoader.loadClass(ClassLoader.java:299)
at java.lang.ClassLoader.loadClass(ClassLoader.java:255)
at java.lang.ClassLoader.loadClassInternal(ClassLoader.java:315)
at viewer.imageViewer.UtilityMenuPane.jbInit(UtilityMenuPane.java:167)
at viewer.imageViewer.UtilityMenuPane.<init>(UtilityMenuPane.java:155)
at viewer.imageViewer.UtilityMenuPane.getInstance(UtilityMenuPane.java:147)
at viewer.imageViewer.ImageViewerFrame.jbInit(ImageViewerFrame.java:179)
at viewer.imageViewer.ImageViewerFrame.<init>(ImageViewerFrame.java:145)
at viewer.imageViewer.ImageViewerFrame.getInstance(ImageViewerFrame.java:126)
at viewer.ImageViewer.execute(ImageViewer.java:30)
at viewer.Viewer.execute(Viewer.java:63)
at viewer.Viewer.<init>(Viewer.java:27)
at viewer.Viewer.main(Viewer.java:40)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
at java.lang.reflect.Method.invoke(Method.java:324)
at com.sun.javaws.Launcher.executeApplication(Unknown Source)
at com.sun.javaws.Launcher.executeMainClass(Unknown Source)
at com.sun.javaws.Launcher.continueLaunch(Unknown Source)
at com.sun.javaws.Launcher.handleApplicationDesc(Unknown Source)
at com.sun.javaws.Launcher.handleLaunchFile(Unknown Source)
at com.sun.javaws.Launcher.run(Unknown Source)
at java.lang.Thread.run(Thread.java:536)
Does anybody know why this happens?
ThanksHi There.
We had the same problem with some of our code. We moved the definition of the class from a method out of the method. Like this:
public class{
class{
instead of doing this:
public class{
method() {
class{
This worked with the web start......
Best regards
Jesper Lorentzen -
When we starting IR and ID, it will look for java web start platform? why?
When we starting IR and ID, it will look for java web start platform? why?
hi praveen,
Java web start is platform to launch the java application.
All the file from the central server are copied to the local machine
check the below blog
Java Web Start
Have some more Fun.......
regards
kummari -
Java console doesn't launch when starting Java Web Start app from Firefox
Updated my Linux desktop from RHEL to Fedora 12 with resultant upgrade of Firefox to 3.5.9 and now when I launch our Java Web Start application, no Java console appears. The Java Control Panel still shows "Show Console" as set. My app uses Java 1.5 which I have installed on my desktop.
What do I do to properly configure my browser/desktop to support use of the Java console?
Please help, I need to debug our app!
IlaneIlaneMarie wrote:
..Please help, I need to debug our app!Cannot tell you the answer to your FF hassles (because I have no idea why you're seeing that behaviour(1)), but note that you might be able side-step FF by launching a JWS app. using the javaws tool directly from the command line or an Ant build file.
1) Though you might try rebooting the machine if any installation/configuration changes have occurred since last boot.
Also note that many problems with JWS apps. can be sorted be checking the JNLP using JaNeLA. -
OpenGL not starting from java using java web start
Dear All,
I am a beginner in java2d, please excuse if what I am asking is not your standards. My problem is that I am using a swing application that is delivered to a client machine through the webstart. It is a medical Image viewer(usually DICOM images of size 10~15 MB) . I am using windows XP in my client machines. My graphics card is 'Intel(R) 82865G Graphics controller' and installed with the latesr driver from the intel web site. My current problems are:
1. I tried starting the opengl through the command line using the option java -Dsun.java2d.opengl=True MyApp. My application started however the verbose says opengl could not be started. The message is as follows:
Could not enable OpenGL pipeline for default config on screen 0
2. How can I start open gl when my application is run by java web start? How can I know that open gl has started? I tried giving System.setProperty("sun.java2d.opengl","True") in the main function of the program. I couldnt see any message regarding the opengl in the web start console.
Any help would be greatly appreciated,
Thanks in advance,
zeusIm not sure but a lot of times corruption happens and hence its better you redo your scheduling.
Regards,
Den
Maybe you are looking for
-
Media Encoder CC 7.2 and Indesign CC updating problem
When I try to update Media Encoder CC 7.2 and Indesign CC I have this error: U44M1I210 Thanks.
-
I can't turn off sound alerts for mail arrival
I have Mail in Lion configured to not play a sound when mail arrives. However, recently a sound started playing. It's still turned off in the config. I suspect a bug in a recent update to Lion. Has anyone else noticed this?
-
ITS Enablign for BPC drill through
I am looking for document on how to enable ITS on ECC, BW servers so that BPC drill through can be connected. Can any one tell me where to find the document for ITS enabling.
-
Just brought my daughter an iphone and have her setup on my ID. Want to be able to see her messages and photos but dont want my info to appear on her phone. How do i stop the messages from appearing on her phone?
-
Hi, I'm just about to move into a house at university, but am unsure whether there is a phone line installed, 02 have quoted me £85 to install one, but if I already have one I don't want to pay that! How can I check if there is a phone line in place?