[ 
https://issues.apache.org/jira/browse/SYNAPSE-577?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=12751768#action_12751768
 ] 

indika priyantha kumara commented on SYNAPSE-577:
-------------------------------------------------


My feeling is simply need a proper lifecycle management implementation.  Any 
software system if it provides a set of abstractions to users, those 
abstractions should be properly managed including dependency between each 
abstraction by software system itself.  User only needs to manage resources 
they create and software system needs to provide hooks to do that... Usually 
means of Lifecycle callbacks. These are old problems that solved by many 
experts. There are principles and patterns to do these.  A one good resource 
about that [1].

Thanks
Indika 

[1] 
http://www.kircher-schwanninger.de/michael/publications/ResourceLifecycleManager.pdf


> WSDL Endpoints Stored in the Registry Cannot be Used
> ----------------------------------------------------
>
>                 Key: SYNAPSE-577
>                 URL: https://issues.apache.org/jira/browse/SYNAPSE-577
>             Project: Synapse
>          Issue Type: Bug
>          Components: Core, Endpoints
>    Affects Versions: NIGHTLY
>         Environment: Any
>            Reporter: Hiranya Jayathilaka
>            Assignee: Hiranya Jayathilaka
>             Fix For: 1.3, NIGHTLY
>
>         Attachments: WSDLEndpoint.patch
>
>
> 1. Define a valid registry provider in the Synapse configuration
> 2. Store a WSDL endpoint definition in the registry
> 3. Create a proxy service which refers to the WSDL endpoint in the registry
> 4. Start Synapse and send a message to the proxy service
> Message will be dispatched to the back end service, but Synapse will fail to 
> route the response back. The following NPE occurs.
> [2009-08-31 08:47:51,883] ERROR - NativeWorkerPool Uncaught exception
> java.lang.NullPointerException
>       at 
> org.apache.synapse.endpoints.WSDLEndpoint.onSuccess(WSDLEndpoint.java:59)
>       at 
> org.apache.synapse.core.axis2.SynapseCallbackReceiver.handleMessage(SynapseCallbackReceiver.java:208)
>       at 
> org.apache.synapse.core.axis2.SynapseCallbackReceiver.receive(SynapseCallbackReceiver.java:135)
>       at org.apache.axis2.engine.AxisEngine.receive(AxisEngine.java:178)
>       at 
> org.apache.synapse.transport.nhttp.ClientWorker.run(ClientWorker.java:230)
>       at 
> org.apache.axis2.transport.base.threads.NativeWorkerPool$1.run(NativeWorkerPool.java:58)
>       at 
> java.util.concurrent.ThreadPoolExecutor$Worker.runTask(ThreadPoolExecutor.java:651)
>       at 
> java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:676)
>       at java.lang.Thread.run(Thread.java:595)
> This is because the endpoint returned by the AbstractRegistry is not 
> initialized and hence does not have an associated EndpointContext.

-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.


---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]

Reply via email to