Using precompiled JSPs on Sun ONE 6.1 SP5

I"m using precompiled JSPs on Sun ONE 6.1 SP5. I have created a virtual server which has one web application deployed as the default web application located at <server-instance>/webapps/myapp. So in the server.xml it appears as :
<webapp uri="/" path="<server-instnce/webapps/myapp"
I have precompiled the JSPs using the jspc tool and created the directory containing the class files and have put them under WEB-INF/classes directory. I also generated the web.xml file with mappings for all jsps.
My problem is that in my web.xml I have specified the <welcome-file> as index.jsp which used to reside under the <server-instance>/webapps/myapp directory. but now since i'm using precompiled versions i have physically removed that file. And now when i point my browser to the app's URL in the browser, i get the app's directory structure and only when i explicitly point my browser to https://<ip>:port/index.jsp then only the index.jsp page is invoked. I'm confused with this behavior. Do I need to change my docsroot directory to point to where the jsp class files are stored? I dont know what else can be going wrong...
Any help appreciated :D
Thanks

Okkay i'll make my question easier.. if i'm using precompiled JSPs i.e. all compiled JSP files (.class files) including index.jsp is in the WEB-INF/classes directory then what is our docroot property supposed to be. Since if I give the document root as <server-instance>/webapps/myapp then it doesnt show the index.jsp that its supposed to when i point my browser to https://<host>:port. Only when I do https://<host>:port/index.jsp the index.jsp servlet is called and the index.jsp page is rendered.... I removed all the jsps physically from my apps folder but when I put only index.jsp there then it does work properly.... so any thoughts on this anyone...

