2013-08-20 2 views
1

У меня есть веб-служба, настроенная следующим образом.cxf webservice over jms, как получить wsdl

<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, я могу получить доступ к wsdl из URL-адреса, такого как http://localhost:8080/server/hello?wsdl, после того как я изменил транспорт на jms, как мне получить доступ к wsdl? что сообщение jms мне нужно отправить, чтобы получить wsdl. или мне нужно сначала написать wsdl и разоблачить его с помощью обычного HTTP-запроса. Я спрашиваю об этом, потому что клиент должен знать wsdl, чтобы получить все данные типа и привязки для генерации класса. клиент должен уже знать, как подключить очередь.

ответ

0

Вы можете использовать инструмент командной строки java2ws (см. http://cxf.apache.org/docs/java-to-ws.html), передавая ему свой класс реализации. Существует также пример вызова из скрипта Ant. Он будет генерировать WSDL, который ваш клиент может использовать для генерации кода клиента.

Смежные вопросы