Performance Zone is brought to you in partnership with:

Jeff has posted 11 posts at DZone. View Full User Profile

Portability and Performance Improvements in JAX-WS Clients Created in NetBeans IDE 6.7

04.01.2009
| 45770 views |
  • submit to reddit

In NetBeans IDE 6.7, JAX-WS web service clients are both faster and portable out-of-the-box, because the client no longer has to find and parse a remote WSDL file. When you create a client from a WSDL, the IDE generates a copy of this WSDL and saves it in your project. What's more, if the WSDL references any schema files or recursively references other WSDL files, the IDE generates copies of these files as well. The IDE also generates a jax-ws-catalog.xml file that maps the remote system references to local paths.

Before the client can call a web service operation, it has to parse the service WSDL to get information such as the endpoint URL. Thanks to local WSDL copies and catalog mapping, the remote WSDL does not have to be available for the client to run. (Even if the remote WSDL is available, the client runs more quickly without having to look up the WSDL on the Internet.) This means that you can distribute the .war or .jar file built from your client project. As long as the service is running, the client will work on other machines.

To see how portable are JAX-WS clients created in NetBeans 6.7, create a simple client from a WSDL file you have on your machine. The real-world scenario would use the URL of a WSDL on the Internet. For convenience, download the WSDL onto your machine instead of using its URL.

To generate and test the client:

  1. In a browser, go to webservicex.net and download the WSDL file for their Currency Convertor [sic] service. The WSDL is located at http://www.webservicex.net/CurrencyConvertor.asmx?wsdl.

  2. Open NetBeans IDE 6.7 and create a new Java Application project. Name the project CurrencyConvertorClient.
  3.  
  4. In the Projects window, right-click the project node of CurrencyConvertorClient. Select New > Other > Web Services > Web Service Client. The New Web Service Client wizard opens.
  5.  
  6. In the WSDL and Client Location screen, select Local File and browse to the location of the downloaded CurrencyConvertor.asmx.wsdl file:

  7.  
  8. Click Finish. The wizard closes, and the IDE creates the following contents in the project tree:

  9.  
  10. Open the Main.java file in your CurrencyConvertorClient project. Drag the CurrencyConvertorSoap ConversionRate operation from the Projects window into the method body of the main method, where the comment says //TODO code application logic here. The IDE inserts the following try block into the main method:
    try { // Call Web Service Operation
    net.webservicex.CurrencyConvertor service = new net.webservicex.CurrencyConvertor();
    net.webservicex.CurrencyConvertorSoap port = service.getCurrencyConvertorSoap();
    // TODO initialize WS operation arguments here
    net.webservicex.Currency fromCurrency = null;
    net.webservicex.Currency toCurrency = null;
    // TODO process result here
    double result = port.conversionRate(fromCurrency, toCurrency);
    System.out.println("Result = "+result);
    } catch (Exception ex) {
    // TODO handle custom exceptions here
    }
  11.  
  12. In order to get output, replace the following two lines:
    net.webservicex.Currency fromCurrency = null;
    net.webservicex.Currency toCurrency = null;

    ...with the following lines, which hard code the client to return the exchange rate from US dollars to Euros.

    net.webservicex.Currency fromCurrency = net.webservicex.Currency.USD;
    net.webservicex.Currency toCurrency = net.webservicex.Currency.EUR;
  13.  
  14. Run the project. The output window in the IDE shows the following. (Your paths will probably be different, and the exchange rate may be different, too!)
    wsimport-client-generate:
    Created dir: G:\NetBeansProjects\67M2\CurrencyConvertorClient\build\classes
    Compiling 10 source files to G:\NetBeansProjects\67M2\CurrencyConvertorClient\build\classes
    Copying 2 files to G:\NetBeansProjects\67M2\CurrencyConvertorClient\build\classes
    compile:
    run:
    Result = 0.7544
    BUILD SUCCESSFUL (total time: 18 seconds)
  15.  
  16. Go to the Projects window and find the project's META-INF folder, under Source Packages. In this folder, open jax-ws-catalog.xml. It maps the original WSDL file references to the copy of the WSDL in your project, in META-INF.wsdl. Note that the client looks for the resource in the uri attribute first, and then looks for the original WSDL file.
    <?xml version="1.0" encoding="UTF-8" standalone="no"?>
    <catalog xmlns="urn:oasis:names:tc:entity:xmlns:xml:catalog" prefer="system">
    <system systemId="file:/G:/installation_files/CurrencyConvertor.asmx.wsdl"
    uri="wsdl/CurrencyConvertor.asmx.wsdl"/>
    </catalog>
  17.  
  18. Change the path in the uri attribute to something invalid. Clean and build your project and run it again. The project builds and runs successfully. Although the client could not find the local resource, it could find the resource in systemId.
  19.  
  20. Move or rename the WSDL you downloaded, which is named in the systemId attribute. Run the project again. The project compiles, because you have a copy of all necessary Java files under Generated Sources. However, the IDE does not display any result, because no WSDL, and therefore no service endpoint, could be found.
  21.  
  22. Change the value of the uri attribute back to the correct path, wsdl/CurrencyConvertor.asmx.wsdl. Run the project again. Now the result displays correctly, because the compiler can find the local copy of the WSDL in the project files.


