Need iFS http-client/http-servlet architectural advice.

I need to design a custom client to connect to an iFS http protocol server in order to allow users of my client to drop document objects (files) on iFS and modify properties (metadata) of those document objects.
In other words, my client connects to iFS via http, and lets the user upload "files" to iFS, but more importantly, also lets the user enter values for custom properties associated with the class objects corresponding to the iFS document objects being uploaded.
Fo a while, WebDAV looked like a good solution. But I just discovered WebDAV does not allow me to access custom properties for an iFS object.
It looks to me now that my only alternative is to also write a custom servlet and have my custom client connect to that servlet. This is not desireable from a product viewpoint since it requires special installation at the server.
My custom client is to be integrated in an already existing application that manages files, so I really need to write my own special client. I cannot use the WebUI.
Any idea, tips, or advice from the iFS gurus would be greatly appreciated.
Is there any way to avoid the custom servlet approach. For instance, is there some existing agent or servlet that I can just send XML requests to ?

What version are you running?
If 9iFS v9.0.2 or prior you may be able to achieve what you are after by use of XML files that would update metadata of an existing 9iFS object.
CM SDK v9.0.3 and later only supports parsing of XML from the CUP protocol - so you would be out of luck here.
Your best bet it to write the custom servlet unfortunately.
There is an enhancement filed for the CM SDK WebDAV servlet to allow hooks that will enable you to do your own processing throughout the transaction.
Matt.

