You are viewing a plain text version of this content. The canonical link for it is here.
Posted to java-dev@axis.apache.org by "Andreas Veithen (JIRA)" <ji...@apache.org> on 2009/05/13 23:48:45 UTC

[jira] Commented: (AXIS2-4346) Java2WSDLBuilder.setServiceEPR() and Utils.addSoap11Endpoint() should use URI not URL

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

Andreas Veithen commented on AXIS2-4346:
----------------------------------------

I think it is actually both a valid URI and URL. The problem here is actually that java.net.URL doesn't recognize jms as a protocol (since there is obviously no URL stream handler for JMS).

Anyway, java.net.URL is definitely not the right class to represent an endpoint address. We then have two options: use java.net.URI, as you suggest, or just plain strings. The rest of the Axis2 API in general uses String to represent endpoint URI/URLs, so for consistency we should probably do the same in Java2WSDLBuilder.setServiceEPR(), Utils.addSoap12Endpoint(), Utils.addSoap11Endpoint() and Utils.addHttpEndpoint().

Note that all this code has been introduced by AXIS2-3523 (r633485). Probably we can get away by just changing the types without introducing compatibility methods.




> Java2WSDLBuilder.setServiceEPR() and Utils.addSoap11Endpoint() should use URI not URL
> -------------------------------------------------------------------------------------
>
>                 Key: AXIS2-4346
>                 URL: https://issues.apache.org/jira/browse/AXIS2-4346
>             Project: Axis 2.0 (Axis2)
>          Issue Type: Bug
>          Components: wsdl
>    Affects Versions: 1.4
>         Environment: All
>            Reporter: Ben Reif
>            Priority: Minor
>   Original Estimate: 24h
>  Remaining Estimate: 24h
>
> The Java2WSDLBuilder.setServiceEPR(), Utils.addSoap12Endpoint(), and Utils.addSoap11Endpoint() methods should use URI instead of URL. The WSDL specification says that the location attribute for a SOAP address needs to be a URI, not a URL. The existing code causes a MalformedURLException when you are defining a JMS endpoint with certain parameters in the URI value. For example:
> jms:/myMDB.JMSQueue?transport.jms.DestinationType=queue&amp;transport.jms.ConnectionFactoryJNDIName=my.jms.queue.connection.factory&amp;java.naming.factory.initial=weblogic.jndi.WLInitialContextFactory&amp;java.naming.provider.url=t3://localhost:7001
> I don't think it likes the 'jms:/' and also the last value for the java.naming.provider.url parameter
> This is a valid URI, however.

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