You now have a JAX-WS client that can run on any machine connected to the Internet. Clean and build the project. The CurrencyConverterClient.jar file is in the project's dist directory. You can find it in the Files window. You can copy the jar file and port it to any machine with Java, connected to the Internet.

Published at DZone with permission of its author, Jeff Rubinoff.

(Note: Opinions expressed in this article and its replies are the opinions of their respective authors and not those of DZone, Inc.)

Comments

Ismail al-Shams replied on Thu, 2009/05/07 - 11:32am

I hope that it is ok with you guys but I like read these tutorials. I try to preform the exercises and also get all of the plugins for Netbeans so that I can continue learning

liluqun replied on Mon, 2009/05/11 - 4:08am

I did the work following the instructions above only to find the errors:

Compiling 1 source file to D:\home\li\My Documents\NetBeansProjects\JavaApplication7\build\classes
D:\home\li\My Documents\NetBeansProjects\JavaApplication7\src\javaapplication7\Main.java:19: package net.webservicex does not exist
            net.webservicex.CurrencyConvertor service = new net.webservicex.CurrencyConvertor();
D:\home\li\My Documents\NetBeansProjects\JavaApplication7\src\javaapplication7\Main.java:19: package net.webservicex does not exist
            net.webservicex.CurrencyConvertor service = new net.webservicex.CurrencyConvertor();
D:\home\li\My Documents\NetBeansProjects\JavaApplication7\src\javaapplication7\Main.java:20: package net.webservicex does not exist
            net.webservicex.CurrencyConvertorSoap port = service.getCurrencyConvertorSoap();
D:\home\li\My Documents\NetBeansProjects\JavaApplication7\src\javaapplication7\Main.java:22: package net.webservicex does not exist
            net.webservicex.Currency fromCurrency = net.webservicex.Currency.USD;
D:\home\li\My Documents\NetBeansProjects\JavaApplication7\src\javaapplication7\Main.java:22: package net.webservicex does not exist
            net.webservicex.Currency fromCurrency = net.webservicex.Currency.USD;
D:\home\li\My Documents\NetBeansProjects\JavaApplication7\src\javaapplication7\Main.java:23: package net.webservicex does not exist
            net.webservicex.Currency toCurrency = net.webservicex.Currency.EUR;
D:\home\li\My Documents\NetBeansProjects\JavaApplication7\src\javaapplication7\Main.java:23: package net.webservicex does not exist
            net.webservicex.Currency toCurrency = net.webservicex.Currency.EUR;
