axis-java-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Andreas Veithen (JIRA)" <j...@apache.org>
Subject [jira] Commented: (AXIS2-4722) NPE Thrown When Enabling the UDP Listener Globally
Date Sun, 23 May 2010 11:13:16 GMT

    [ https://issues.apache.org/jira/browse/AXIS2-4722?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=12870389#action_12870389
] 

Andreas Veithen commented on AXIS2-4722:
----------------------------------------

> If you have enable udp transport globally what you going to display in the wsdl endpoint?
you may display tcp://host:port/servicePath. isn't this a hack?

There is a proposal [1] for a SOAP over UDP protocol that does exactly that. It's from Microsoft,
but that doesn't mean that is necessarily a hack... IIRC, there is also a proposal for a SOAP
over TCP spec from Sun that uses the same approach.

[1] http://specs.xmlsoap.org/ws/2004/09/soap-over-udp/soap-over-udp.pdf

> on the other hand thinking in wsdl way always an endpoint is associated with a service.
So service dispatching should happen with the transport properties. 

Not sure what you mean by "service dispatching should happen with the transport properties".
Can you explain this a bit more?

> There are transport which has an explicit back channel (eg. http, tcp, udp) with which
you can do asynchronous without any problem.

Using the back channel means that your _interaction_ style is synchronous. Of course, you
can always use the asynchronous _invocation_ style with this, but that is not really the topic
here.

> But for smtp, jms there are no such back channels so you need to use some other transport
specific mechanism or addressing. 

Currently, Axis2 supports the asynchronous interaction style in two different ways:
* The transport sender waits for the response (see JMS). That is appropriate if one wants
to use the synchronous invocation style with the asynchronous interaction style.
* WS-Addressing is used. On the client side this requires to open an endpoint for the asynchronous
responses. That endpoint is not linked to a service and needs to be configured at the transport
level (exactly as with HTTP). My first point was about this case.

[BTW: There is a weakness here in Axis2, because this doesn't provide a satisfactory solution
for the scenario where one wants to use the asynchronous invocation style with JMS...]

> NPE Thrown When Enabling the UDP Listener Globally
> --------------------------------------------------
>
>                 Key: AXIS2-4722
>                 URL: https://issues.apache.org/jira/browse/AXIS2-4722
>             Project: Axis2
>          Issue Type: Bug
>          Components: transports
>            Reporter: Hiranya Jayathilaka
>             Fix For: 1.6
>
>         Attachments: AXIS2-4722-update1.patch, AXIS2-4722.patch
>
>
> Steps to reproduce:
> 1. Enable the UDP listener in the axis2.xml by adding the following entry:
>     <transportReceiver name="udp" class="org.apache.axis2.transport.udp.UDPListener">
>         <parameter name="transport.udp.port">9999</parameter>
>         <parameter name="transport.udp.contentType">text/xml</parameter>
>     </transportReceiver>
> 2. Start the server and following NPE will be thrown:
> 2010-05-20 16:02:43,890 [-] [main] ERROR ListenerManager Couldn't initialize the udptransport
listener
> java.lang.NullPointerException
> 	at org.apache.axis2.transport.base.datagram.AbstractDatagramTransportListener.startEndpoint(AbstractDatagramTransportListener.java:75)
> 	at org.apache.axis2.transport.base.datagram.AbstractDatagramTransportListener.startEndpoint(AbstractDatagramTransportListener.java:31)
> 	at org.apache.axis2.transport.base.AbstractTransportListenerEx.init(AbstractTransportListenerEx.java:58)
> 	at org.apache.axis2.transport.base.datagram.AbstractDatagramTransportListener.init(AbstractDatagramTransportListener.java:41)
> 	at org.apache.axis2.engine.ListenerManager.init(ListenerManager.java:83)
> 	at samples.util.SampleAxis2ServerManager.start(SampleAxis2ServerManager.java:110)
> 	at samples.util.SampleAxis2Server.startServer(SampleAxis2Server.java:61)
> 	at samples.util.SampleAxis2Server.main(SampleAxis2Server.java:40)
> I was able to reproduce this issue with Synapse and the sample Axis2 server that comes
with Synapse. I will soon attach a patch.

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


Mime
View raw message