Similar Messages

  • Non-HTTP servlet

              I need to support concurrent access from multiple clients using a non-HTTP protocol
              over socket connection. One way is to write my socket server and create a new
              thread for each request. But WLS forbids user-created threads from calling into
              WLS components such as EJB. So I would like to write a non-HTTP servlet so that
              the WLS servlet container will create a new thread calling into the servlet and
              have the servlet calling EJBs on this WLS created thread. But is there a way to
              plug a subclass of GenericServelt into WLS?
              Thanks,
              T Tse
              

    I don't think there is a way to use non-HTTP servlet's, but still you can use WLS
              execute queue and execute threads, for example:
              ServerSocket serverSocket = new ServerSocket(...);
              for(;;) {
              new MyThread(new RequestHandler(serverSocket.accept())).start();
              class RequestHandler implements Runnable {
              Socket socket;
              public RequestHandler(Socket socket) {
              this.socket = socket;
              public void run() {
              // to see if this is executing on a WebLogic execute thread
              new Exception().printStackTrace();
              try {
              socket.close();
              } catch(Throwable whatever) {}
              class MyThread implements Schedulable, Triggerable {
              boolean done = false;
              Runnable runnable = null;
              Object sync = new Object();
              ScheduledTriggerDef std;
              public void join() throws InterruptedException {
              synchronized(sync) {
              if(!done) {
              sync.wait();
              public void run() {
                   if(runnable != null) {
                   runnable.run();
              public MyThread() {
              public MyThread(Runnable runnable) {
                   this.runnable = runnable;
              public boolean start() {
                   boolean ok = false;
                   try {
                   T3ServicesDef t3 = (T3ServicesDef)(new InitialContext()).lookup("weblogic.common.T3Services");
                   std = t3.time().getScheduledTrigger(this, this);
                   std.schedule();
                   ok = true;
                   } catch(NamingException ne) {
                   System.out.println(ne.getMessage());
                   } catch(TimeTriggerException tte) {
                   System.out.println(tte.getMessage());
                   return ok;
              public void trigger(Schedulable sched) {
                   try {
                   run();
                   } catch(Throwable t) {
                   System.out.println(t);
              synchronized(sync) {
              done = true;
              sync.notify();
              public long schedule(long time) {
                   return done ? 0 : 1;
              ttse <[email protected]> wrote:
              > I need to support concurrent access from multiple clients using a non-HTTP protocol
              > over socket connection. One way is to write my socket server and create a new
              > thread for each request. But WLS forbids user-created threads from calling into
              > WLS components such as EJB. So I would like to write a non-HTTP servlet so that
              > the WLS servlet container will create a new thread calling into the servlet and
              > have the servlet calling EJBs on this WLS created thread. But is there a way to
              > plug a subclass of GenericServelt into WLS?
              > Thanks,
              > T Tse
              Dimitri
              

  • How can i send xml file with a http servlet request

    Hi
    Please tell me how can I send a xml file into http servlet request.
    I have a servlet(action) java file.From this servlet I have generate a xml file. Now I need to send that xml file to another servlet with http servlet request object.
    Dave.

    When you say you have generated an XML file what do you mean?
    Is it a file stored on disk? Then pass the file path as a string to the servlet.
    Is it stored in memory as an object? The pass a reference to the object to the servlet.
    Or are you asking how to communicate between servlets?
    Look in the JavaDocs for the RequestDispatcher class. You can use this class to forward the request to another servlet. Data can be passes using the RequestDispatcher by storing it as attributes using the request getAttribute and setAttribute methods. Also described in the JavaDOcs.
    http://java.sun.com/j2ee/1.4/docs/api/javax/servlet/RequestDispatcher.html

  • HTTP Servlet call

    Hi all,
    I have a BPM scenario where i have several conditional branches, and in one of the branch i have to make a HTTP Servlet call via HTTP adapter and pass some values from the incoming message in the HTTP post.
    Is this just like a normal HTTP adapter call or HTTP servlet is something diffrent from a normal adapter call?
    anybody has done similar HTTP servlet calls ? aplease share your thoughts.
    Thanks

    Hi,
    Its same to the normal HTTP Call but at the BPM you meight need to give conditions as you indicated...you give conditions in the Control step of BPM
    Amaresh

  • Non-http servlet engine?

    Hi, I'm new to servlet development and I'm not sure this question has been answered here before. So I apologize if it has.
    Basically I want to have an integrated server that can accept both http and non-http requests. So my initial thought was to write an HttpServlet and a GenericServlet. Then I googled for clues on how to implement that and found from the JavaRanch website http://faq.javaranch.com/java/ServletsFaq#otherProtocols that this task could be a daunting one because that'd imply that I have to write a new servlet engine.
    So my question is, is this true in your expert opinion? And, if the custom non-http protocol has a similar syntax as http (e.g. RTSP), is it possible to just extend the http servlet engine to support it? And would that be doable without much effort?
    Thanks,
    Liang.

    Would you actually need the entire servlet system for the new protocol? For your typical simple request/reply protocol you'd normally:
    Create a server socket.
    When a connection arrives, start a thread to service it.
    In the service thread, read and parse request.
    Send reply.
    Close socket, exit thread.
    A servlet system adds a bunch of stuff to that: a layer that allows you to configure pluggable request handlers; methdod-specific functions (POST -> doPost()); a ServletRequest object; etc. Are those things relevant to the new protocol? Do you have requests with URL-like things in the header, allowing routing requests to different servlets? Do you plan to have lots of servlets for the protocol (one servlet -> no much point in XML-configurable request routing)?
    I'd hope that I wouldn't need to implement a configurable request routing infrastructure. It's a lot of work if it's not really needed. Just write a socket server. If you have an associated web server (e.g. HTML pages from which the user starts RTSP requests) you can even run the socket server inside the servlet container if that helps.

  • Problem whit http servlet!!

    How I can start my bundle from browser?
    I have installed ans started jes
    I have installed ans started all bundle whit command line in MS-DOS window , but I do not Know
    what I have to type in the bar-address of my browser to start the service.
    I Know only
    http://localhost:8080/ ....and than??...
    Help me!

    I'm also newbie of servlet.
    1st: what do you have installed? You need a server to run servlet as Tomcat (you can get it for free from http://jakarta.apache.org) and J2SE installed in your PC
    2nd: after you have installed the package above, just open your browser and write this url http://localhost:8080. If everything work right, you will see tomcat welcome page.

  • HTTPS Servlet requests

              After installing service pack 9 from WL5.1, HTTPS servlet requests result in the
              browser returning a server error. Issue 41888 of sp9 seems to address this. We
              were previously running service pack 6 and didn't experience this problem. Any
              ideas?
              

    Have you installed SP9 properly?
              I just tried accessing example servlets on Https protocol and i don't see any
              errors.
              Could you tell us what problems you are facing? Any test case?
              Kumar
              Darren Collins wrote:
              > After installing service pack 9 from WL5.1, HTTPS servlet requests result in the
              > browser returning a server error. Issue 41888 of sp9 seems to address this. We
              > were previously running service pack 6 and didn't experience this problem. Any
              > ideas?
              

  • Installed Forms 11g ok but do I need another HTTP Server to run APEX?

    Friends,
    I have posted this Installed Forms 11g ok but do I need another HTTP Server to run APEX? over in the Forms forum. I'm not sure if it's best suited to here?
    I'm not chasing for an answer, just trying to find the correct place for my question.
    Thanks
    Ian

    The answer from a software licensing perspective depends on the licening model you are on. If Unified Workspace Licensing (UWL), then you already have license entitlement to CUP under the Business Edition of that licence program. If you are on a DLU or UCL-based license program, CUP is seperately licensed.
    You will need s seperate MCS server.
    Softphones again depend on your license schema. If UWL, each user is entitled to one softphone. DLU and UCL each charge for softphone usage seperately.

  • QaaWS HTTP Servlet

    Hi All,
    Iam created a universe and qaaws query on the universe . Every thing is fine but while retrieving the QAAWS url into Xcelsius it showing unable to load URL . When iam paste URL on my Browser it is showing QaaWS HTTP Servlet(Input/Output exception occurred : 'C:\Program Files\Business Objects\Tomcat55\webapps\dswsbobje\WEB-INF\classes\qaawsWsdl.zip (The system cannot find the file specified)' )
    Thanks
    Praveen Yagnamurthy.

    Hi Chand,
    Check once WEbi server as well tomcat server in CMC ? Every thing is fine ask the basis guy weather he applied any patches in BO . If he applied the patches   just re produce the QAAws URl s i mean just choose your Created qaaws query Next >next>finish .DO the same for your QAAWS queries  it means that it will upgrade URLS to your Lower version to higher Version .

  • Doubt in Generic Servlet and Http Servlet

    Hi,
    I studied Genaric Servlet does not support state and session mengement and where as Http Servlet supports state and session mengement.
    Why Genaric Servlet does not support state and session mengement ?
    Can any one plz tell me reasons.

    GenericServlet is pretty much the most basic Java application that you can run server-side. It doesn't support much of anything except for the basic life cycle management and a couple other things. Go to Dictionary.com and lookup the word Generic. It's used a lot in software development. Go to http://java.sun.com/j2ee/1.4/docs/api/index.html to read more on the GenericServlet class.
    BalusC, because a thread hasn't been active in awhile doesn't mean it's dead. If it were dead it would not be editable. Moreover, the question was never answered (adequately).
    Edited by: wpafbuser1 on Jan 3, 2008 3:33 PM

  • Need of HTTP adapter

    Hi Experts,
    Can anybody pls tell me, what is the exact need of HTTP adapter?
    Also, for which kind of applications this adapter is used?
    Your help on this query is appreciated.
    Regards,
    Supriya.

    Hi,
    I used HTTP adapter in my scenario where i want to post data in to web apllication , (I have the URL of web application),
    when i send the data to web aplication it responds with message,that means i get response.
    But as per SAP , HTTP adapter used  to connect non-SAP systems to the Integration Engine using the native HTTP interface (HTTP payload without SOAP envelope). This uses the Internet Communication Framework of the AS ABAP.
    The standard exchange format for data in the Integration Engine is XML. The plain HTTP adapter allows you to send and receive data in HTML and ASCII as well. In this case you must use a Java mapping.
    The plain HTTP adapter is part of the Integration Engine. It comprises two parts, namely an adapter at the Integration Engine inbound channel and an adapter at the Integration Engine outbound channel.
    The adapter at the inbound channel is located before the Integration Engine pipeline and calls this pipeline. The adapter at the outbound channel is called by the pipeline, and can therefore be regarded as part of the pipeline. It requires a corresponding communication channel from the technical routing for each logical receiver
    Regards,
    Raj

  • Question about servlet architecture

    Hello,
    I have a question about Web Application / servlet architecture and development, and haven't had any luck finding an answer so far. My plan must be either unusual, or wrong, or both, so I'm hoping the community here could point me in the right direction.
    I have quite a bit of background in OSGi, but very little in servlets. I know my architecture would work with something such as sever-side Equinox, but for the open source project I'm contemplating, I think that the more mainstream Tomcat/servler route would be better -- assuming it can be done. Here is a rather simplified scenario:
    There is a class, Manager. It could be a Java class that implements Runnable, or a non-HTTP servlet (GenericServlet?), but somehow it should be configured such that it runs as soon as Tomcat starts.
    When Manager runs, it instantiates its primary member variable: Hashtable msgHash; mshHash will map Strings (usernames) to ArrayList<String> (list of messages awaiting that user). Manager also has two primary public methods: addMsg() and getMsgs().
    The pseudocode for addMsg is:
    void addMsg(String username, String msg) {
    if username=="*" { for each msgList in msgHash { msgList.add(msg) } return;
    if username not in msgHash { msgHash.add(username, new ArrayList<String>) }
    msgHash[username].add(msg)
    And for getMsgs():
    String getMsgs(username) {
    String s = "";
    for each msg in msgHash[username] { s = s + msg; }
    return s;
    Once Manager has started, it starts two HTTP Servlets: Sender and Receiver, passing a reference back to itself as it creates the servlets.
    The HTML associated with Sender contains two text inputs (username and message) and a button (send). When the send button is pressed and data is POSTed to Sender, Sender takes it and calls Manager.addMsg(username.value, message.value);
    Receiver servlet is display only. It looks in the request for HTTP GET parameter "username". When the request comes in, Receiver calls Manager.getMsgs(username) and dumps the resulting string to the browser.
    In addition to starting servlets Sender and Receiver, the Manager object is also spawning other threads. For example, it might spawn a SystemResourceMonitor thread. This thread periodically wakes up, reads the available disk space and average CPU load, calls Manager.addMsg("*", diskAndLoadMsg), and goes back to sleep for a while.
    I've ignored the synchronization issues in this example, but during its lifecycle Manager should be idle until it has a task to do, using for example wait() and notify(). If ever addMsg() is called where the message string is "shutdown", Manager's main loop wakes up, and Manager shuts down the two servlets and any threads that it started. Manager itself may then quit, or remain resident, awaiting a command to turn things back on.
    Is any of this appropriate for servlets/Tomcat? Is there a way to do it as I outlined, or with minor tweaks? Or is this kind of application just not suited to servlets, and I should go with server-side Equinox OSGi?
    Thanks very much for any guidance!
    -Mike

    FrolfFla wrote:
    Hello,
    I have a question about Web Application / servlet architecture and development, and haven't had any luck finding an answer so far. My plan must be either unusual, or wrong, or both, so I'm hoping the community here could point me in the right direction.
    I have quite a bit of background in OSGi, but very little in servlets. I know my architecture would work with something such as sever-side Equinox, but for the open source project I'm contemplating, I think that the more mainstream Tomcat/servler route would be better -- assuming it can be done. Here is a rather simplified scenario:
    There is a class, Manager. It could be a Java class that implements Runnable, or a non-HTTP servlet (GenericServlet?), but somehow it should be configured such that it runs as soon as Tomcat starts.You can configure a servlet to be invoked as soon as Tomcat starts. Check the tomcat documentation for more information on that (the web.xml contains such servlets already though). From this servlet you can start your Manager.
    >
    When Manager runs, it instantiates its primary member variable: Hashtable msgHash; mshHash will map Strings (usernames) to ArrayList<String> (list of messages awaiting that user). Manager also has two primary public methods: addMsg() and getMsgs().
    The pseudocode for addMsg is:
    void addMsg(String username, String msg) {
    if username=="*" { for each msgList in msgHash { msgList.add(msg) } return;
    if username not in msgHash { msgHash.add(username, new ArrayList<String>) }
    msgHash[username].add(msg)
    And for getMsgs():
    String getMsgs(username) {
    String s = "";
    for each msg in msgHash[username] { s = s + msg; }
    return s;
    Once Manager has started, it starts two HTTP Servlets: Sender and Receiver, passing a reference back to itself as it creates the servlets. Not needed. You can simply create your two servlets and have them invoked through web calls, Tomcat is the only one that can manage servlets in any case. Servlets have a very short lifecycle - they stay in memory from the first time they are invoked, but the only time that they actually do something is when they are called through the webserver, generally as the result of somebody running the servlet through a webbrowser, either by navigating to it or by posting data to it from another webpage. The servlet call ends as soon as the request is completed.
    >
    The HTML associated with Sender contains two text inputs (username and message) and a button (send). When the send button is pressed and data is POSTed to Sender, Sender takes it and calls Manager.addMsg(username.value, message.value);
    Receiver servlet is display only. It looks in the request for HTTP GET parameter "username". When the request comes in, Receiver calls Manager.getMsgs(username) and dumps the resulting string to the browser.This states already that you are going to run the servlets through a browser. You run "Sender" by navigating to it in the browser. You run "Receiver" when you post your data to it. Manager has nothing to do with that.
    >
    In addition to starting servlets Sender and Receiver, the Manager object is also spawning other threads. For example, it might spawn a SystemResourceMonitor thread. This thread periodically wakes up, reads the available disk space and average CPU load, calls Manager.addMsg("*", diskAndLoadMsg), and goes back to sleep for a while.Since you want to periodically run the SystemResourceMonitor, it is better to use a Timer for that in stead of your own thread.
    >
    I've ignored the synchronization issues in this example, but during its lifecycle Manager should be idle until it has a task to do, using for example wait() and notify(). If ever addMsg() is called where the message string is "shutdown", Manager's main loop wakes up, and Manager shuts down the two servlets and any threads that it started. Manager itself may then quit, or remain resident, awaiting a command to turn things back on.
    Is any of this appropriate for servlets/Tomcat? Is there a way to do it as I outlined, or with minor tweaks? Or is this kind of application just not suited to servlets, and I should go with server-side Equinox OSGi?
    Thanks very much for any guidance!
    -MikeI don't see anything that cannot be done in a normal java web environment, as long as you are aware of how servlets operate.

  • Client to Servlet using JMS

    Hi,
    Since JMS ensures reliability, is it possible to use JMS to send/receive JMS messages from/to a DESKTOP Java application and to/from a Servlet (over HTTP), so as to make sure the transmissions are reliable:
    Desktop Client <----> ReliableJMS <----> Servlet
    That is, can JMS be used to establish a 2-way reliable connection between a client and servlet?
    Is this typically done?
    Thanks

    Hi.
    I do not think you can do it over http.
    The servlet can be activated using the http request, but what happens when you want it do do a receive() on the connection from the desktop? I am not sure that this is possible.
    If you want the servlet to only send messages and not to receive over http - you can do it, but you will need something that will be able to decode the message sent in the http.
    Nimo.

  • My tabs will not restore after starting Firefox -- even with the option to restore my tabs and windows is checked in the "options" window. I'm losing tabs from previous sessions that I need to keep open every time I need to restart. Thanks for any advice!

    Is there something else I need to tweak to get rid of this annoyance instead of simply clicking the check box? I'm losing tabs from previous sessions that I need to keep open every time I need to restart. Thanks for any advice!

    Make sure that you do not use Clear Recent History to clear the <i>Browsing History</i> when you close Firefox.
    *https://support.mozilla.com/kb/Clear+Recent+History
    It is possible that there is a problem with the files sessionstore.js and sessionstore.bak in the Firefox Profile Folder.
    Delete the sessionstore.js [2] file and possible sessionstore-##.js [3] files with a number and sessionstore.bak in the Firefox Profile Folder.
    * Help > Troubleshooting Information > Profile Directory: Open Containing Folder
    * http://kb.mozillazine.org/Profile_folder_-_Firefox
    Deleting sessionstore.js will cause App Tabs and Tab Groups and open and closed (undo) tabs to get lost, so you will have to create them again (make a note or bookmark them).
    See also:
    * [1] http://kb.mozillazine.org/Session_Restore
    * [2] http://kb.mozillazine.org/sessionstore.js
    * [3] http://kb.mozillazine.org/Multiple_profile_files_created

  • OBIEE 11g on Linux - do I need a DB Client Installed???

    I have installed an 11gR2 database on an OEL Virtual Machine, and on a separate VM installed OBIEE 11.1.1.5.
    The RCU created the metadata required for BI - and out of the box, OBIEE works absolutely fine.
    Now I'm trying to migrate a database and RPD etc from another (Windows) environment... and I'm getting errors:
    "Oracle Error code: 12154, message: ORA-12154: TNS:could not resolve the connect identifier specified at OCI call OCIServerAttach. [nQSError: 17014] Could not connect to Oracle database. (HY000)."
    This suggests that I need an Oracle Client installed on my OBIEE server, to enable it to connect to my DB server.
    This seems odd - as RCU has created the metadata fine, and OBIEE is obviously using it? Do I really need a client now? Please could someone explain?
    Thank you!

    Oracle client should be installed in the OBIEE machine, then add Oracle server information to tnsnames.ora file . Later copy the tnsnames.ora into OBIEE installed directory, for more information see the following link.
    http://123obi.com/2011/03/error-the-connection-has-failed-in-obiee-11g/
    Hope it helps you.
    Regards,
    Kalyan Chukkkapalli
    http://123obi.com

Maybe you are looking for

  • Java Programming Contest

    Theres a world java programming contest running on http://www.logical-magic.com . This is of special relevance to those specialising in Java network programming. The first prize is a Ferrari sports car. Those who are interested can check it out.

  • How do you remove duplicates in iPhoto

    I just upgraded from the original Mac mini to the new one, when moving my photo library it appears to have included all the photos i have deleated in the past. I not have multiples of most photos. Is there a way such as in iTunes where it selects onl

  • ORA-01194 and ORA-00604 when using backup controlfile set #2

    Database version Oracle 11.2.0.1 Enterprise Linux 5.4 Database is in archivelog mode. I'm trying to recover a database according to set #2 of a backup controlfile to trace. Creating the controlfile works fine, but recovering the database fails. From

  • Date formatting with java and axis

    Hi, My wsdl file has date field which uses xsd:dateTime data type. In my web service implementation java class I am passing value to this variable using Calendar.getInstance(). I am using Axis framework. When I check my soap output using TCP monitor

  • I need to share a imovie for someone to make edits. is this possible?

    I have created a movie in imovie. I need to share this with someone so they can make edits to this movie. What files do I send for this to happen?