7 errors
D:\home\li\My Documents\NetBeansProjects\JavaApplication7\nbproject\build-impl.xml:379: The following error occurred while executing this line:
D:\home\li\My Documents\NetBeansProjects\JavaApplication7\nbproject\build-impl.xml:167: Compile failed; see the compiler error output for details.
BUILD FAILED (total time: 0 seconds)

 javax.xml.ws.WebServiceException: class net.webservicex.ConversionRate do not have a property of the name {http://www.webserviceX.NET/}FromCurrency
        at com.sun.xml.internal.ws.client.sei.BodyBuilder$DocLit.<init>(BodyBuilder.java:188)
        at com.sun.xml.internal.ws.client.sei.SyncMethodHandler.<init>(SyncMethodHandler.java:120)
        at com.sun.xml.internal.ws.client.sei.SEIStub.<init>(SEIStub.java:67)
        at com.sun.xml.internal.ws.client.WSServiceDelegate.createEndpointIFBaseProxy(WSServiceDelegate.java:544)
        at com.sun.xml.internal.ws.client.WSServiceDelegate.getPort(WSServiceDelegate.java:292)
        at com.sun.xml.internal.ws.client.WSServiceDelegate.getPort(WSServiceDelegate.java:274)
        at com.sun.xml.internal.ws.client.WSServiceDelegate.getPort(WSServiceDelegate.java:267)
        at javax.xml.ws.Service.getPort(Service.java:92)
        at net.webservicex.CurrencyConvertor.getCurrencyConvertorSoap(CurrencyConvertor.java:56)
        at javaapplication7.Main.main(Main.java:20)
Caused by: javax.xml.bind.JAXBException: {http://www.webserviceX.NET/}FromCurrency is not a valid property on class net.webservicex.ConversionRate
        at com.sun.xml.internal.bind.v2.runtime.JAXBContextImpl.getElementPropertyAccessor(JAXBContextImpl.java:910)
        at com.sun.xml.internal.ws.client.sei.BodyBuilder$DocLit.<init>(BodyBuilder.java:185)
        ... 9 more
BUILD SUCCESSFUL (total time: 2 seconds)

 

Why......................................................why

peter belbin replied on Mon, 2009/05/11 - 12:03pm

Was this an april fools day post?

that's really nice, but: don't you think we should be able to achieve the same thing, but without having to do all that messing around manually?

eg:

when you supply to NB the WSDL URL, the ide captures all the WSDL and related schemas. why not just have an option to capture it as a static definition, so that it's only ever done once, and for ever after, it uses that captured data, and, modifies the target URI for you?

well, I have been using NB 6.5 with jax-ws, with this alternative way to create the client proxy so that it does not try to connect with the URI that's in the wsdl.

at runtime, you do need to know the URL of the web service endpoint (but you should know that really, unless you're using UDDI - which finds it for you), but here is how to connect without the code trying to use the URI that's been captured in the WSDL during compile/development:

import javax.xml.namespace.QName;
import javax.xml.ws.WebServiceClient;

URL url = new URL("http://test.webservice.com/service/MyService");
WebServiceClient ann = YourService.class.getAnnotation(WebServiceClient.class);
QName qname = new QName(ann.targetNamespace(), ann.name());
YourService service = new YourService(url,qname);
binding = service.getYourPort();

I suppose, the only bit that's not already there is that of having the default template that gets used when you drag a web service reference to your java code updated. If it were updated so that the above code were used (and the URI from the wsdl pulled in as the source for the URL to be created, we could avoid all the nastiness of the client trying to access the web service that was available at build time, without perhaps having to do all the manual stuff that you're suggesting too!, and, it works with NB 6.5!!

Chirrindu Lari replied on Fri, 2009/10/16 - 4:11am

I've followed the tutorial and all is fine on the machine where I have developed it (ADSL connection to internet).

I found the app interesting to distribute between colleagues, but when I tried to use the JAR on other machines, it does not work. It seems to be because there is a proxy. Do you know of a tutorial where proxies are involved?

 

Thanks for the tutorial, Jeff. It's very useful for me.

 

Kevin Eddy replied on Thu, 2009/10/29 - 12:49pm in response to: Chirrindu Lari

Hi. I'm having the exact same problem. I'm importing a wsdl from my local c drive. It runs great on my machine. But when I deploy to dev it's still looking for the wsdl on the c drive and not the catalog mapping uri as described here. I've been fighting this for about a week. This tutorial doesn't seem to work as advertised. I wonder if it really is an April Fool's issue.

Chirrindu Lari replied on Fri, 2009/10/30 - 2:31am

Kevin,

I'm sorry, but my problem isn't the same. I followed the tutorial and it has worked exactly as described. At the beggining, the program asked for the WSDL via an HTTP GET command, just in the creation of "port" or "service", I don't remember now. But after following the steps of the tutorial, this step was avoided, and the only request was the SOAP message on port.conversionRate. This behavior can be observed using a home ADSL connection.

My problem is that, when I use the corporate proxy to access HTTP, it doesn't work, because this program doesn't send the proxy user and password to the proxy server. To provide theproxy's credentials, I run the program with these arguments:

-Dhttp.proxyHost=PROXY_ADDRESS  -Dhttp.proxyPort=8080 -Dhttp.proxyUser="WIN_DOMAIN\USER" -Dhttp.proxyPassword="PASSWORD"

The program tries to send to the proxy server on "PROXY_ADDRESS" the SOAP message, the proxy server do not accept the transaction because user/password is required, but the program doesn't send them.

Has anybody experience comunicating through HTTP proxy servers?

Kevin Eddy replied on Wed, 2009/11/04 - 9:28am in response to: Chirrindu Lari

I don't have a lot of experience with proxy, although I'm gaining some here at my current place of employment. One thing I noticed is that vmOptions are inserted upon project creation depending on how you have set your proxy settings. to see your proxy settings in netbeans, go to tools/options. (I'm using netbeans 6.7.1) Set your proxy settings to either "use system proxy settings" or set them manually (if you know them) by clicking "manual proxy settings". try creating a java application with proxy settings on (either system or manual) and creating another one with no proxy settings. then to see the the vm options, right click the project node and select properties then select run in the catagories box. You should see some vm options set for the project you created using the manual or system proxy setting. But you may alread know all about this. So, have you really got the local mapping to work when deploying to another server? I never could figure it out so I just uploaded the wsdl to another server where my app can always get it. The local mapping for me never kicked in. Kevin.

Lou Kurrelmeyer replied on Tue, 2010/04/06 - 11:18am

I am having a hard time figuring out when the WSDL is resolved. Is that happening when Netbeans generates and builds things or is it happening at run time? I would like to be able to deploy an application and update the WSDL file later—when the WSDL changes. Can I do that without rebuilding the Java code?

Grace Down replied on Wed, 2011/01/12 - 3:54pm

@Ismail al-Shams- I agree, I am a new member and am enjoying all the tutorials that are offered here. Practice makes perfect and I am learning a lot.

Also, if I run into any problems in my code "plumbing," I have found that the comment section is the perfect for unclogging my issues! :) Time and experience will cure all.

Lancaster Jones replied on Sun, 2011/09/04 - 1:20pm

Very good tutorial helped me add this quite simply. I'm still learning Netbean and trying to improve. Thanks HCG diet

Sonia Rana replied on Fri, 2011/10/21 - 2:43am

Hey, I am trying this Currency Converter Application in Ecllipse, but unable to download WSDL file, & not able to import " NET.webserviceX.www.*; " Can u plz help me out in this....

Mohan Mohand replied on Fri, 2011/11/11 - 7:57am

I have service class


/*
 *
 */

package crmondemand.ws.ecbs.customobject2._10._2004;

import java.net.MalformedURLException;
import java.net.URL;
import javax.xml.namespace.QName;
import javax.xml.ws.WebEndpoint;
import javax.xml.ws.WebServiceClient;
import javax.xml.ws.WebServiceFeature;
import javax.xml.ws.Service;

/**
 * This class was generated by Apache CXF 2.3.1
 * Thu Nov 10 14:32:21 IST 2011
 * Generated source version: 2.3.1
 *
 */


@WebServiceClient(name = "CustomObject2",
                  wsdlLocation = "../WEB-INF/wsdl/Custom Object 2.wsdl",
                  targetNamespace = "urn:crmondemand/ws/ecbs/customobject2/10/2004")
public class CustomObject2_Service extends Service {

    public final static URL WSDL_LOCATION;
    public final static QName SERVICE = new QName("urn:crmondemand/ws/ecbs/customobject2/10/2004", "CustomObject2");
    public final static QName CustomObject2 = new QName("urn:crmondemand/ws/ecbs/customobject2/10/2004", "CustomObject2");
    static {
        URL url = null;
        try {
            url = new URL("../WEB-INF/wsdl/Custom Object 2.wsdl");
        } catch (MalformedURLException e) {
            System.err.println("Can not initialize the default wsdl from file:/D:/ECLIPSE_WORKSPACE/RegusCalendar/RegusCalendar/WebContent/WEB-INF/wsdl/Custom Object 2.wsdl");
            // e.printStackTrace();
        }
        WSDL_LOCATION = url;
    }

    public CustomObject2_Service(URL wsdlLocation) {
        super(wsdlLocation, SERVICE);
    }

    public CustomObject2_Service(URL wsdlLocation, QName serviceName) {
        super(wsdlLocation, serviceName);
    }

    public CustomObject2_Service() {
        super(WSDL_LOCATION, SERVICE);
    }
   
    public CustomObject2_Service(WebServiceFeature ... features) {
        super(WSDL_LOCATION, SERVICE);
    }
    public CustomObject2_Service(URL wsdlLocation, WebServiceFeature ... features) {
        super(wsdlLocation, SERVICE);
    }

    public CustomObject2_Service(URL wsdlLocation, QName serviceName, WebServiceFeature ... features) {
        super(wsdlLocation, serviceName);
    }

    /**
     *
     * @return
     *     returns CustomObject2
     */
    @WebEndpoint(name = "CustomObject2")
    public CustomObject2 getCustomObject2() {
        return super.getPort(CustomObject2, CustomObject2.class);
    }

    /**
     *
     * @param features
     *     A list of {@link javax.xml.ws.WebServiceFeature} to configure on the proxy.  Supported features not in the <code>features</code> parameter will have their default values.
     * @return
     *     returns CustomObject2
     */
    @WebEndpoint(name = "CustomObject2")
    public CustomObject2 getCustomObject2(WebServiceFeature... features) {
        return super.getPort(CustomObject2, CustomObject2.class, features);
    }

}

 

 

 

 

got exception as 

 

 

 

2011-11-11 17:23:24,109 INFO  [STDOUT] (http-127.0.0.1-8090-1) ControllerProg:Loggin Innnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnnn-1

2011-11-11 17:23:26,062 INFO  [STDOUT] (http-127.0.0.1-8090-1) ControllerProg:jsessionid_full---JSESSIONID=17d557f7d75e3c0ed8ed5a59936a3be2f8fe8db7680885860a1ff7cfbb46783d.e3iRbxqLaNb0ax4NaNeRbNaPc40; path=/Services; secure

2011-11-11 17:23:26,062 ERROR [STDERR] (http-127.0.0.1-8090-1) Can not initialize the default wsdl from file:/D:/ECLIPSE_WORKSPACE/RegusCalendar/RegusCalendar/WebContent/WEB-INF/wsdl/Custom Object 2.wsdl

2011-11-11 17:23:26,077 ERROR [STDERR] (http-127.0.0.1-8090-1) javax.xml.ws.WebServiceException: Port {urn:crmondemand/ws/ecbs/customobject2/10/2004}CustomObject2 not found.

2011-11-11 17:23:26,077 ERROR [STDERR] (http-127.0.0.1-8090-1)     at org.apache.cxf.jaxws.ServiceImpl.getPort(ServiceImpl.java:326)

2011-11-11 17:23:26,077 ERROR [STDERR] (http-127.0.0.1-8090-1)     at org.apache.cxf.jaxws.ServiceImpl.getPort(ServiceImpl.java:317)

2011-11-11 17:23:26,093 ERROR [STDERR] (http-127.0.0.1-8090-1)     at javax.xml.ws.Service.getPort(Service.java:99)

2011-11-11 17:23:26,093 ERROR [STDERR] (http-127.0.0.1-8090-1)     at crmondemand.ws.ecbs.customobject2._10._2004.CustomObject2_Service.getCustomObject2(CustomObject2_Service.java:73)

2011-11-11 17:23:26,093 ERROR [STDERR] (http-127.0.0.1-8090-1)     at appointments.CustomObject2Client.<init>(CustomObject2Client.java:44)

2011-11-11 17:23:26,093 ERROR [STDERR] (http-127.0.0.1-8090-1)     at regusutils.ControllerProg.getASMAppointments(ControllerProg.java:66)

2011-11-11 17:23:26,093 ERROR [STDERR] (http-127.0.0.1-8090-1)     at appointments.AppointmentBeanUtil.getBeanList(AppointmentBeanUtil.java:38)

2011-11-11 17:23:26,093 ERROR [STDERR] (http-127.0.0.1-8090-1)     at org.apache.jsp.regusCalendar_jsp._jspService(regusCalendar_jsp.java:380)

2011-11-11 17:23:26,093 ERROR [STDERR] (http-127.0.0.1-8090-1)     at org.apache.jasper.runtime.HttpJspBase.service(HttpJspBase.java:70)

2011-11-11 17:23:26,093 ERROR [STDERR] (http-127.0.0.1-8090-1)     at javax.servlet.http.HttpServlet.service(HttpServlet.java:847)

2011-11-11 17:23:26,093 ERROR [STDERR] (http-127.0.0.1-8090-1)     at org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:369)

2011-11-11 17:23:26,093 ERROR [STDERR] (http-127.0.0.1-8090-1)     at org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:326)

2011-11-11 17:23:26,093 ERROR [STDERR] (http-127.0.0.1-8090-1)     at org.apache.jasper.servlet.JspServlet.service(JspServlet.java:253)

2011-11-11 17:23:26,093 ERROR [STDERR] (http-127.0.0.1-8090-1)     at javax.servlet.http.HttpServlet.service(HttpServlet.java:847)

2011-11-11 17:23:26,093 ERROR [STDERR] (http-127.0.0.1-8090-1)     at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:324)