Similar Messages

  • Solaris 9 and Sun ONE 6.1 SP5 open socket issue

    Hi
    We have recently migrated to Solaris 9 environment with Sun ONE 6.1 SP5 webserver (previously using Solaris 8 with Sun ONE 6.0).
    My problem is this that I have our product installed on Sun ONE webserver and every day I need to restart the virtual server running the application. Once the webserver has started and I do the
    netstat -a |grep "port" I see that the status for that particular socket is "LISTEN". Now after a while like the next day or something if I try to access the application through my browser I notice that I'm not able to go to application and when I do netstat -a: grep "port" there are two entries now one with "LISTEN" and the other with "ESTABLISHED" status. The request eventually times out.
    Anyone has a clue what could be going wrong..
    SA

    it is certifying / authenticating that the secured
    web site is owned by the genune party and the
    transactions with the party is doing through a
    encrypted format.
    Am i correct up to this???Correct, that is what SSL/certificates are for.
    >
    Then my dowt is that
    Is it possible to make my server SSL enabled with
    h out using any certificate ????( the documents you
    are given is telling about certificates)No it is not possible - the whole idea behind SSL communication is that it is based on TRUSTED secure communication. If a client can not check validity of server's certificate it is not trusted any more.
    It might not seem to be the case when you create a self-signed certificate, but it really is so. In case of a self signed certificate you(i.e your browser) trust yourself with whatever you do with your application on your webserver.
    After all can I install some certificates lateron ??
    If you really need SSL with your webserver you have to either create a self signed certificate, see this: http://sial.org/howto/openssl/self-signed/
    or request a test certificate from www.verisign.com or www.thawtee.com

  • Using JMF API with Sun One Studio v4 update 1 (community ed.)

    Having great difficulty trying to utilise the JMF API I've just downloaded with Sun One Studio v4, update 1 (community edition).
    After installing the API, I tried copying the the .jar files under the lib folder of JMF to the lib folder of sun one studio.
    Although admittedly a novice in the field of adding API's I have attempted to add the .jar files into the libary of recognised modules but made no progress.
    The problem is that although JMF API is installed, Sun One Studio does not seem to be aware of this and so does not recognise any associated libraries e.g. java.media or JMFApplet.
    I would appreciate advice from anyone who knows how to configure Sun One Studio to utilise the JMF API.
    Mark

    All right, I think I may have solved it. After mounting jmf.jar I needed to update the parser database. All the libraries seem to be there.
    Can someone clarify though, the trial program i'm using makes reference to: java.media
    I don't have this module. I do instead have javax.media which I believe includes all the methods of the java version. Am I right or am I missing this crucial module??

  • Creating a connection pool using SQL Server 2000, Sun ONE Application Serve

    Has any one succesfully configured SQL Server 2000 to work with Sun ONE Application Server 7 on Windows 2000 server service pack 4? I am embarking on a new J2EE project and I need to configure it as soon as possible.
    The problem I am having is that, when I ping the data souce name, there is a connection error.
    I have set the data source name and other details as follows:
    Under JDBC, I have set the parameters for the connection pool as follows:
    Data Source Name:      com.microsoft.jdbc.sqlserver.SQLServerDriver
    Database Name:          jdbc:microsoft:sqlserver://localhost:1433;DatabaseName=Test
    User:               test
    Password:          test
    In the JVM settings page, I have set the prefix class path as follows for the location of the Microsoft JDBC
    drivers that I downloaded as follows:
    c:\microsoft\drivers/lib/msbase.jar
    c:\microsoft\drivers/lib/msutil.jar
    c:\microsoft\drivers/lib/mssqlserver.jar
    Under JVM Options, there is a strange setting which I don't understand: perhaps this is the cause of the
    connction error?
    -Djdbc.drivers=com.pointbase.jdbc.jdbcUniversalDriver
    Please help????

    I'm in a similar boat...
    Trying to setup AS7 JDBC and followed the instructions on the link you provided and get the following exception. I kept the case the same, thinking 'setpassword" was incorrect, so I tried changing the property to "Password", but get the same exception but it points to "setPassword" instead.
    SEVERE: RAR5041:Cannot get jdbc connection
    com.sun.enterprise.repository.J2EEResourceException
    java.lang.NoSuchMethodException: setpassword
    at com.sun.enterprise.repository.JdbcConnectionPool.createDataSource(JdbcConnectionPool.java:243)
    at com.sun.enterprise.resource.JdbcUrlAllocator.createResource(JdbcUrlAllocator.java:80)
    at com.sun.enterprise.resource.IASNonSharedResourcePool.createSteadyResources(IASNonSharedResourcePool.java:856)
    at com.sun.enterprise.resource.IASNonSharedResourcePool.initPool(IASNonSharedResourcePool.java:416)
    at com.sun.enterprise.resource.IASNonSharedResourcePool.internalGetResource(IASNonSharedResourcePool.java:625)
    at com.sun.enterprise.resource.IASNonSharedResourcePool.getResource(IASNonSharedResourcePool.java:520)
    at com.sun.enterprise.resource.PoolManagerImpl.getResourceFromPool(PoolManagerImpl.java:263)
    at com.sun.enterprise.resource.JdbcXAConnection.<init>(JdbcXAConnection.java:74)
    at com.sun.enterprise.resource.Jdbc10XaAllocator.createResource(Jdbc10XaAllocator.java:94)
    at com.sun.enterprise.resource.IASNonSharedResourcePool.createSteadyResources(IASNonSharedResourcePool.java:856)
    at com.sun.enterprise.resource.IASNonSharedResourcePool.initPool(IASNonSharedResourcePool.java:416)
    at com.sun.enterprise.resource.IASNonSharedResourcePool.internalGetResource(IASNonSharedResourcePool.java:625)
    at com.sun.enterprise.resource.IASNonSharedResourcePool.getResource(IASNonSharedResourcePool.java:520)
    at com.sun.enterprise.resource.PoolManagerImpl.getResourceFromPool(PoolManagerImpl.java:263)
    at com.sun.enterprise.resource.PoolManagerImpl.getResource(PoolManagerImpl.java:170)
    at com.sun.enterprise.resource.JdbcDataSource.internalGetConnection(JdbcDataSource.java:241)
    at com.sun.enterprise.resource.JdbcDataSource.getConnection(JdbcDataSource.java:98)
    at com.rvi.database.jdbcConnection.getConnection(jdbcConnection.java:93)
    at com.webapp.database.ArticlesDAO.selectByYear(ArticlesDAO.java:102)
    at com.webapp.actions.ArticleAction.list(ArticleAction.java:96)
    at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
    at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
    at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
    at java.lang.reflect.Method.invoke(Method.java:324)
    at org.apache.struts.actions.DispatchAction.dispatchMethod(DispatchAction.java:280)
    at org.apache.struts.actions.DispatchAction.execute(DispatchAction.java:216)
    at org.apache.struts.action.RequestProcessor.processActionPerform(RequestProcessor.java:484)
    at org.apache.struts.action.RequestProcessor.process(RequestProcessor.java:274)
    at org.apache.struts.action.ActionServlet.process(ActionServlet.java:1482)
    at org.apache.struts.action.ActionServlet.doGet(ActionServlet.java:507)
    at javax.servlet.http.HttpServlet.service(HttpServlet.java:740)
    at javax.servlet.http.HttpServlet.service(HttpServlet.java:853)
    at org.apache.catalina.core.StandardWrapperValve.invokeServletService(StandardWrapperValve.java:720)
    at org.apache.catalina.core.StandardWrapperValve.access$000(StandardWrapperValve.java:118)
    at org.apache.catalina.core.StandardWrapperValve$1.run(StandardWrapperValve.java:278)
    at java.security.AccessController.doPrivileged(Native Method)
    at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:274)
    at org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:505)
    at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:212)
    at org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:505)
    at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:203)
    at org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:505)
    at com.iplanet.ias.web.connector.nsapi.NSAPIProcessor.process(NSAPIProcessor.java:157)
    at com.iplanet.ias.web.WebContainer.service(WebContainer.java:598)

  • Using OCI8 driver with Sun ONE AS7 and Oracle 9

    Hi
    I am writing a bean that needs to access an Oracle Database.
    I have defined in AS7 a connection pool, that looks like:
    <jdbc-connection-pool steady-pool-size="8" max-pool-size="32" max-wait-time-
    in-millis="60000" pool-resize-quantity="2" idle-timeout-in-seconds="300" is-isol
    ation-level-guaranteed="false" is-connection-validation-required="false" connect
    ion-validation-method="auto-commit" fail-all-connections="false" datasource-clas
    sname="oracle.jdbc.driver.OracleDriver" name="Oracle_EUNDEV">
    <property value="user" name="user"/>
    <property value="passwd" name="password"/>
    <property value="jdbc:oracle:oci8:@eundev:EUNDEV" name="URL"/>
    </jdbc-connection-pool>
    My code does a JNDI lookup DataSource, which succeeds.
    However, the getConnection always fails, and throws the following exception:
    [02/May/2003:16:28:06] WARNING ( 794): CORE3283: stderr: java.lang.NoSuchMethodException: setpassword
    [02/May/2003:16:28:06] WARNING ( 794): CORE3283: stderr: at com.sun.enterprise.util.Utility.invokeSetMethodCaseInsensitive(Utility.java:373)
    [02/May/2003:16:28:06] WARNING ( 794): CORE3283: stderr: at com.sun.enterprise.repository.JdbcConnectionPool.createDataSource(JdbcConnectionPool.java:238)
    [02/May/2003:16:28:06] WARNING ( 794): CORE3283: stderr: at com.sun.enterprise.resource.JdbcUrlAllocator.createResource(JdbcUrlAllocator.java:80)
    [02/May/2003:16:28:06] WARNING ( 794): CORE3283: stderr: at com.sun.enterprise.resource.IASNonSharedResourcePool.createSteadyResources(IASNonSharedResourcePool.java:856)
    I used dbping tool from iplanet and could define a new connection and connect successfully,
    But trying to use the existing connection always fail with the same 'MissingMethod' exception.
    Can someone help?
    Thanks a lot
    Jean-Noel Colin

    Here is your problem:
    jdbc:oracle:oci8:@eundev:EUNDEV
    the last part is wrong. Driver will see the EUNDEV as password. After @ , just specify the tnsName that you have, no " : "
    you do have a property called "password" already.
    It should be something like this:
    jdbc:oracle:oci8@eundev

  • How to use Memory Monitor on Sun ONE Studio 4 ??

    Hello,
    I am creating a midlet using the Nokia 7210 emulator. When trying to load a Canvas, an "Unable to run application" alert appears and the midlet quits.
    Presuming this is due to a memory problem, I've inserted a System.gc() call before I create the new canvas, but the midlet still exits.
    So to help me get to the bottom of it, I thought I had best try s1s4's Memory Monitor utlity - but I can't get it to work. I have ticked the 'Enable Memory Monitor' box on the Monitor tab of Preferences for the Installed Emulator (J2ME Wireless Toolkit 1.0.4_01), but nothing happens after the midlet runs and quits.
    Does anyone have any suggestions?
    Many thanks in advance,
    James

    I don't know. I've never tried.
    Look at the manual (7210midpSimGuide.pdf in the docs directory). Maybe there is something in there. In the command line options there are a bunch of tracing options that you can specify, like tracing allocations, garbage collections, stackmaps, etc.
    shmoove

  • Oracle error ORA-00600 when using Oracle 10g and Sun One Web Server 6.1

    I have a java application that was running under Solaris 8 and Oracle 9i. I am trying to get it up and running on a new server that is configured with Solaris 9 and Oracle 10g. Whenever the application tries to connect to the database it receives the following error: ORA-00600 [ttcgcshnd-1][0]. My research indicates that this is an internal Oracle error that represents a low level unexpected condition. I have looked through my configuration for the Web Server and I have not been able to determine the cause of this problem. My DBA tells me that we have the latest patch installed for Oracle! Has anyone encountered this problem before? Any help would be greatly appreciated!

    If the problem is also present in a SWING app, i.e. outside the web server, then it is porbably something external to the webserver.
    I think you should ensure that the driver and database are compatible with each other. It is very likely that you need a new jdbc driver for the new database.
    download from here http://www.oracle.com/technology/software/tech/java/sqlj_jdbc/htdocs/jdbc101020.html
    try the ojdbc14.jar

  • Sun One Application Server 8.2

    I was wondering if anybody used Creator 2 with Sun One Application Server 8.2?????????
    I did create a war file from the project that I build and tried to deployed it with Application Server 8.2. The deployment was successful, but when I am tried to submit the form that I created, I got errors such as:
    com.sun.rave.web.ui.appbase.ApplicationException: #{addApplicationPage.saveLink_action}: javax.faces.el.EvaluationException: java.lang.ClassCastException
         com.sun.rave.web.ui.appbase.faces.ViewHandlerImpl.destroy(ViewHandlerImpl.java:601)
         com.sun.rave.web.ui.appbase.faces.ViewHandlerImpl.renderView(ViewHandlerImpl.java:302)
         com.sun.faces.lifecycle.RenderResponsePhase.execute(RenderResponsePhase.java:87)
    and in the log file also :
    Caused by: javax.faces.el.EvaluationException: java.lang.ClassCastException
    at com.sun.faces.el.MethodBindingImpl.invoke(MethodBindingImpl.java:130)
    at com.sun.faces.application.ActionListenerImpl.processAction(ActionListenerImpl.java:72)
    ... 45 more
    Caused by: java.lang.ClassCastException
    at com.sun.corba.ee.impl.javax.rmi.PortableRemoteObject.narrow(Unknown Source)
    at javax.rmi.PortableRemoteObject.narrow(PortableRemoteObject.java:137)
    Any suggestions ??????
    Thanks

    Are you using 8.2 Platform Edition or Standard Edition?
    BTW, I know that there is an issue with SE using 8.1 if you use getPathTranslated() in your app.

  • Sun One application server connection problem for Oracle DB

    On our project in live environments we have six Sun One application servers that have been configured to connect to RAC Oracle database using OCI drivers. ( JDBC thick driver)
    Sun one application server : Version 7.0.0
    Oracle Database : Version 9.2.0.4.0
    Following are two scenarios where Sun one server receives an error while attempting to perform any DML operations onto the database e.g. when you will try to send a insert/update msg through sun One.
    Case 1: - If the Oracle package/procedure/function is compiled using �Alter package/function/procedure....� command
    problem
    Any attempt to perform a DML operation using RMI calls though Sun one application server with already established oracle connection will fail.
    Sun One application server needs to be bounced to get an up-to-date state of the package.
    Case 2: If the Oracle package/procedure/function is compiled using �Create or Replace package/function/procedure....� command
    problem
    First attempt to perform any DML operation using RMI calls though Sun one application server with already established oracle connection will always fail. Any subsequent attempts will be successful.
    We are using JDBC OCI think drivers. I tried flushing Shared pool at the Oracle side but it didn't help. For some reason Sun One seems to Cache the session information for already establised connections with Oracle database. As its live system we don't want any outage. i.e we know bouncing oracle app server will solve the problem.
    So just wondering is there way/workaround to make aware the already estlised connection from sun one appserver to Oracle DB about changed packages/proceduress in the DB?
    Any thoughts on this would be much appreciated.
    txns
    Ravi

    Forgot one thing: when I use remote debugging , it works.

  • How to migrate Sun One directory server to a new physical server install

    need help
    We have to move our existing installation of sun on directory server 5.2 to a new physical server.
    We have a new physical server with a new host name. I am trying to find an easiest way to take a snapshot of our existing server and put it on a new installation
    So will installing sun one directory server , its shows me two choices either to create a new instance or copy configuration from a existing server
    What do i choose and which is the fastest route to replicate my old server
    Thanks a bunch in advance
    Sganb

    Hi,
    I'm glad you're still using the old, glorious Sun One Directory Server 5.2, because it brings me back a lot of memories... But are you seriously talking of the 'plain' version, with no patches/hot fixes on top? If that's the case, you're using of a software that has been developed in 2004 and released in Jan 2005! Just for you to be aware, in the last *8* (eight) years a considerable number (in the magnitude of 10^3) of bugs, security problems and performance issues has been identified and fixed...
    However, to provide a better answer to your question, it would be important to understand the 'big picture' in terms of scenario and requirements:
    1) Is this a critical 24x7 service for which you need to perform an on-line migration or you have a 'maintenance window' during which the service may be switched off?
    2) Is the old server member of replication environment? If yes, how many masters/slaves do you have already? Shall the new server be part of this topology? What role shall it have?
    3) Would it be possible to make the the old server able to communicate with the new server?
    4) How big is the database that you've got to migrate? Do you have any requirement in terms of caches?
    5) Do you take backups on a regularly basis and have in place working (*tested*) backup/restore procedures?
    6) Is the new server conserving or changing the O.S. and architecture? [SPARC->SPARC, x86->x86, SPARC->x86, Solaris -> ? , 32 .vs. 64-bit? ]
    7) What are the steps you did to 'install' the software on the new server?
    Thanks,
    Marco
    P.S.: I don't wanna sound 'scaring' with all these questions, neither this should be intended as an 'hidden advertising' for Oracle Professional/Consulting Services, but the only way to not put in jeopardy your data is being aware of the risks, having the control of what's going on and ... possibly have a 'B' plan ;-)
    P.S.S.: My last suggestion is to consider a migration to a later release AS SOON AS POSSIBLE; the latest is ODSEE 11.1.1.7, which is available here:
    http://www.oracle.com/technetwork/middleware/downloads/oid-11g-161194.html
    and seems to work pretty well ;-)

  • Solaris 9 and Sun ONE 6.1 SP 5 socket issues...

    Hi
    We have recently migrated to Solaris 9 environment with Sun ONE 6.1 SP5 webserver (previously using Solaris 8 with Sun ONE 6.0).
    My problem is this that I have our product installed on Sun ONE webserver and every day I need to restart the virtual server running the application. Once the webserver has started and I do the
    netstat -a |grep "port" I see that the status for that particular socket is "LISTEN". Now after a while like the next day or something if I try to access the application through my browser I notice that I'm not able to go to application and when I do netstat -a: grep "port" there are two entries now one with "LISTEN" and the other with "ESTABLISHED" status. The request eventually times out.
    Anyone has a clue what could be going wrong..
    SA

    Hi
    We have recently migrated to Solaris 9 environment with Sun ONE 6.1 SP5 webserver (previously using Solaris 8 with Sun ONE 6.0).
    My problem is this that I have our product installed on Sun ONE webserver and every day I need to restart the virtual server running the application. Once the webserver has started and I do the
    netstat -a |grep "port" I see that the status for that particular socket is "LISTEN". Now after a while like the next day or something if I try to access the application through my browser I notice that I'm not able to go to application and when I do netstat -a: grep "port" there are two entries now one with "LISTEN" and the other with "ESTABLISHED" status. The request eventually times out.
    Anyone has a clue what could be going wrong..
    SA

  • Sun One Webserver and JSP 2.0

    I have a customer running Sun One Webserver v 6.1 (newest) and I have no experience using that server. We are writing some JSP pages, and I am hoping to use JSP 2.0. It appears from what I have read that only JSP 1.2 is supported. Is that correct, or is there any way to use JSP 2 with the Sun One server.
    Any help greatly appreciated, I'm a total newbie to this server.
    Cheers

    Well, I don't have any problem running jsp pages on this server, just wanted to know if the server supports jsp 2.0 or if there is a way to add that support.
    What problems are you having getting your jsp files to run. I just moved some over from a tomcat install and they work fine. Had to modify the classpath in server.xml, etc, to pick up some jars for jdbc, but basically no problem with jsp.
    I'm kind of surprised that if this is the newest version of the Sun Web Server that it does not support jsp 2.0 out of the box. It's not exactly a new spec.

  • Beginner on sun one application server & jsp

    hi.. i'm susan. i'm new to sun one application server 7 and jsp..
    i am confused at the programming part.. as i have books on jsp which all talk abt jsp and tomcat..
    is there any sources on sun one application server when dealin with jsp?
    pls help me out..
    thanks a lot..
    susan:(

    Hi,
    Refer the Sun ONE Application Server 7 Developer's Guide to Web Applications at http://docs.sun.com/source/816-7150-10/contents.html for details.
    If you are using Sun ONE Studio 5 to create web application, the following tutorial might help you
    http://docs.sun.com/source/817-2320/index.html
    -Amol

  • Using sjsws to host many small servlet/jsp sites on one server

    Hello. I visited the web page at http://www.sun.com/software/products/web_srvr/features.xml, which mentions that sjsws supports mass hosting of thousands of domains. Anyone knows more information about this feature? I want to find out whether sjsws is a good choice for hosting many small servlet/jsp sites on one server.
    Some time ago, I tried using apache+tomcat to host many small servlet/jsp sites on one server. But the result was not satisfactory. If a private tomcat/jvm is used for each site, too many resources are consumed and as a result, not many sites can be hosted on one server. If a shared tomcat/jvm is used for all sites, the resources consumed are reduced, but it becomes very difficult to isolate the sites. Is it possible to overcome such problems with sjsws?
    Thx.

    Of course you dont have to use multiple VMs to host multiple applications.
    You can either choose to have multiple Virtual Servers, all in one instance of the web server, serving multiple applications. In this case only one java VM is used.
    Or you can go in the route posted in the link above, in which there is only one "physical" virtual server, with many dynamic virtual servers.
    Whether you chose to have many multiple web applications, or do the server division in a similar way to what is described in the blog, it is up to you.
    Many different web applications will give you more fine level control on the application separation, but it will probably also mean greater resource consumption associated to the web application managing.
    Less web applications, but with dynamic separation, in a similar way to what is described in the blog, will give a lesser control on the applications, but will save you a good number of resources.
    SJS Web Server is known to work in massive web sites, with very high number of JSPs and Servlets. There is some real life examples of this massive hosting. Maybe others can provide some numbers here :P

  • Error Using Sun ONE Application Framework

    I am new to the Sun ONE Application Framework. I started by following the tutorial specifically for Java Studio. I get an error when trying to add a ViewBean.
    Confirm refresh invalid JSP template
    The current default JSP template [DefaultPage] is invalid. Do you want to rename it as [DefaultPage_invalid] and refresh [DefaultPage] from NBM archive?
    I reinstalled the development environment to see if something was corrupted, but I am still receiving the same error. I am running in Windows XP Pro SP 1.
    I installed as test on another machine running WIndows 2000, and it works fine.
    I would appreciate any recommendations.
    Thank you

    I have been continuing to research this error.
    I installed Sun ONE Studio 5 update 1 on a different machine running Windows XP Profressional SP1 and still had the same issue.
    I installed it on RedHat Linux 9 and it worked just fine.
    Just seems to be isolated to using the Sun ONE Application Framework development tools in Windows XP.

Maybe you are looking for