You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@tuscany.apache.org by "Simon Laws (JIRA)" <de...@tuscany.apache.org> on 2009/04/15 17:19:15 UTC

[jira] Commented: (TUSCANY-2900) WSDL Generation does not respect all binding.ws entries

    [ https://issues.apache.org/jira/browse/TUSCANY-2900?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=12699235#action_12699235 ] 

Simon Laws commented on TUSCANY-2900:
-------------------------------------

At the moment there is no code in the binding-ws-wsdlgen module to generate the JMS binding when binding.ws is configured in this way. The code may not be that hard to generate however I think that the tricky part here is how to make any generated WSDL available. In order to get at the WSDL through ?wsdl we need an HTTP endpoint to point at. 

If we have:

<service name="HelloWorldService"> 
                <binding.ws uri="jms:..."/>
                <binding.ws uri="http://myhost:80/myservice"/>
</service> 

Then the OSOA spec does actually say  that "A separate WSDL document is generated for each SCA service" which would imply that you could get http://myhost:80/myservice?wsdl and expect to find both http and jms bindings there. I don't believe we do generate a WSDL document that covers all bindings at the moment though so that would have to be changed it we went that way. 

However I don't think this really helps because if we have:

<service name="HelloWorldService"> 
                <binding.ws uri="jms:..."/>
</service> 

Then we are are still struck. Also the more recent OASIS spec doesn't seem to have these words about WSDL being generated for the service so it seems they are moving away from the service based WSDL. 

What we really need is a meta-data exchange protocol for a services but SCA doesn't say anything about this kind of thing and it's a bit late for that scale of change in 1.x. Some options.

1 - rely on hand generated WSDL in these cases
2 - create a utility that uses the runtime to dump out all of the service/bindings WSDL into a directory. To be used manually before the runtime is started for real.
3 - register a dummy service when the JMS case is in force that simply allows ?wsdl to be called. 

Haven't though about these (particularly 2 & 3) in detail but posting this to see if others have thought about it or have other suggestions. 

Simon

> WSDL Generation does not respect all binding.ws entries
> -------------------------------------------------------
>
>                 Key: TUSCANY-2900
>                 URL: https://issues.apache.org/jira/browse/TUSCANY-2900
>             Project: Tuscany
>          Issue Type: Bug
>          Components: Java SCA Axis Binding Extension
>    Affects Versions: Java-SCA-1.4
>         Environment: Linux x86_64 Weblogic 9.2.3 JDK 1.5.0_12
>            Reporter: Dave Sowerby
>             Fix For: Java-SCA-1.5
>
>
> If I modify the the helloworld-ws-reference-jms's helloworldwsjms.composite file so that the service entry is as follows: 
> 	    <service name="HelloWorldService">
> 	        <interface.java interface="helloworld.HelloWorldService" />
>                 <binding.ws uri="jms:/queue.sample?transport.jms.ConnectionFactoryJNDIName=QueueConnectionFactory&amp;java.naming.factory.initial=org.apache.activemq.jndi.ActiveMQInitialContextFactory&amp;java.naming.provider.url=tcp://localhost:61619"/>
>                 <binding.ws /> 
>         </service>
> I find that the generated ?wsdl does not include the binding for the JMS SOAP Endpoint - only the new <binding.ws />
> Also, there is no obvious way for accessing the original helloworld-ws-reference-jms service's generated WSDL.

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