2011-11-11 17:23:26,093 ERROR [STDERR] (http-127.0.0.1-8090-1)     at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:242)

2011-11-11 17:23:26,093 ERROR [STDERR] (http-127.0.0.1-8090-1)     at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:275)

2011-11-11 17:23:26,093 ERROR [STDERR] (http-127.0.0.1-8090-1)     at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:191)

2011-11-11 17:23:26,093 ERROR [STDERR] (http-127.0.0.1-8090-1)     at org.jboss.web.tomcat.security.SecurityAssociationValve.invoke(SecurityAssociationValve.java:181)

2011-11-11 17:23:26,093 ERROR [STDERR] (http-127.0.0.1-8090-1)     at org.jboss.modcluster.catalina.CatalinaContext$RequestListenerValve.event(CatalinaContext.java:285)

2011-11-11 17:23:26,093 ERROR [STDERR] (http-127.0.0.1-8090-1)     at org.jboss.modcluster.catalina.CatalinaContext$RequestListenerValve.invoke(CatalinaContext.java:261)

2011-11-11 17:23:26,093 ERROR [STDERR] (http-127.0.0.1-8090-1)     at org.jboss.web.tomcat.security.JaccContextValve.invoke(JaccContextValve.java:88)

2011-11-11 17:23:26,093 ERROR [STDERR] (http-127.0.0.1-8090-1)     at org.jboss.web.tomcat.security.SecurityContextEstablishmentValve.invoke(SecurityContextEstablishmentValve.java:100)

