cxf webservice over jms,如何获取wsdl

时间:2013-08-20 16:30:04

标签: web-services jms cxf

我有一个像这样配置的webservice。

<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>`

我想让cxf为我生成wsdl。当服务是http时,我可以从像http://localhost:8080/server/hello?wsdl这样的URL访问wsdl,在我将传输更改为jms后,如何访问wsdl?什么是我需要发送以获取wsdl的jms消息。或者我必须首先编写wsdl并通过常规的http请求公开它。我问这个是因为客户端需要知道wsdl来获取所有类型和绑定信息以生成类。客户端应该已经知道如何连接队列。

1 个答案:

答案 0 :(得分:0)

您可以使用命令行java2ws工具(请参阅http://cxf.apache.org/docs/java-to-ws.html)将其传递给您的实现类。还有一个来自Ant脚本的示例调用。它将生成客户端可用于生成客户端代码的WSDL。