How to get Source Code out of SCA File

I have a SCA file comprising SAP Ecommerce 5 solution. What I want to achieve is to get all the source code out of it including the original directory structure. Unzipping it doesn't give me the required results and requires a lot of manual work creating directories and more unzipping.
I tried importing it into a Local SC in NWDS but it complains that " Import (into source SC) not possible: SCA doesn't contain DC sources".
I don't have access to NWDI at this point.

Hi,
For getting the source code of the Business Package Content, follow the steps below:
1. Make sure Source Archive is available for the Business Package.
2. Create a NWDI Track, and include all dependencies (check SAP Note : 1080927 - Creating CMS Tracks for common Application Types )
3. Once you have track in place, you can import the Track into NWDS
4. In Development Configurations perspective of the NWDS you can see the track.
5. Now create Project from Inactive Workspace to start modifying the code.
Check the link for general links
http://wiki.sdn.sap.com/wiki/display/JDI/NWDIRelatedNotesandLinks
Hope this helps.
Cheers-
Pramod

Similar Messages

  • How to get html code out of psd file????

    Hi, I have PS CS6, and just try to work with brackets. Because I can`t extract psd files in my ps version, did it with project parfait. Then I`ve sended that file or better copied the public link into brackets and found my psd file extracted in layers in there. What I miss is the html code, which I`m desperately looking for. So how do I get an html code out of that psd file to create a webpage with brackets, without buying a new ps version...  thanks a lot in advance !

    If you not too familiar with html, you can use the save as web command. When you open the dialog box, towards the bottom you will find preview in Brower. First it will show you the image, but if you scroll down you will see the sample html that was used to create that image in the browser.
    If you need to break it up some you can use slices. Each slice will be its own image.
    The html needs to point to that image on the server.
    This means you need to upload the html and all images to a server. It also means that you will need to manually edit the html so that it has the correct folder location on the server so it can find the images.
    It is one thing to make it work on your computer, it is another story to make sure it works from a server. Usually a typo is what keeps it from working correctly. So pay attention to the url, folders and file names. Keep in mind that folders and files are case sensitive.
    Good luck.

  • How to Get Source Code of Standard ESS Component.

    Hi,
    I need to implement SAP Note 904107, in ESS ( Personal Info.) package.  However no tracks are maintained in NWDI for ESS.
    Please suggest me from where I can get Source Code for Standard SAP Web Dynpro component VcPerFamilyBEReview .
    I read in some blogs and its suggested to create Track in NWDI using ESS package which is deployed on server.  Please provide detail procedure, doc. and links for this.
    If any other approach is there to get sorce code please suggest.

    Hi,
    VcPerFamilyBEReview component is found in the DC sap.com/essbefam
    check these links to create track in NWDI
    [https://www.sdn.sap.com/irj/sdn/go/portal/prtroot/docs/library/uuid/e0b2b146-5776-2910-4a8f-9b3190eab060]
    [https://www.sdn.sap.com/irj/sdn/go/portal/prtroot/docs/library/uuid/7014086d-3fd9-2910-80bd-be3417810c6f]
    [https://www.sdn.sap.com/irj/sdn/wiki?path=/display/java/netweaver%2bdevelopment%2binfrastructure%2b(NWDI)]
    Regards,
    vv

  • How to get source code and build files for Eudora 7, and price?

    Looking for source code and build/make files for Eudora 7 to port to Win7 and Ubuntu 14. Where is a source for this and what is the cost?

    You best ask qualcomm. It is their intellectual property.
    Eudora OSE was based on Thunderbird and the source code for the Penelope add-on is open source (that is what made Thunderbird over to OSE)

  • How to get source code in the video examples

    I'm wondering how to get the source code, which used in the
    video training. Thank you very much.

    I don't believe that the source code is available.... however
    you can do what I am going to do. On my 2nd round of going through
    this stuff I am going to try to re-create that system in the
    videos. So far it seems each step and every line of code is
    shown... though there may be some things I have to get creative
    with. :)
    Someone else posted a link to get a csv of the employees
    info, which can be used to create an xml file for the tutorials.

  • How to get source code for WinCE 6.0 USB Camera Driver for ARM4I Processor

    Hi,
    I am implementing USB camera driver for my mini2440 board which has an ARM4I processor. The sample code
    "Windows Embedded CE 6.0 USB camera Driver" downloaded from:
    http://www.microsoft.com/downloads/en/details.aspx?FamilyID=2ef087c0-a4ae-42cc-abd0-c466787c11f2
    does not support ARM4I processors. When trying to generate in VS2005 Platform Builder my WinCE 6.0
    image for mini2440 with the Third party catalog items "MJPEG Decompression Filter" and "USB CameraDriver",
    the linker giver errors. Please advise where to find a working source code for USB (now revision 1.1
    ("full-speed") is supported in my WinCE 6.0 image) camera for my ARM4I processor. The code should 
    be in C# but C++ will be fine also.
    Thanks,
       Paul

    i get this on the hyperterminal when i run the cameradshowapp.exe
    Compulab Windows CE NAND X-Loader for CM-T35                                           
    Built Dec 20 2009 at 16:48:16                            
    Version 1.01.222               
    Commit Date 16/12/09                   
    Jumping to bootloader                    
    Microsoft Windows CE Bootloader Common Library Version 1.4 Built Dec 20 2009 16:                                                                               
    46:16    
    INFO:OALLogSetZones: dpCurSettings.ulZoneMask: 0x200b                                                    
    Texas Instruments Windows CE EBOOT for CM-T35, Built Dec 20 2009 at 16:48:10                                                                           
    Version 1.01.222               
    OMAP3430 Version 0x4b7ae02f (Unknown)                                    
    TPS659XX Version 0x10 (ES2.x)                            
    -OEMPinMuxSetup....                  
    System ready!            
    Preparing for download...                        
    INFO: Predownload               
    +FMD_Init        
    Checking bootloader blocks are marked as reserved (Num = 6)                                                          
    +FMD_Init        
    WARN: Boot config wasn't found, using defaults                                             
    +FMD_Init        
    OALFlashStoreOpen: 4096 blocks, 64 sectors/block                                               
    OALFlashStoreOpen: 2048 bytes/sector, 14 reserved blocks                                                       
    Calling LCD_TurnOn                 
    +FMD_Init        
    +FMD_Init        
    BLConfigureFlashPartitions: dwBootPartitionSectorCount = 0x5fff, partition actua                                                                               
    l size =0x4d3a!!!                
    Hit space to enter configuration menu 5...                                         
    Hit space to enter configuration menu 4...                                         
    Hit space to enter configuration menu 3...                                         
    Hit space to enter configuration menu 2...                                         
    Hit space to enter configuration menu 1...                                         
    INFO: Boot Device location = 0x8000020                                     
    Load NK image from flash memory                              
    +FMD_Init        
    ROMHDR (pTOC = 0x823b8c28) ---------------------                                               
      DLL First           : 0x4001c001                                 
      DLL Last            : 0x41c7c0d8                                 
      Physical First      : 0x84001000                                 
      Physical Last       : 0x863bbdec                                 
      Num Modules         :        294                                 
      RAM Start           : 0x863c0000                                 
      RAM Free            : 0x863d5000                                 
      RAM End             : 0x90800000                                 
      Num Copy Entries                        
      Copy Entries Offset : 0x85256e38                                 
      Prof Symbol Length  : 0x00000000                                 
      Prof Symbol Offset  : 0x00000000                                 
      Num Files           :        116                                 
      Kernel Flags        : 0x00000002                                 
      FileSys RAM Percent : 0x00000020                                 
      Driver Glob Start   : 0x00000000                                 
      Driver Glob Length  : 0x00000000                                 
      CPU                 :     0x01c2                                 
      MiscFlags           :     0x0002                                 
      Extensions          : 0x84002020                                 
      Tracking Mem Start  : 0x00000000                                 
      Tracking Mem Length : 0x00000000                                 
    NK Image Loaded            
    Launch Windows CE image by jumping to 0x80001000...                                                  
    Windows CE Kernel for ARM (Thumb Enabled) Built on Apr  5 2011 at 17:47:22                                                                         
    +OEMInit       
    ýSETDATAOUT access is OK....                           
    Forcing clean boot                 
    MainMemoryEndAddress = 0x90800000                                
    -OEMInit       
    +FMD_Init        
    Dumping registry defined VK                          
    Row 0:  0x18    0x9     0x25    0x0     0x0     0x0                                                  
    Row 1:  0x26    0xd     0x28    0x0     0x0     0x0                                                  
    Row 2:  0x27    0x24    0x23    0x0     0x0     0x0                                                  
    Row 3:  0x0     0x0     0x0     0x0     0x0     0x0                                                  
    Row 4:  0x0     0x0     0x0     0x0     0x0                                             
    Row 5:  0x0     0x0     0x0     0x0     0x0     0x0                                                  
    SMSC922x: Core Ethernet Init.                            
    Lan9220 identified. ID_REV = 0x92200000                                      
    SMSC922x: MAC address = 00:01:c0:0a:a0:db                                        
    Lan9220 identified. ID_REV = 0x92200000                                      
    SMSC922x: MAC address = 00:01:c0:09:88:80                                        
    SDIO8686: Loading Driver [version = 38.p44]                                          
    SDIO8686: Reset with TPS GPIO 2 --> done                                       
    !!!Kernel mode PSL 'PRdr' de-registered!!!                                         
    !!!Kernel mode PSL 'HRdr' de-registered!!!                                         
    !!!Kernel mode PSL 'FRdr' de-registered!!!                                         
    EHCI USB Host: HcdPdd_Init+                          
    [OTG] OMAPMHSUSBOTG::Init()+                           
    OMAPMHSUSBOTG::PostInit(): Start.                                
    DSPLINK Module (1.61.04) created on Date: Jun 24 2009 Time: 16:30:52                                                                   
    Display parameters:                  
            Height = 0x280                     
            Width = 0x1e0
            HSW = 0x20
            HFP = 0x8
            HBP = 0x17
            VSW = 0x1
            VFP = 0x4
            VBP = 0x3
            DVI is not enabled
            PixelClkDiv = 0x7
            LogClkDiv = 0x1
            ClkSelDSS = 0x5
    TD035:: LCDTurnOn
    TD035STEE1: Turned display on.
    TD035:: Finished LCD VGA init
    AUTOLAUNCH: Checking HKEY_LOCAL_MACHINE\Startup key for programs to run.
    Can't open HKEY_LOCAL_MACHINE\Startup key.
    [WiFi]: Firmware Version: 9.70.3.23
    CCaptureFramework: Failed setting up the camera data.
    CameraDShowApp: Initializing the camera driver list failed.CameraDShowApp: Retri
    eving the driver list failed.CameraDShowApp: Selecting the camera device failed.
    CameraDShowApp: Selecting the camera device failed.CameraDShowApp: Selecting the
     camera device failed.CameraDShowApp: Selecting the camera device failed.CCaptur
    eFramework: Retrieving the still stream config failed.
    CameraDShowApp: Initializing the capture graph failed.

  • How to get Source code of a Schedular Java concurrent program in Payments

    Hi Experts,
    I am very new to Java Concurrent program.
    I need java source code of a schedule java concurrent program.Following are the details of Executable.
    Executable :Format Payment Instructions
    Short Name :IBY_FD_PAYMENT_FORMAT
    Application : Payments
    Execution Method :Java Concurrent Program
    Execution File Name:FDExtractAndFormatting
    Execution File Path : oracle.apps.iby.scheduler
    I searched in execution file path,but i am unable to find required java source.
    Please someone help regarding this issue..
    It's Urgent Issue.
    Regards
    Amar

    Hi Srini,
    Thanks for reply...
    In the attached template of concurrent program "Format Payment Instructions", i need to add voucher number in the template.
    How can i do this?how to decompile the executable?
    It is a check printing.
    Please give me suggestions..
    Regards
    Amar

  • How to get source code from portal app

    Hi,
    I have a successful Web dynpro portal application running, which I would like to modify. We lost the source code. Is there any way that I can get the source code from the portal?.
    Thanks and I appreciate your help.
    /Sunita.

    Hi,
    You can extract class files from app.jar and decompile it(.ear->.wda) but it is only generated classes without metadata. Metadata is stored in .wda file but format is not compatible with studio. That all options you have.
    Go through the following links, it will be helpfull to you
    Some of the solutions provided in it
    [Re: Retrieve the source code from .EAR;
    [Restore source code from ear file;
    Regards
    Raghu

  • How to get source code for commands like diff or cat

    Hi all
    I'm learning c programming and i'd like to read some code for the basic commands on the linux system
    I remember apt has one such option that allows getting pakcage source code
    is there a similar one for pacman ?
    or do i have to search those source code myself ?
    and also in BSD system all the codes are availeble in a code repository
    thx

    diff and cat. Or was that too literal?
    Last edited by Ghost1227 (2009-04-18 23:57:55)

  • How to get source code of ADF demo page.

    I have used oracle ADF demo site for demo work related to graphs.
    I want to download the source code of this demo. I mean jspx file, backing bean and style classes.
    Is there any way I can download this source code?I believe there is no sense to use it without downloading it's code.
    I want to download "Area graph Animation" from below link:
    http://jdevadf.oracle.com/adf-richclient-demo/faces/feature/graph/animation.jspx?_afrRedirect=2611981845492287
    Please help!
    Thanks,
    Jaykishan

    This does NOT have .JWS file as
    The demo WAR is a JDeveloper Project packaged into a WAR file.
    So creating a dummy application or open an existing application.
    Select 'File' ----> 'New' --> 'Projects' and select Project from WAR.
    Thanks,
    Navaneeth

  • How to include source code in web dynpro java deployment

    Hi,
    We dont have NWDI.
    We are creating ear files out of web dynpro applications packaging them as sca files and deploying them in server.
    But the source  code is not included in ear.
    How to include source code with your ear/sca , so that when anyone downloads the sca file later, they are build the Project in the studio.
    How would they typically download? Do they require NWDI ,
    Right now we dont have NWDI in place, but we want to do is parcel the applications such that the source code should be available at a later time for download.
    This is possible with .par files , but what about web dynpro?
    Thanks,
    Deb

    If you are not using NWDI use the _comp file.

  • How to display the source code for this friggin' file.

    Below is a rather lengthy bit of code that provides the behavior and attributes of a web server for OpenCyc. I need to know if I can enter some java to have the HTML source code displayed in a separate text file whenever this class returns some resulting webpage. If you have any ideas it will be greatly appreciated.
    -"Will code for foo."
    package org.opencyc.webserver;
    * Class WebServer is simple multithreaded HTTP server
    * with CGI limited to a Cyc connection on default port 3600.
    * <p>
    import java.net.*;
    import java.io.*;
    import java.util.*;
    import java.util.jar.*;
    import java.text.*;
    import org.opencyc.util.*;
    public class WebServer extends Thread {
         * Singleton WebServer instance.
        public static WebServer current;
         * Default HTTP port.
        protected static int DEFAULT_PORT = 80;
         * Default Cyc base port.
        protected static int DEFAULT_CYC_PORT = 3600;
         * Default directory to serve files from on non-Windows OS.
        protected static String DEFAULT_DIR = "/";
         * Default directory to serve files from on Windows.
        //protected static String DEFAULT_WIN_DIR = "C:\\";
        protected static String DEFAULT_WIN_DIR = "k:\\opencyc\\run\\httpd\\htdocs";
         * File cache capacity.
        protected static final int CACHE_CAPACITY = 100;
         * File cache to improve file serving performance.
        protected static Hashtable fileCache = new Hashtable(CACHE_CAPACITY);
         * Number of files served from this web server.
        protected static long nbrFilesServed = 0;
         * Number of files served from this web server that were found in the cache.
        protected static long nbrCacheHits = 0;
         * Server socket for accepting connections.
        protected ServerSocket server;
         * Directories to serve files from.
        protected ArrayList dirs;
         * Map from String (jar root) to JarFile[] (jar class path).
        protected HashMap map;
         * Webserver HTTP port.
        protected int port;
         * Cyc HTML host.
        protected String cycHost = "localhost";
         * Cyc HTML port.
        protected int cycPort;
         * Expand jar tress.
        protected boolean trees;
         * Requests flag.
        protected boolean traceRequests;
         * Constructs a WebServer object.
         * @param port the port to use
         * @param directories the directory to serve files from
         * @param trees true if files within jar files should be served up
         * @param traceRequests true if client's request text should be logged.
         * @exception IOException if the listening socket cannot be opened, or problem opening jar files.
        public WebServer() throws IOException {
            getProperties();
            server = new ServerSocket(port);
            processDirectories();
         * Class Task processes a single HTTP request.
        protected class Task extends Thread {
             * Socket for the incoming request.
            protected Socket sock;
             * Client socket to the Cyc KB HTML server.
            protected Socket cycHtmlSocket;
             * Output tcp stream.
            protected DataOutputStream out;
             * Contains the file request path for a not-found error message.
            protected String notFoundPath;
             * Contains the first line of a request message.
            protected String methodLine;
             * Contains the body of a POST method.
            protected String bodyLine;
             * Constructs a Task object.
             * @param sock the socket assigned for this request.
            public Task(Socket sock) {
                this.sock = sock;
             * Processes the HTTP request.
            public void run() {
                if (traceRequests)
                    Log.current.println("connection accepted from " + sock.getInetAddress());
                notFoundPath = "";
                try {
                    out = new DataOutputStream(sock.getOutputStream());
                    try {
                        getBytes();
                    catch (Exception e) {
                        Log.current.println("file not found: " + notFoundPath);
                        try {
                            out.writeBytes("HTTP/1.1 404 Not Found\r\n");
                            out.writeBytes("Server: Cyc WebServer\r\n");
                            out.writeBytes("Connection: close\r\n");
                            out.writeBytes("Content-Type: text/html\r\n\r\n");
                            out.writeBytes("<HTML><HEAD>\n");
                            out.writeBytes("<TITLE>404 Not Found</TITLE>\n");
                            out.writeBytes("</HEAD><BODY>\n");
                            out.writeBytes("<H1>404 - Not Found</H1>\n");
                            out.writeBytes("</BODY></HTML>");
                            out.flush();
                        catch (SocketException se) {
                catch (Exception e) {
                    Log.current.printStackTrace(e);
                finally {
                    try {
                        sock.close();
                    catch (IOException e) {
             * Reads the HTTP request and obtains the response.
             * @exception IOException when HTTP request has an invalid format.
            private void getBytes() throws IOException {
                // Below logic is complex because web browsers do not close the
                // socket after sending the request, so must parse message to find
                // the end.
                BufferedReader in = new BufferedReader(new InputStreamReader(sock.getInputStream()));
                ArrayList inBytes = new ArrayList(200);
                int ch = 0;
                boolean postMethod;
                methodLine = in.readLine();
                //if (traceRequests)
                //    Log.current.println("methodLine=" + methodLine);
                bodyLine = "";
                if (methodLine.startsWith("POST /"))
                    postMethod = true;
                else
                    postMethod = false;
                //if (traceRequests)
                //    Log.current.println("postMethod=" + postMethod);
                int ch1 = -1;
                int ch2 = -1;
                int ch3 = -1;
                int ch4 = -1;
                // Read the HTTP request headers.
                while (true) {
                    ch = in.read();
                    inBytes.add(new Integer(ch));
                    ch1 = ch2;
                    ch2 = ch3;
                    ch3 = ch4;
                    ch4 = ch;
                    if (ch1 == '\r' && ch2 == '\n' && ch3 == '\r' && ch4 == '\n')
                        break;
                    if ((! postMethod) &&
                        (! in.ready()) &&
                        ch1 == -1 &&
                        ch2 == -1 &&
                        ch3 == '\r' &&
                        ch4 == '\n') {
                        inBytes.add(new Integer('\r'));
                        inBytes.add(new Integer('\n'));
                        break;
                byte[] byteArray = new byte[inBytes.size()];
                for (int i = 0; i < inBytes.size(); i++) {
                    Integer ich = (Integer) inBytes.get(i);
                    byteArray[i] = ich.byteValue();
                String headers = new String(byteArray);
                if (postMethod) {
                    String lcHeaders = headers.toLowerCase();
                    int i = lcHeaders.indexOf("content-length: ");
                    String contentLength = lcHeaders.substring(i + 16);
                    int j = contentLength.indexOf("\r\n");
                    contentLength = contentLength.substring(0, j);
                    int bodyLen = (new Integer(contentLength)).intValue();
                    for (int k = 0; k < bodyLen; k++) {
                        bodyLine = bodyLine + (new Character((char) in.read())).toString();
                String line = methodLine + "\r\n" + headers + bodyLine;
                if (traceRequests)
                    Log.current.println(line);
                if (postMethod)
                    processHttpPost();
                else
                    if (line.startsWith("GET /"))
                        processHttpGet(line.substring(4));
                    else {
                        Log.current.println("Invalid request = " + line);
                        throw new IOException();
             * Processes an HTTP GET method.
             * @param httpGetPath the path of the file to get.
             * @exception IOException if the file is not found.
            private void processHttpGet(String httpGetPath) throws IOException {
                int i = httpGetPath.indexOf(' ');
                if (i > 0)
                    httpGetPath = httpGetPath.substring(0, i);
                Log.current.println(methodLine + " from " + sock.getInetAddress().getHostName());
                i = httpGetPath.indexOf("cg?");
                if (i > 0) {
                    cycHtmlRequest(httpGetPath.substring(i + 3));
                    return;
                notFoundPath = httpGetPath;
                i = httpGetPath.indexOf('/');
                if (i < 0 || map == null) {
                    if (map == null || httpGetPath.endsWith(".jar")) {
                        for (int j = 0; j < dirs.size(); j++) {
                            String dir = (String) dirs.get(j);
                            String nativePath = dir + httpGetPath;
                            nativePath = nativePath.replace('/', File.separatorChar);
                            if (fileCache.containsKey(nativePath)) {
                                writeDataBytes((byte[]) fileCache.get(nativePath));
                                Log.current.println("...cached");
                                nbrCacheHits++;
                                nbrFilesServed++;
                                return;
                            try {
                                File f = new File(nativePath);
                                byte[] fileBytes = getBytes(new FileInputStream(f), f.length());
                                writeDataBytes(fileBytes);
                                if (fileCache.size() >= CACHE_CAPACITY)
                                    fileCache.clear();
                                fileCache.put(nativePath, fileBytes);
                                Log.current.println("...from " + nativePath);
                                nbrFilesServed++;
                                return;
                            catch (IOException e) {
                    throw new IOException();
                String jar = httpGetPath.substring(0, i);
                httpGetPath = httpGetPath.substring(i + 1);
                JarFile[] jfs = (JarFile[]) map.get(jar);
                if (jfs == null)
                    throw new IOException();
                for (i = 0; i < jfs.length; i++) {
                    JarEntry je = jfs.getJarEntry(httpGetPath);
    if (je == null)
    continue;
    writeDataBytes(getBytes(jfs[i].getInputStream(je), je.getSize()));
    nbrFilesServed++;
    return;
    throw new IOException();
    * Processes an HTTP POST method.
    * @exception IOException if the file is not found.
    private void processHttpPost() throws IOException {
    Log.current.println("POST " + bodyLine + " from " + sock.getInetAddress().getHostName());
    cycHtmlRequest(bodyLine);
    * Reads the specified number of bytes and always close the stream.
    * @param in the file to be read for subsequent downloading.
    * @param length the number of bytes to read from the file.
    * @return An array of bytes from the file.
    * @exception IOException if an error occurs when processing the file.
    private byte[] getBytes(InputStream in, long length) throws IOException {
    DataInputStream din = new DataInputStream(in);
    byte[] bytes = new byte[ (int) length];
    try {
    din.readFully(bytes);
    finally {
    din.close();
    return bytes;
    * Sends the HTML request to Cyc.
    * @param cycPath the portion of the URL which is given to the Cyc HTML server.
    private void cycHtmlRequest(String cycPath) {
    String request = sock.getInetAddress().getHostName() + "&" + cycPath + "#";
    System.out.println("request=" + request);
    ArrayList bytes = new ArrayList(10000);
    try {
    cycHtmlSocket = new Socket(cycHost, cycPort);
    System.out.println("cycHost=" + cycHost + " cycPort=" + cycPort);
    BufferedReader cycIn = new BufferedReader(new InputStreamReader(cycHtmlSocket.getInputStream()));
    PrintWriter cycOut = new PrintWriter(cycHtmlSocket.getOutputStream(), true);
    cycOut.println(request);
    cycOut.flush();
    int ch = 0;
    while (ch >= 0) {
    ch = cycIn.read();
    bytes.add(new Integer(ch));
    catch (Exception e) {
    Log.current.printStackTrace(e);
    byte[] byteArray = new byte[bytes.size()];
    for (int i = 0; i < bytes.size() - 1; i++) {
    Integer ich = (Integer) bytes.get(i);
    byteArray[i] = ich.byteValue();
    try {
    writeTextBytes(byteArray);
    catch (Exception e) {
    Log.current.println(e.getMessage());
    * Responds to the HTTP client with data content from the requested URL.
    * @param bytes the array of bytes from the URL.
    * @exception IOException if there is an error writing to the HTTP client.
    public void writeDataBytes(byte[] bytes) throws IOException {
    out.writeBytes("HTTP/1.1 200 OK\r\n");
    out.writeBytes("Server: Cyc WebServer\r\n");
    out.writeBytes("Connection: close\r\n");
    out.writeBytes("Content-Length: " + bytes.length + "\r\n");
    String prefix = (new String(bytes)).toLowerCase();
    if (prefix.indexOf("<html>") > -1)
    out.writeBytes("Content-Type: text/html\r\n\r\n");
    else
    out.writeBytes("Content-Type: application/java\r\n\r\n");
    out.write(bytes);
    out.flush();
    * Respond to the HTTP client with text content from the requested URL.
    * @param bytes the array of bytes from the URL.
    * @exception IOException if there is an error writing to the HTTP client.
    public void writeTextBytes(byte[] bytes) throws IOException {
    out.writeBytes("HTTP/1.1 200 OK\r\n");
    out.writeBytes("Server: Cyc WebServer\r\n");
    out.writeBytes("Connection: close\r\n");
    out.writeBytes("Content-Length: " + bytes.length + "\r\n");
    out.writeBytes("Content-Type: text/html\r\n\r\n");
    out.write(bytes);
    out.flush();
    * Gets properties governing the web server's behavior.
    private void getProperties() {
    port = DEFAULT_PORT;
    String portProperty = System.getProperty("org.opencyc.webserver.port", "");
    if (! portProperty.equalsIgnoreCase(""))
    port = (new Integer(portProperty)).intValue();
    Log.current.println("Listening on port " + port);
    cycPort = DEFAULT_CYC_PORT;
    String cycPortProperty = System.getProperty("org.opencyc.webserver.cycPort", "");
    if (! cycPortProperty.equalsIgnoreCase(""))
    cycPort = (new Integer(cycPortProperty)).intValue();
    Log.current.println("Cyc connections directed to port " + cycPort);
    String dirsProperty = System.getProperty("org.opencyc.webserver.dirs", "");
    dirs = new ArrayList(3);
    StringTokenizer st = new StringTokenizer(dirsProperty, ";", false);
    while (st.hasMoreTokens()) {
    String dir = st.nextToken();
    dirs.add(dir);
    trees = false;
    String treesProperty = System.getProperty("org.opencyc.webserver.trees", "");
    if (! treesProperty.equalsIgnoreCase(""))
    trees = true;
    traceRequests = false;
    String traceRequestsProperty = System.getProperty("org.opencyc.webserver.traceRequests", "");
    if (! traceRequestsProperty.equalsIgnoreCase("")) {
    traceRequests = true;
    Log.current.println("tracing requests");
    * Adds transitive Class-Path jars to jfs.
    * @param jar the jar file
    * @param jfs the list of jar files to serve.
    * @param dir the jar file directory.
    * @exception IOException if an I/O error has occurred with the jar file.
    private void addJar(String jar, ArrayList jfs, String dir) throws IOException {
    Log.current.println("Serving jar files from: " + dir + jar);
    JarFile jf = new JarFile(dir + jar);
    jfs.add(jf);
    Manifest man = jf.getManifest();
    if (man == null)
    return;
    Attributes attrs = man.getMainAttributes();
    if (attrs == null)
    return;
    String val = attrs.getValue(Attributes.Name.CLASS_PATH);
    if (val == null)
    return;
    dir = dir + jar.substring(0, jar.lastIndexOf(File.separatorChar) + 1);
    StringTokenizer st = new StringTokenizer(val);
    while (st.hasMoreTokens()) {
    addJar(st.nextToken().replace('/', File.separatorChar), jfs, dir);
    * Administrative accessor method that obtains list of directories from which files are served.
    public ArrayList getDirs() {
    return dirs;
    * Administrative method that updates the list of directories from which files are served.
    public synchronized void setDirs(ArrayList dirs) throws IOException {
    this.dirs = dirs;
    fileCache.clear();
    processDirectories();
    * Administrative accessor method that obtains number of files served.
    * @return The number of files served.
    public long getNbrFilesServed() {
    return nbrFilesServed;
    * Administrative accessor method that obtains number of files served from cache.
    * @return The number of files served from the cache.
    public long getNbrCacheHits() {
    return nbrCacheHits;
    * Administrative method that clears the file cache.
    public synchronized void clearFileCache() {
    Log.current.println("Clearing file cache");
    fileCache.clear();
    nbrFilesServed = 0;
    nbrCacheHits = 0;
    * Processes the directories from which files are served, expanding jar trees if
    * directed.
    * @exception IOException if problem occurs while processing the jar files.
    private void processDirectories() throws IOException {
    if (dirs.size() == 0)
    if (File.separatorChar == '\\')
    dirs.add(DEFAULT_WIN_DIR);
    else
    dirs.add(DEFAULT_DIR);
    Iterator directories = dirs.iterator();
    while (directories.hasNext())
    Log.current.println("Serving from " + directories.next());
    if (trees) {
    map = new HashMap();
    for (int j = 0; j < dirs.size(); j++) {
    String dir = (String) dirs.get(j);
    String[] files = new File(dir).list();
    for (int i = 0; i < files.length; i++) {
    String jar = files[i];
    if (!jar.endsWith(".jar"))
    continue;
    ArrayList jfs = new ArrayList(1);
    addJar(jar, jfs, dir);
    map.put(jar.substring(0, jar.length() - 4), jfs.toArray(new JarFile[jfs.size()]));
    * Provides the command line interface for creating an HTTP server.
    * The properties are:
    * <pre>
    * org.opencyc.webserver.port=<HTTP listening port>
    * </pre>
    * which defaults to 80.
    * <pre>
    * org.opencyc.webserver.cycPort=<Cyc connection port>
    * </pre>
    * which defaults to 3600.
    * <pre>
    * org.opencyc.webserver.dirs=<path>;<path> ... ;<path>
    * </pre>
    * with the argument enclosed in quotes if any path contains an
    * embedded space.
    * The default directory on Windows is C:
    * and the default on other systems is / the default
    * can be overridden with this property. By default, all files
    * under this directory (including all subdirectories) are served
    * up via HTTP. If the pathname of a file is <var>path</var> relative
    * to the top-level directory, then the file can be downloaded using
    * the URL
    * <pre>
    * http://<var>host</var>:<var>port</var>/<var>path</var>
    * </pre>
    * Caching of file contents is performed.
    * <pre>
    * org.opencyc.util.log=all
    * </pre>
    * If the all value is given, then all attempts to download files
    * are output.
    * <pre>
    * org.opencyc.webserver.traceRequests
    * </pre>
    * If this property has any value, then the client HTTP requests are
    * output.<p>
    * <pre>
    * org.opencyc.webserver.trees
    * </pre>
    * This property can be used to serve up individual files stored
    * within jar files in addition to the files that are served up by
    * default. If the property has any value, the server finds all jar files
    * in the top-level directory (not in subdirectories). For each
    * jar file, if the name of the jar file is <var>name</var>.jar, then any
    * individual file named <var>file</var> within that jar file (or within
    * the jar or zip files referenced transitively in the Class-Path manifest
    * attribute, can be downloaded using a URL of the form:
    * <pre>
    * http://<var>host</var>:<var>port</var>/<var>name</var>/<var>file</var>
    * </pre>
    * When this property has any value, an open file descriptor and cached
    * information are held for each jar file, for the life of the process.
    * @param args an unused array of command line arguments.
    public static void main(String[] args) {
    Log.makeLog();
    System.out.println("OpenCyc Web Server");
    try {
    // Launch thread to accept HTTP connections.
    current = new WebServer();
    current.start();
    catch (IOException e) {
    e.printStackTrace();
    * Just keep looping, spawning a new thread for each incoming request.
    public void run() {
    try {
    while (true) {
    // Launch thread to process one HTTP request.
    new Task(server.accept()).start();
    catch (IOException e) {
    e.printStackTrace();

    JLundan,
    I want to thank you for responding to the thread I started on the forum at java.sun.com. Your solution to my problem of needing to print the code of the html pages that the file I included generates was just what I was looking for. However, I have some further questions to ask, if you don't mind. To clarify my task I should say that your rephrasing of the problem is accurate: "You wan't to display the contents of the HTML file that the web server produces in response of client's request?"
    Yes, this is what I need to do, but also it needs to display the source code of that html file that the server produces in response to the client's request. Also, in this case, I am the client requesting that the server return some html file, and I'm not sure where the server is. But the webserver.java file that I shared on the forum is on my local machine. I was wondering if I could modify this webserver.java file at my home so that any html file the server returns to me would automatically display the source code. This is a school project of mine and I am stuck on this one thing here.
    Further, where would I put the "foo.html" file so it can be written to?
    FileOuputStream fos = new FileOutputStream("foo.html");
    fos.write(bytes);
    fos.close();
    Thanks so much for your help. I look forward to your response, at your convenience.
    Regards

  • How to display source code of a webpage in Safari 7.0?

    Hello. I'm unable to find how we used to once enable developing tools in Safari Preferences or simply CMD + ALT + A to display the source code of a webpage. Now I've no clue how to display source code of a webpage in Safari 7.0 on Mac OS X Mavericks. Help.

    Hi gss2,
    Make sure you are not under the Apple icon but under Safari>Preferences>Advanced. All the way at the bottom check the box that says: "Show Develop menu in menu bar."
    Now go back to the page you want to get the source code for, right click on it and choose Inspect Element. Hope this helps.
    Cheers,
    LURDS LLC

  • Where is View Source? How can the source code of a website be viewed?

    Where is View Source? How can the source code of a website be viewed?
    View Source used to be accessed via a drop-down menu, but no longer. Why?
    I'm using Firefox 24.0.

    1.)Get into Firefox.
    2.)open any page that you want to see the source code.
    3.)After complete opening of the page do"right click"then you can see view page source,click it to see Source of the page.
    Thank you.

  • How to obtain source code of weka and enable to modify it

    hello,
    how to obtain source code of weka and enable to modify it such i want to extract code of some process that I make

    Hi ENG,
    Since the issue regards to Weka. It is out of the support boundaries of our forum, I suggesT you post the question in the following forum:http://forums.pentaho.com/forumdisplay.php?81-Pentaho-Data-Mining-WEKA.
    It is appropriate and more experts will assist you.
    Regards,
    Katherine Xiong
    Katherine Xiong
    TechNet Community Support

Maybe you are looking for

  • Printing with an Epson 1400 through Time Capsule

    I just got done setting up my new iMac and Time Capsule at my house and ran into a roadblock when trying to print. I have searched and searched these forums and all over the rest of the internet looking for an answer before I asked my question, but f

  • Not able to use my own alarm tone

    Initially there was an option to use either songs that i have as my alarm tone or to choose inbuilt alarm tones But by mistake i clicked on the always option instead of the just once option Now please let me know how to undo this Solved! Go to Soluti

  • Report for recieved, expiry dates of shelf life of materials

    Dear Gurus, I did nt find the solution in MB5M, because i want report for shelf life of materials based on recived date, expiry date, please share.

  • (not) emptying iphoto 5 trash

    My iphoto 5 trash has 975 photos, this after a mixup of my iphoto library which after disappearing, returned as blank thumbnails with filenames; I renamed the library as iphoto_old, moved it to the desktop, and recreated it from within iphoto-file me

  • Distributing .pdf as Reader only (can't be opened in Acrobat)

    Q1)  Is there a setting that lets me save my .pdf so that it can only be opened in Reader. Right now, if a user has Acrobat on their PC the .pdf opens in Acrobat. I want it to always open in Reader. Q2)  Can an older version of Reader (let's say 5.0)