Hi,

I've done as you have said, but now I am getting an exception thrown. I've
tried a few things but I cant seem to resolve it.
My app is receiving my incoming message ok, then it tries to instantiate the
resource. 
Regards
Shahzad

ERROR MESSAGE
=============

--> 03-17-05 20:18:33 DEBUG [http-8080-Processor25] ProjectResourceBundle:
org.apache.ws.resource.i18n.resource::handleGetObject(JNDI_HOME_LOCATION)
--> 03-17-05 20:18:33 DEBUG [http-8080-Processor25] AbstractResourceContext:
The JNDI home location is: wsrf/services/ShibbolethBrowserSession/home
--> 03-17-05 20:18:33 DEBUG [http-8080-Processor25] ProjectResourceBundle:
org.apache.ws.resource.i18n.resource::handleGetObject(RETRIEVED_SERVICE_CLAS
SNAME)
--> 03-17-05 20:18:33 DEBUG [http-8080-Processor25] ResourceHandler:
Retrieved Service Class name:
shibbolethBrowserSession.ShibbolethBrowserSessionService from R
--> 03-17-05 20:18:33 DEBUG [http-8080-Processor25] ProjectResourceBundle:
org.apache.ws.resource.i18n.resource::handleGetObject(CREATING_INSTANCE_OF_S
ERVICE)
--> 03-17-05 20:18:33 DEBUG [http-8080-Processor25] ResourceHandler:
Creating an instance of service class: class
shibbolethBrowserSession.ShibbolethBrowserSessio
java.lang.reflect.InvocationTargetException
        at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native
Method)
        at sun.reflect.NativeConstructorAccessorImpl.newInstance(Unknown
Source)
        at sun.reflect.DelegatingConstructorAccessorImpl.newInstance(Unknown
Source)
        at java.lang.reflect.Constructor.newInstance(Unknown Source)
        at
org.apache.ws.resource.handler.ResourceHandler.createService(ResourceHandler
.java:408)
        at
org.apache.ws.resource.handler.ResourceHandler.handleRequest(ResourceHandler
.java:150)
        at
org.apache.ws.resource.handler.axis.ResourceProvider.invoke(ResourceProvider
.java:203)
        at
org.apache.axis.strategies.InvocationStrategy.visit(InvocationStrategy.java:
32)
        at org.apache.axis.SimpleChain.doVisiting(SimpleChain.java:118)
        at org.apache.axis.SimpleChain.invoke(SimpleChain.java:83)
        at
org.apache.axis.handlers.soap.SOAPService.invoke(SOAPService.java:450)
        at org.apache.axis.server.AxisServer.invoke(AxisServer.java:285)
        at
org.apache.axis.transport.http.AxisServlet.doPost(AxisServlet.java:653)
        at javax.servlet.http.HttpServlet.service(HttpServlet.java:709)
        at
org.apache.axis.transport.http.AxisServletBase.service(AxisServletBase.java:
301)
        at javax.servlet.http.HttpServlet.service(HttpServlet.java:802)
        at
org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(Application
FilterChain.java:252)
        at
org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterCh
ain.java:173)
        at
org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.ja
va:214)
        at
org.apache.catalina.core.StandardValveContext.invokeNext(StandardValveContex
t.java:104)
        at
org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:520)
        at
org.apache.catalina.core.StandardContextValve.invokeInternal(StandardContext
Valve.java:198)
        at
org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.ja
va:152)
        at
org.apache.catalina.core.StandardValveContext.invokeNext(StandardValveContex
t.java:104)
        at
org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:520)
        at
org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:137
)
        at
org.apache.catalina.core.StandardValveContext.invokeNext(StandardValveContex
t.java:104)
        at
org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:118
)
        at
org.apache.catalina.core.StandardValveContext.invokeNext(StandardValveContex
t.java:102)
        at
org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:520)
        at
org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java
:109)
        at
org.apache.catalina.core.StandardValveContext.invokeNext(StandardValveContex
t.java:104)
        at
org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:520)
        at