2011-11-11 17:23:26,093 ERROR [STDERR] (http-127.0.0.1-8090-1)     at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:127)

2011-11-11 17:23:26,093 ERROR [STDERR] (http-127.0.0.1-8090-1)     at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:102)

2011-11-11 17:23:26,093 ERROR [STDERR] (http-127.0.0.1-8090-1)     at org.jboss.web.tomcat.service.jca.CachedConnectionValve.invoke(CachedConnectionValve.java:158)

2011-11-11 17:23:26,093 ERROR [STDERR] (http-127.0.0.1-8090-1)     at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:109)

2011-11-11 17:23:26,093 ERROR [STDERR] (http-127.0.0.1-8090-1)     at org.jboss.web.tomcat.service.request.ActiveRequestResponseCacheValve.invoke(ActiveRequestResponseCacheValve.java:53)

2011-11-11 17:23:26,093 ERROR [STDERR] (http-127.0.0.1-8090-1)     at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:362)

2011-11-11 17:23:26,093 ERROR [STDERR] (http-127.0.0.1-8090-1)     at org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:877)

2011-11-11 17:23:26,093 ERROR [STDERR] (http-127.0.0.1-8090-1)     at org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.process(Http11Protocol.java:654)

2011-11-11 17:23:26,093 ERROR [STDERR] (http-127.0.0.1-8090-1)     at org.apache.tomcat.util.net.JIoEndpoint$Worker.run(JIoEndpoint.java:951)

