Custom protocol handler for Server and Client
Hi there,
I have been reading about "A New Era for Java Protocol Handlers" from http://java.sun.com/developer/onlineTraining/protocolhandlers/ . I would like to redesign my existing codes to suit this architecture.
The article mentioned about write client side application. I am wondering whether it will be possible to use the same architecture for server side as well ?
If it is possible, it will be the very kind of you all to guide me to the right direction. Thank you in advance.
Thanks for your input. Yeah, the article has been there for quite sometimes. That's why I am a bit sceptical about using it. The strange thing is that there has not been any updates about this topic since then (searched in google and not many web pages are mentioning this thing). I am wondering whether it is a good choice to change the code or not.
Similar Messages
-
Design for a semi protocol between a server and client
Hi!
I'm building quite a large client/server application that communicate using Serializable Objects.
There is about 20 actions done between the client and server ranging from
- the client requesting objects from the server
- to the client sending a range of different values to the server.
Does anyone have a design of a protocol that handles a large amount of actions that I could get design ideas off?Hi!
I'm building quite a large client/server application
that communicate using Serializable Objects.
There is about 20 actions done between the client and
server ranging from
- the client requesting objects from the server
- to the client sending a range of different values to
the server.HOPP / Half-Object plus Protocol / Half-Object part Protocol
This is the pattern EJB's follow.
Does anyone have a design of a protocol that handles a
large amount of actions that I could get design ideas
off?Protocol ? There is SOAP, RTSP, SMTP or HTTP.
To implement a Protocol Handler, checkout the Command & Interpreter Pattern. Command is most useful if you simply know the commands you need to handle, and Interpreter is most useful if you have a grammer you wish to implement. -
How to configure ODI for server and client correct?
Hi forum,
this is my first post and i hope you guys can help me out ...
i
am new to ODI and WLS and in my case ODI need to run on a server where a couple of clients can connect to, work on the same project with their own workspaces and accounts.
The database will be located on the same server.
As far as i understood, i need to install the the ODI Java EE type (not the standalone type) with a WLS ?!
iI already nstalled
JDK 6u41 (x64),
ODI 11g (11.1.1.6, generic),
Oracle DB 11g R2 enterprise and
WebLogic 11g (10.3.6, generic)
on the Server and now i am trying to connect to the ODI repositories from a client with an ODI standalone installation.
I am now trying to insert a Data Source into the physical agemt (not even sure if i need to do this in my case).
Following these instructions (http://docs.oracle.com/cd/E17904_01/integrate.1111/e12643/setup_topology.htm#CHDHJBAD) i get an ODI-26029 error.
Below are some configuration information of the software i installed.
h3. ODI
Installation:
Installationtype: full
Oracle home directory: Oracle_ODI1
Agent name: odi_agent
Agent port: 1987
Repositories/connection:
Master repository user = odim
Work repository user = odiw
Work repository name = WORKREP1
JDBC connection string = jdbc:oracle:thin:@localhost:1521:orcl
*odim and odiw have been created manually with grant options on connect and resource
Physical agent (with no datasource defined):
Name = OracleDIAgent
Host = localhost
Webapplicationcontext = oraclediagent
Port = 8001
Protocol = http
Physical data server:
Name = oracle_db_11gr2
User = odiw
JDBC connection string = jdbc:oracle:thin:@localhost:1521:orcl
Physical schema:
Schema (schema) = ODIW
Schema (work schema) = ODIW
Context = aMIS_dev
Logical schema = oracle_db_11gr2
Logiacal schema
Context = aMIS_dev
Physical schema = oracle_db_11gr2.ODIW
Context:
Name = aMIS_dev
Logical agent = OracleDIAgent
Physical agent = OracleDIAgent
Logical schema = oracle_db_11gr2
Physical schema = oracle_db_11gr2.ODIW
Logical schema:
Name = oracle_db_11gr2
Context = aMIS_dev
Physical schema = oracle_db_11gr2.ODIW
Logical agent
Name = OracleDIAgent
Context = aMIS_dev
Physical Agent = OracleDIAgent
h3. Oracle DB 11g R2
Installation
Global database name = orcl.otera.local
SID = orcl
h3. WebLogic 11g:
+1. generate new basic WebLogic Server domain+
Domainname = ODI-DOMAIN
Admin name = weblogic
Admin server name = AdminServer
Listening port = 7001
Managed server name = odi_server1
Managed server port = 8001
+2. extend an existing WebLogic domain+
Choose extension source: ODI - Agent, ODI - Agent Libraries, Oracle JRF
Window: Configure JDBC compontent schema:
Driver = Oracle's Driver (Thin) for Instance connection; Versions: 9.0.1 and higher
Schema owner = odim
DBMS/Service = orcl
Hostname = localhost
Port = 1521
Client name = LocalODIMachine
Listening address of the accountmanager = localhost
Listening port of the accountmanager = 5556
Really hope you guys can help me quick.
Thanks in advanceHi DecaXD,
thank you for quick response :)
on the client site i tried to establish the connection to the work repository with the following connection information:
Login information*:
Oracle Data Integrator Connection
Login name = odi_server
User = SUPERVISOR
Database connection (Master Repository):
User = odim
URL = jdbc:oracle:thin:@<server ip>:1521:orcl
A work repository could be found, but the connection failed! (?!)
" ODI-26130: Connection to the repository failed.
oracle.odi.core.config.NotWorkRepositorySchemaException: ODI-10147: Repository type mismatches.
Could not get JDBC Connection; nested exception is java.sql.SQLException: Unable to start the Universal Connection Pool: oracle.ucp.UniversalConnectionPoolException: Invalid SQL-Query for validating the connection (+translated from german into english+) "
my ODI configuration on the server site (loged in as: odiw):
topology tab*:
Physical architecture:
Technology:
Definition:
Dataserver name = oracle_db_11gr2
User = odiw
JDBC-URL = jdbc:oracle:thin:@10.168.178.131:1521:orcl
Datasource:
Agent = OracleDIAgent
JNDI-Name = [DataSourceName]
Agents:
Definition:
Name = OracleDIAgent
Host = <IP of the server>
Port = 8001
Webapplicationcontext = oraclediagent
Datasources:
Dataserver = oracle_db_11gr2
JNDI-Name = [DataSourceName]
Logical architecture:
Technology:
Defintion:
Name = oracle_db_11gr2
Context = aMIS_dev
Physical schema = oracle_db_11gr2.ODIW
Agent:
Name = OracleDIAgent
Context = aMIS_dev
Physical agent = OracleDIAgent
when i test the connection of the data server (topology>physical architecture>technology>oracle>oracle_db_11gr2) with the OracleDIAgent i receive the
" ODI-26039: Connection failed.
oracle.odi.runtime.agent.invocation.InvocationException: javax.naming.NameNotFoundException: Unable to resolve '[DataSourceName]'. Resolved ''; remaining name '[DataSourceName]' "
since testing the connection on the server site failed in first place, i couldn't test the connection on the client site. -
Certificates for Server and Client to install . Pls advice
I am doing File --XI --- File scenario with FTPS.
Currently consider only File -- XI part now.
We go point by point: for this link:
https://www.sdn.sap.com/irj/sdn/go/portal/prtroot/docs/library/uuid/964f67ec-0701-0010-bd88-f995abf4e1fc
Blog says:
1. In the visual admin of XI make Server Public and Private keys.
2. In the visual admin of XI make Client Public and Private keys.
Suppose File Sender System is Server and XI is Client
Questions:
a. Do I need make Server Public and Private keys In the visual admin of XI ?
b. Do I need make Client Public and Private keys In the visual admin of XI ?
Generic Rule -- system1 sends its public key to system2 and similarly system2 sends its public key to system1.
c. For Export keys and Import keys as given in blog
-- I am not able to get this part given from Page 38 - 41 of this blog.
Pls advice me
Regards
Edited by: Henry A on Mar 3, 2008 1:07 PM
Edited by: Henry A on Mar 3, 2008 1:08 PM
Edited by: Henry A on Mar 3, 2008 1:54 PMHi DecaXD,
thank you for quick response :)
on the client site i tried to establish the connection to the work repository with the following connection information:
Login information*:
Oracle Data Integrator Connection
Login name = odi_server
User = SUPERVISOR
Database connection (Master Repository):
User = odim
URL = jdbc:oracle:thin:@<server ip>:1521:orcl
A work repository could be found, but the connection failed! (?!)
" ODI-26130: Connection to the repository failed.
oracle.odi.core.config.NotWorkRepositorySchemaException: ODI-10147: Repository type mismatches.
Could not get JDBC Connection; nested exception is java.sql.SQLException: Unable to start the Universal Connection Pool: oracle.ucp.UniversalConnectionPoolException: Invalid SQL-Query for validating the connection (+translated from german into english+) "
my ODI configuration on the server site (loged in as: odiw):
topology tab*:
Physical architecture:
Technology:
Definition:
Dataserver name = oracle_db_11gr2
User = odiw
JDBC-URL = jdbc:oracle:thin:@10.168.178.131:1521:orcl
Datasource:
Agent = OracleDIAgent
JNDI-Name = [DataSourceName]
Agents:
Definition:
Name = OracleDIAgent
Host = <IP of the server>
Port = 8001
Webapplicationcontext = oraclediagent
Datasources:
Dataserver = oracle_db_11gr2
JNDI-Name = [DataSourceName]
Logical architecture:
Technology:
Defintion:
Name = oracle_db_11gr2
Context = aMIS_dev
Physical schema = oracle_db_11gr2.ODIW
Agent:
Name = OracleDIAgent
Context = aMIS_dev
Physical agent = OracleDIAgent
when i test the connection of the data server (topology>physical architecture>technology>oracle>oracle_db_11gr2) with the OracleDIAgent i receive the
" ODI-26039: Connection failed.
oracle.odi.runtime.agent.invocation.InvocationException: javax.naming.NameNotFoundException: Unable to resolve '[DataSourceName]'. Resolved ''; remaining name '[DataSourceName]' "
since testing the connection on the server site failed in first place, i couldn't test the connection on the client site. -
1 App-v package for server and clients?
Hi,
Please verify if this setup is correct.
The idea is to deploy an App-v 5.0 package to servers as well as pc's.
Deploy of an app-v package with 2 deployment types:
1.for a Windows 2008 R2 without any dependency = prereq Windows 2008 R2 (no dependency to App-v 5 since it is installed in build of server)
2.for a Windows 7 X64 with dependency App-v 5.0 hotfix 5 (which has a dependency to App-v 5)
... and 2 deployments:
1.to a terminal server farm (which has App-v 5.0 RDS deployed already), mandatory
2.to Windows 7 pc's (not to users for now), also mandatory
This to avoid having two sepeare App-v applications for the same source.
Please advise or correct.
J
Jan HoedtLooks fine, I have stopped using the App-v client as a dependency, I set it as a requirement instead as it makes it easier to manage the App-v client as there are no dependecies to take care of.
Regards,
jörgen
-- My System Center blog ccmexec.com -- Twitter
@ccmexec -
The best combination of oracle tools and linux for server and client pcs
Hi experts
I want to know that which is the best certified/tested/best "Linux" operating system / flavor for oracle 10g ids for client and programmers
for client: access through browser and/or as client/server
for programmers: development
ThanksAll certified Linux distributions you can find here:
http://www.oracle.com/technology/support/metalink/index.html -
Custom Protocol Handler in WL6.0
Hi
I wrote my own url protcol handler for retrieving data with custom URLs.
It works fine in a client application, but when my custom URLs are invoked
in EJB code running inside WL6, the URL is not recognized : I get a
MalformedURLException.
Note that I added a debug statement that checks the value of the system
property java.protocol.handler.pkgs
and my package is correctly listed there after many weblogic packages.
has anyone ever been able to use a custom protocol handler inside WL6 ?
regards,
EdoHi,
First, I want to know what kind of Windows do you use? If it is a Windows server system, there might be a security setting that prevents this, you can try to turn it off in this way:
Open the Server Manager, then select IE ESC,
Turn off the Internet Explorer Enhanced security configuration both for administrator and users in the way as the screenshot below:
If you are using a Windows client system, try to add the local address to the local intranet security setting in this way:
Open Internet Explorer, then select Internet option, click “security” item.
Select Local Intranet then click “sites”, then click “advanced”.
Add the local sites as the screenshot below:
Wade Liu
TechNet Community Support -
9i installation (network problem b'n server and client
Hi
I installed 9i in windows 2003 server and client system (win xp). I configured listener.ora file in server and tns.ora file in client mechine. while trying to ping (i.e tnsping) i m getting follwoing errors in both systems.
C:\>tnsping tns_tekhub3
TNS Ping Utility for 32-bit Windows: Version 9.2.0.1.0 - Production on 13-DEC-20
06 11:28:25
Copyright (c) 1997 Oracle Corporation. All rights reserved.
Used parameter files:
f:\Orahome92\network\admin\sqlnet.ora
TNS-03505: Failed to resolve name
C:\>Hi,
i made chages in sqlnet.ora file.
C:\>lsnrctl services
LSNRCTL for 32-bit Windows: Version 9.2.0.1.0 - Production on 14-DEC-2006 09:23:
04
Copyright (c) 1991, 2002, Oracle Corporation. All rights reserved.
Connecting to (DESCRIPTION=(ADDRESS=(PROTOCOL=IPC)(KEY=EXTPROC1)))
Services Summary...
Service "PLSExtProc" has 1 instance(s).
Instance "PLSExtProc", status UNKNOWN, has 1 handler(s) for this service...
Handler(s):
"DEDICATED" established:0 refused:0
LOCAL SERVER
Service "tekhub" has 2 instance(s).
Instance "tekhub", status UNKNOWN, has 1 handler(s) for this service...
Handler(s):
"DEDICATED" established:0 refused:0
LOCAL SERVER
Instance "tekhub", status READY, has 1 handler(s) for this service...
Handler(s):
"DEDICATED" established:1 refused:0 state:ready
LOCAL SERVER
Service "tekhubXDB" has 1 instance(s).
Instance "tekhub", status READY, has 1 handler(s) for this service...
Handler(s):
"D000" established:0 refused:0 current:0 max:1002 state:ready
DISPATCHER <machine: SERVER, pid: 3684>
(ADDRESS=(PROTOCOL=tcp)(HOST=server)(PORT=1064))
The command completed successfully -
Creating custom protocol handler
Hi all java's guru I hope that you guys can help me. I,ve been trying to develop custom protocol handler that handles this kind of url:
jdbc://driver_type/database_url/statement
I have override the URLConnection class but i get confused where to set the input stream and output stream.
Your guys help will be really appreciated.
Thanks in advanceWell I've been busy implementing Thinkfree
application server(online office applet). I have
succeeded implementing webdav protocol(it's not that
difficult since webdav works also via http) Now I'm
trying to develop custom file object that getting his
inputstream and outputstream from and into the
database. Because database connection in java only
possible via jdbc so I have to write my own
URLStreamHandler and URLConnection class. Does
anybody has experience in developing a custom
protocol handler? any advice will be appreciatedAre you aware that the actual protocol used for communication to a database is totally proprietary? As in it depends on the database?
Could you describe how you think this will work exactly? Because you can't just write a one-size fits all solution here. It just does not exist. And I am not too sure what you mean by the input and output streams from and into the database mean. -
Connection fails if server and clients are in different subnets
Hello,
our Volume License Manager (v2.1) is running in another subnets than the clients (All machines are running under Windows XP-SP2 without Domains or ADS, just workgroups).
The server is in subnet A (192.168.42.0/24), all clients are located in another subnet B (192.168.50.0/24).
Routing is properly configured and is working fine, traffic to the specific hosts is not blocked by a firewall. We can ping every machine,
open telnet connections to the NILM, everything works.
But if the clients try to connect to the remote NILM (both local client NI License Manager and VLM port settings are correct) their connection attempt always
times out with error code "NILM10"
(I already read the mentioned KBs, no solution has helped so far). This is true if clients and server are separated.
For testing purposes, i plugged one client into the server's subnet (server's IP: 192.168.50.250, client 192.168.50.10)
and it worked perfectly. Is there a reason why server and client have to be on the same subnet or is it some other kind of problem that I am not aware of?
Thank you.
ThorstenHello Thorsten,
Did you add the server's domain to the client computer's DNS settings. To do this, complete the following steps on the client computer:
1. Open Local Area Network Settings from the Control Panel (Start»Control Panel»Network Connections»Local Area Connection)
2. Click the Properties button
3. Select Internet Protocol (TCP/IP) from the list of network components
4. Click the Properties button
5. Click the Advanced button
6. Change to the DNS tab
7. Ensure Append these DNS suffixes is selected
8. Click the Add button
9. Enter the domain suffix of the license server and click Add
10. Close any open dialog boxes, choosing OK and Close as necessary.
(http://digital.ni.com/public.nsf/allkb/3AAF37CD7B89A2CD86257070005A075A?OpenDocument)
Further you should check this KBs.
Why is My NI License Manager Slow or Not Responsive with a Configured Network Server on Another Domain?
http://digital.ni.com/public.nsf/allkb/27D6BD8116EF257A862572F2005C2181?OpenDocument
How Can I Access NI Volume License Manager from a Different Network or Behind a Firewall?
http://digital.ni.com/public.nsf/websearch/54E52C3F348B929786256DCD0056B19B?OpenDocument
Regards,
WolfgangZ -
How can a VI be both server and client?
Hi,
I'm new in LabView and I'm trying to build a server and client VI using TCP/IP that runs in two computers. in my program I need both server and client VIs to communicate with each other which means I need both VIs to be server and client. I've tried using a case structure but it doesnt work. The only thing I achieved is a normal server/client system where the server sends a request and the client responses.But i need the client to send requests too.i have attached my VIs to this post.I would appriciate it if someone could help with this problem.
Thanks in advanced.
Rambaldi.
Solved!
Go to Solution.
Attachments:
Server-Client.zip 41 KBDo you really need a client and server on each PC? If you simply need that two to talk to each other they can once the client connects to the server. In most cases you only need one server.
What Steve said about the not using the same port only applies to two servers on the same machine. A client must use the port the server is listening to and if the client and the server are on the same machine then they will both use the same port. However, only ONE of them is accepting waiting for connections on that port.
In the code you posted you actually swapped the names. What you call the client is actually the server code and vise versa. In networking a server is an application that listens to an assigned port, accepts connections on that port and provides whatever services it has implemented. A client is an application that establishs a connection to a server. Once a connection is established the two applications can communicate in both directions. The applications themselves will define how the conversation should progress and whether it is a one way conversation or a two way conversation. You don't specify what you are trying to accomplish but I suspect you only need a single server.
In TCP, every connection is defined by the source and destination IP addresses and the source and destination ports. The server uses a known port (FTP is port 21, HTTP is 80, telnet is 23, or some custom port in the user space beyonds the reserved ports) to listen for connections. The client will use the well known port of teh server and generally picks a random port for its port number. The LabVIEW VIs do this automatically. This is how a server and a client on the same computer can use the same port number. Two servers however cannot. The server application can spawn a child task allowing it to service multiple connections at one time though. Each connection will be unique though since the client's port number, address or both will change for each connection.
OK, end of networking 101.
Can you describe in a bit more detail what exactly you want to accomplish. Given that I could probably provide you with more information for your application.
Mark Yedinak
"Does anyone know where the love of God goes when the waves turn the minutes to hours?"
Wreck of the Edmund Fitzgerald - Gordon Lightfoot -
My custom protocol handler isn't working after upgrading from 3.0
Redhat Enterprise Linux 4
Firefox 3.6.7. Updated via RedHat Network.
I'm trying to add a custom protocol handler (gdc) to Firefox. This worked in 3.0 and earlier. Now I'm getting "Firefox doesn't know how to open this address, because the protocol (gdc) isn't associated with any program." errors.
Tried adding network.protocol-handler.app.gdc string with valid path. Didn't work. Went to #firefox irc.mozilla.org and was recommended that I add network.protocol-handler.expose.gdc and set it to false. I still get the error.Hi There,
Yep I can confirm that I am having problems with wifi as well.
My problem is that it is not re-joining known networks.
Also the auto login feature designed for hotspots does not seem to work well either. The Log In Screen slides up then an error keeps repeating on the page...."Error Opening Page - The page could not be opened because an error occurred" -
Try to use one comupter as both server and client
Hello, everyone, I am just trying to use my own computer as both server and client to test some codes about networking. For example, use the sample code in java tutorial which is used to test Echo server(code is listed below). Is there anything I have to do to set my computer, such as set my hostname or something like that?
I am a pure newbie. And the purpose of this question is to test some code including socket on one PC without connect to internet.
I have tried to change the name "taranis" in the following code to the computer name of my own PC, but it doesn't work, and said: Couldn't get I/O for the connection to: (my computer name).
import java.io.*;
import java.net.*;
public class EchoClient {
public static void main(String[] args) throws IOException {
Socket echoSocket = null;
PrintWriter out = null;
BufferedReader in = null;
try {
echoSocket = new Socket("taranis", 7);
out = new PrintWriter(echoSocket.getOutputStream(), true);
in = new BufferedReader(new InputStreamReader(
echoSocket.getInputStream()));
} catch (UnknownHostException e) {
System.err.println("Don't know about host: taranis.");
System.exit(1);
} catch (IOException e) {
System.err.println("Couldn't get I/O for "
+ "the connection to: taranis.");
System.exit(1);
BufferedReader stdIn = new BufferedReader(
new InputStreamReader(System.in));
String userInput;
while ((userInput = stdIn.readLine()) != null) {
out.println(userInput);
System.out.println("echo: " + in.readLine());
out.close();
in.close();
stdIn.close();
echoSocket.close();Did you write the EchoServer and start it on your
machine, listening on port 7?
You can have the client and server running on the same
machine or different machines, but they have to be
separate pieces of software.
Write a separate EchoServer class that starts up and
listens on that port. Then start the EchoClient and
make the connection.
%yeah, I didn't wrote the EchoServer class. But I thought it is automaticly included and therefore has run once I start my computer.
If I write a EchoServer class, then how should I set the host name of the EchoClient, just simply change "taranis" to my computer name (change "echoSocket = new Socket("taranis", 7);" to echoSocket = new Socket("(my comptuer name)", 7);"? -
I am using server and clients machines in my office, here i want to open browsers in all systems simultaneously but i am unable open the browser, when i am trying to open the browser in the second machine it says that firefox is already open... pls. solve this problem
Thank youYou can't open one Profile more than once. You need a separate Profile for each browser on each PC that you open.
https://support.mozilla.com/en-US/kb/Profiles -
Force CORBA server and client to localhost
Hi,
i have to run an omg corba server and client via orbd on a single machine with win xp. The machine is connected to the network, but this is not relevant for the corba communication.
I can now force the orbd to start at localhost. After starting server and client everything works well until disconnecting machine from network, because client and server are started at ip of network card.
How can i force the client and server to use a localhost port for corba communication (client and server)?
Hope anyone has an idea...
br
ralf
P.S.: If I start the applications after disconnecting network everthing works.Resolved the problem myself.
The correct property is a java system property:
com.sun.CORBA.ORBServerHost=localhost
If you set this property in your application before instanciating an ORB, the orb will be forced to run on the set value (in this case localhost). If you do not set this property the ORB will be started at the IP of your network card if it is active (connected to the network)...
Maybe you are looking for
-
I inadvertently set my external hard drive as default for Iphoto.
I inadvertently set my external hard drive as the default for iPhoto. Can I copy all the albums over to the IMac IPhoto files? If so How?
-
FireFox 3.6.15 and newer require OS 10.5 or 10.6. The latest version of OS X the Macintosh G4 I own is physically capable of running is OS 10.4.11. Whenever I try to attach a file to an email in gmail.com or ymail.com, FireFox crashes. Is it possible
-
My new ipad wants a passcode, but I never gave it one. What do I do?
After I synced my new ipad and used it now wants a passcode this morning. What do I do?
-
Hello, I am currently creating a interactive feature for my company's website, where we would like our customers to come, select one of our marketing tools templates, and be able to customize their information using Input text boxes, colorpicker, fon
-
I downloaded Fruit Ninja Free (app). Then, I got charged $9.99 plus $0.99. I clicked Report a Problem, but it took me to a general support website. How do I report a problem?