org.apache.catalina.core.ContainerBase.invoke(ContainerBase.java:929)
        at
org.apache.coyote.tomcat5.CoyoteAdapter.service(CoyoteAdapter.java:160)
        at
org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:799)
        at
org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.processConne
ction(Http11Protocol.java:705)
        at
org.apache.tomcat.util.net.TcpWorkerThread.runIt(PoolTcpEndpoint.java:577)
        at
org.apache.tomcat.util.threads.ThreadPool$ControlRunnable.run(ThreadPool.jav
a:684)
        at java.lang.Thread.run(Unknown Source)
Caused by: java.lang.NullPointerException
        at
org.apache.ws.resource.AbstractPortType.<init>(AbstractPortType.java:55)
        at
shibbolethBrowserSession.AbstractShibbolethBrowserSessionService.<init>(Abst
ractShibbolethBrowserSessionService.java:26)
        at
shibbolethBrowserSession.ShibbolethBrowserSessionService.<init>(ShibbolethBr
owserSessionService.java:47)
        ... 40 more
--> 03-17-05 20:18:33 DEBUG [http-8080-Processor25] ProjectResourceBundle:
org.apache.ws.resource.i18n.resource::handleGetObject(UNEXPECTED_ERROR_WITH_
EXCEPTION)
--> 03-17-05 20:18:33 DEBUG [http-8080-Processor25] ResourceProvider: Fault:
AxisFault
 faultCode: {http://schemas.xmlsoap.org/soap/envelope/}Server.userException
 faultSubcode:
 faultString: javax.xml.rpc.JAXRPCException: Unexpected error. Cause:
java.lang.reflect.InvocationTargetException
 faultActor:
 faultNode:
 faultDetail:
 
{http://xml.apache.org/axis/}stackTrace:javax.xml.rpc.JAXRPCException:
Unexpected error. Cause: java.lang.reflect.InvocationTargetException
        at
org.apache.ws.resource.handler.ResourceHandler.handleRequest(ResourceHandler
.java:191)
        at
org.apache.ws.resource.handler.axis.ResourceProvider.invoke(ResourceProvider
.java:203)
        at
org.apache.axis.strategies.InvocationStrategy.visit(InvocationStrategy.java:
32)
        at org.apache.axis.SimpleChain.doVisiting(SimpleChain.java:118)
        at org.apache.axis.SimpleChain.invoke(SimpleChain.java:83)
        at
org.apache.axis.handlers.soap.SOAPService.invoke(SOAPService.java:450)
        at org.apache.axis.server.AxisServer.invoke(AxisServer.java:285)
        at
org.apache.axis.transport.http.AxisServlet.doPost(AxisServlet.java:653)
        at javax.servlet.http.HttpServlet.service(HttpServlet.java:709)
        at
org.apache.axis.transport.http.AxisServletBase.service(AxisServletBase.java:
301)
        at javax.servlet.http.HttpServlet.service(HttpServlet.java:802)
        at
org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(Application
FilterChain.java:252)
        at
org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterCh
ain.java:173)
        at
org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.ja
va:214)
        at
org.apache.catalina.core.StandardValveContext.invokeNext(StandardValveContex
t.java:104)
        at
org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:520)
        at
org.apache.catalina.core.StandardContextValve.invokeInternal(StandardContext
Valve.java:198)
        at
org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.ja
va:152)
        at
org.apache.catalina.core.StandardValveContext.invokeNext(StandardValveContex
t.java:104)
        at
org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:520)
        at
org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:137
)
        at
org.apache.catalina.core.StandardValveContext.invokeNext(StandardValveContex
t.java:104)
        at
org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:118
)
        at
org.apache.catalina.core.StandardValveContext.invokeNext(StandardValveContex
t.java:102)
        at
org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:520)
        at
org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java
:109)
        at
org.apache.catalina.core.StandardValveContext.invokeNext(StandardValveContex
t.java:104)
        at
org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:520)
        at
org.apache.catalina.core.ContainerBase.invoke(ContainerBase.java:929)
        at