2011-11-11 17:23:26,093 ERROR [STDERR] (http-127.0.0.1-8090-1)     at java.lang.Thread.run(Thread.java:662)

2011-11-11 17:23:26,421 INFO  [STDOUT] (http-127.0.0.1-8090-1) Loggin Outtttttttttttttttttttttttttttttttttt-3

2011-11-11 17:23:26,421 ERROR [org.apache.catalina.core.ContainerBase.[jboss.web].[localhost].[/RegusCalendar].[jsp]] (http-127.0.0.1-8090-1) Servlet.service() for servlet jsp threw exception: java.lang.NullPointerException
    at appointments.AppointmentBeanUtil.getBeanList(AppointmentBeanUtil.java:44) [:]
    at org.apache.jsp.regusCalendar_jsp._jspService(regusCalendar_jsp.java:380)
    at org.apache.jasper.runtime.HttpJspBase.service(HttpJspBase.java:70) [:6.0.0.Final]
    at javax.servlet.http.HttpServlet.service(HttpServlet.java:847) [:1.0.0.Final]
    at org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:369) [:6.0.0.Final]
    at org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:326) [:6.0.0.Final]
    at org.apache.jasper.servlet.JspServlet.service(JspServlet.java:253) [:6.0.0.Final]
    at javax.servlet.http.HttpServlet.service(HttpServlet.java:847) [:1.0.0.Final]
    at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:324) [:6.0.0.Final]
    at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:242) [:6.0.0.Final]
    at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:275) [:6.0.0.Final]
    at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:191) [:6.0.0.Final]
    at org.jboss.web.tomcat.security.SecurityAssociationValve.invoke(SecurityAssociationValve.java:181) [:6.0.0.Final]
    at org.jboss.modcluster.catalina.CatalinaContext$RequestListenerValve.event(CatalinaContext.java:285) [:1.1.0.Final]
    at org.jboss.modcluster.catalina.CatalinaContext$RequestListenerValve.invoke(CatalinaContext.java:261) [:1.1.0.Final]
    at org.jboss.web.tomcat.security.JaccContextValve.invoke(JaccContextValve.java:88) [:6.0.0.Final]
    at org.jboss.web.tomcat.security.SecurityContextEstablishmentValve.invoke(SecurityContextEstablishmentValve.java:100) [:6.0.0.Final]
    at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:127) [:6.0.0.Final]
    at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:102) [:6.0.0.Final]
    at org.jboss.web.tomcat.service.jca.CachedConnectionValve.invoke(CachedConnectionValve.java:158) [:6.0.0.Final]
    at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:109) [:6.0.0.Final]
    at org.jboss.web.tomcat.service.request.ActiveRequestResponseCacheValve.invoke(ActiveRequestResponseCacheValve.java:53) [:6.0.0.Final]
    at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:362) [:6.0.0.Final]
    at org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:877) [:6.0.0.Final]
    at org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.process(Http11Protocol.java:654) [:6.0.0.Final]
    at org.apache.tomcat.util.net.JIoEndpoint$Worker.run(JIoEndpoint.java:951) [:6.0.0.Final]
    at java.lang.Thread.run(Thread.java:662) [:1.6.0_23]

 

 

 

 

 

 

suggest solution

Anthony Prince replied on Fri, 2012/03/09 - 9:29am

The NetBeans IDE is an award-winning integrated development environment available for Windows, Mac, Linux, and Solaris. -Instant Tax Solutions Scam

Johan Botha replied on Tue, 2013/04/02 - 12:47am

onlinecasinoperle 2013 | online-kasino-berichte 2013 | online-casinopirat 

online-casinopot | onlinecasino-power | online casino profis

Students are told what facts they need to learn, they write it all down, re-read it all the night before the test, regurgitate it all for the test, and then promptly forget it.

Comment viewing options

Select your preferred way to display the comments and click "Save settings" to activate your changes.