1
votes

I have a webservice configured like this.

<jaxws:endpoint 
    id="helloWorld"
    xmlns:hello="http://service.test.com/"
    serviceName="hello:MyServiceImplService"
    endpointName="hello:MyServiceImplPort" address="jms://"
    implementor="com.test.service.MyServiceImpl" >
        <jaxws:features>          
            <bean class="org.apache.cxf.feature.LoggingFeature" />      
            <bean class="org.apache.cxf.transport.jms.JMSConfigFeature">
                <property name="jmsConfig" ref="jmsConfig"/>
            </bean>
        </jaxws:features>
  </jaxws:endpoint>`

I want to have the cxf generate the wsdl for me. when the service is http, I can access the wsdl from a url like this http://localhost:8080/server/hello?wsdl, after I change the transport to jms, how do I access the wsdl? what's the jms message I need to send to get the wsdl. or I have to write the wsdl first and expose it through a regular http request. I am asking this because the client need to know the wsdl to get all the type and binding information to generate class. client should already know how to connect the queue.

1

1 Answers

0
votes

You can use commandline java2ws tool (see http://cxf.apache.org/docs/java-to-ws.html) passing it your implementation class. There is also a sample invocation from Ant script. It will generate WSDL which your client can use to generate client code.