File APIs for Java Developers
Manipulate DOC, XLS, PPT, PDF and many others from your application.
The moose likes JNLP and Web Start and the fly likes Swing client w/ WebStart & J2ee Big Moose Saloon
  Search | Java FAQ | Recent Topics | Flagged Topics | Hot Topics | Zero Replies
Register / Login
JavaRanch » Java Forums » Java » JNLP and Web Start
Bookmark "Swing client w/ WebStart & J2ee" Watch "Swing client w/ WebStart & J2ee" New topic

Swing client w/ WebStart & J2ee

Steve Trudel

Joined: Jan 03, 2005
Posts: 8

I'm writing a swing client that is deployed via Java Web Start and
communicates to a backend weblogic server. My problem is that when I
start the application I want to be able to communicate back to the server
that application jnlp was launced from so I don't have to hard code the
server in the client code.

For example. I have a .war file on the weblogic server that contains
a web page which references the .jnlp file. The application launches
fine from the .jnlp and is cached correctly, however, within the application
I then want to talk to the server via j2ee but don't have the server
name and port #. My thought is that it is in the .jnlp file locally since
the .jnlp file is create using the webstart servlet code and contains the
server name, but how can my app find this out?

Thanks in advance for any help.
Carl Trusiak

Joined: Jun 13, 2000
Posts: 3340
You are on the right track. Connection information can be included in the JNLP file as a property. In your code, you can access the property simply through System.getProperty(String). For details, read up on the JNLP file Format.

I Hope This Helps
Carl Trusiak, SCJP2, SCWCD
Steve Trudel

Joined: Jan 03, 2005
Posts: 8
Thanks Carl,

That helped alot. After I posted the message I found a snippet
of code that accesses BasicService to get the codebase but then I thought
that there may be a possiblity that the .war file may be on a different
server from the j2ee services so your response solves that.

URL codebase = ((BasicService)ServiceManager.lookup("javax.jnlp.BasicService")).getCodeBase();
System.out.println("CodeBase: " + codebase.toString());

I used the following to find the property that you led me to create
Properties plist = System.getProperties();

Thanks Again!
I agree. Here's the link:
subject: Swing client w/ WebStart & J2ee
It's not a secret anymore!