synapse-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Hiranya Jayathilaka (JIRA)" <j...@apache.org>
Subject [jira] Commented: (SYNAPSE-577) WSDL Endpoints Stored in the Registry Cannot be Used
Date Sat, 05 Sep 2009 10:15:57 GMT

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

Hiranya Jayathilaka commented on SYNAPSE-577:
---------------------------------------------

Hi George,

Thanks for the contribution. Your patch solves the problem for WSDL endpoints. But I believe
the same issue occurs with some of the other types of endpoints such as load balance endpoints.
So we need to fix this in a more general way so that the fix would cover all forms of endpoints.
Also having a null check does not really solve the problem. It simply covers the problem up.
We need a real fix which does not allow dynamic endpoints to be used without being initialized.

May be one possible solution is to initialize dynamic endpoints in the SynapseConfiguration
class itself (Supun's patch took this approach). What Supun's solution lacked was probably
that it did not check whether an endpoint is initialized or not before calling the init method
on it.

So IMO we need a solution going along this path.

> 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: dev-unsubscribe@synapse.apache.org
For additional commands, e-mail: dev-help@synapse.apache.org


Mime
View raw message