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 "Nick Gallardo (JIRA)" <ji...@apache.org> on 2007/03/19 22:01:32 UTC

[jira] Commented: (AXIS2-2347) When deploying using JAXWSMessageReceiver, the dynamic wsdl (?wsdl) should reflect the annotations

    [ https://issues.apache.org/jira/browse/AXIS2-2347?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel#action_12482221 ] 

Nick Gallardo commented on AXIS2-2347:
--------------------------------------

I'm guessing that this is related to GERONIMO-2988 opened by Lin today [1].  

The scenario here is an annotated class that's to be deployed as a JAX-WS service without a WSDL.  Since there's no WSDL, we need to generate one somehow for a ?WSDL request.

One way to do this would be to use the metadata APIs (org.apache.axis2.jaxws.description) to configure your service, then you can leverage the WsdlGenerator plugin at make a call to whatever JSR181/JAX-WS aware WSDL generation tool you look (like wsgen for instance).  Changing the existing Java2WSDL to handle this is a huge amount of work.  That's basically signing up for creating a complete 181/JAX-WS aware generation tool, which is more that I think anyone wants to do right now. 

Using that you could configure your service like so:

// The ServiceDescription *should* have all the required service metadata
ServiceDescription serviceDesc = DescriptionFactory.createServiceDescription(MyServiceImpl.class);

// Get the AxisService to add it to the ConfigurationContext so the request can be 
// handled appropriately
AxisService service = (serviceDesc.getEndpointDescriptions()[0] ).getAxisService();

// Get the associated WSDL Definition(s).  In some cases, there might be more than one WSDL document
// associated with a service endpoint (example: WSDL docs with imports)
List<WSDLDefinition> wsdls = servicesDesc.getWSDLDefinitions();

So, in this case, you would need to provide an implementation of the WsdlGenerator interface.  With that, you could setup the appropriate classpath and make a call out to your favorite WSDL gen tool.  

Note, the last call listed in the sample (getWSDLDefinitions()) doesn't yet exist.  Most of the code needed for this is available, but some slight restructuring of how the metadata APIs return that will be required.  We can use this JIRA to track these changes.


[1] - https://issues.apache.org/jira/browse/GERONIMO-2988

> When deploying using JAXWSMessageReceiver, the dynamic wsdl (?wsdl) should reflect the annotations
> --------------------------------------------------------------------------------------------------
>
>                 Key: AXIS2-2347
>                 URL: https://issues.apache.org/jira/browse/AXIS2-2347
>             Project: Axis 2.0 (Axis2)
>          Issue Type: Bug
>            Reporter: Davanum Srinivas
>         Assigned To: Nick Gallardo
>
> Do we update the existing java2wsdl...how do we handle this situation?
> thanks,
> dims

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