org.apache.coyote.tomcat5.CoyoteAdapter.service(CoyoteAdapter.java:160)
        at
org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:799)
        at
org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.processConne
ction(Http11Protocol.java:705)
        at
org.apache.tomcat.util.net.TcpWorkerThread.runIt(PoolTcpEndpoint.java:577)
        at
org.apache.tomcat.util.threads.ThreadPool$ControlRunnable.run(ThreadPool.jav
a:684)
        at java.lang.Thread.run(Unknown Source)

        {http://xml.apache.org/axis/}hostname:dellpc


 

-----Original Message-----
From: Ian Springer [mailto:[EMAIL PROTECTED] 
Sent: 17 March 2005 18:37
To: [email protected]
Subject: Re: Instance Problem..

Hi Shahzad,

You need to add the following to XXXAbstractService and XXXService:

    public XXXAbstractService( ResourceContext resourceContext )
    {
        super( resourceContext );
    }

Note, it's on our TODO list to make Wsdl2Java generate all services as
extending AbstractPortType, so these manual changes will no longer be
necessary.

Regards,
Ian

Shahzad Younas wrote:

>Hi,
>
>Thanks for the info guys. Nice and clear instructions! That's some good 
>stuff!
>When I try and make my XXXAbstractService class that was generated 
>extend AbstractPortType, my compiler starts saying that I need a super 
>constructor in both my AbstractService and my Service class.
>
>What code do I need to put in these? I added a default constructor, but 
>then it crashed on me!
>
>
>Also, in the WSDL, is there no standard way to specify a method to 
>accept a single "<CREATE>" tag, and for it to create an instance of the 
>resource and return the resource ID? I am sure this is a fucntionality 
>of the Wsdl2Java task to generate the specific methods to do this.
>
>I tried adapting bits of the "CreatePrinter" example to allow mine to 
>create instances, but it failed miserably.
>
>Thanks in advance!
>Shahzad
>
>
>-----Original Message-----
>From: Ian Springer [mailto:[EMAIL PROTECTED]
>Sent: 17 March 2005 17:35
>To: [email protected]
>Subject: Re: Instance Problem..
>
>Hi Shahzad,
>
>Good question. We've had other questions along these lines, so we 
>definitely need to clarify this in the tutorial.
>
>The Service is stateless, but for each resource instance, a Resource is 
>created which is stateful. The Resource contains the 
>ResourcePropertySet but may also contain additional state (i.e. member
vars). Try the following:
>
>Make the XXXAbstractService class that was generated extend 
>AbstractPortType. Then you can do something like:
>
>class XXXService
>{
>   ResponseDocument addOne(RequestDocument)
>    {
>        getResource().incrementCounter();
>      return new ResponseDocument(getResource().getCounter())
>    }
>}
>
>class XXXResource
>{
>   private int m_counter;
>
>   public void incrementCounter()
>   {
>       m_counter++;
>   }
>
>   public int getCounter()
>   {
>       return m_counter;
>   }
>}
>
>Shahzad Younas wrote:
>
>  
>
>>Hi,
>> 
>>I was wondering, lets say I have a method in my service class:
>> 
>>class Service
>>{
>>    private int tmp=1;
>> 
>>    ResponseDocument addOne(RequestDocument)
>>    {
>>        tmp++;
>>        return new ResponseDocument(with a field containing "tmp")
>>    }   
>>}
>> 
>>if i call this method once (for a given resource ID) (by call, i mean 
>>send a SOAP Request containing the RequestDocument) , i will get a 
>>value of 2 returned.
>>Ifi call it again, with the same resource ID, will i get a value of 3 
>>returned? IE by state, do we mean that all variables for the service 
>>are preserved for each resource ID?
>> 
>>I am abit confused. I know ResourceProperties should hold stateful 
>>values, but I need for the service private variables to be maintained too.
>> 
>>Thanks
>>Shahzad
>>    
>>
>
>  
>


---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]





---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]

Reply via email to