spring boot 框架中使用webservice

小白aaaaaaa 发布于 2016/12/01 10:50
阅读 4K+
收藏 0

自己写完一个demo后,测试时得不到wsdl文档,下面贴上自己的代码


首先是发布服务用的接口

package com.pudding.tcs.ctrip.testservice;

import javax.jws.WebMethod;
import javax.jws.WebService;

@WebService
public interface TestService {

@WebMethod
public String test(String param);
}


接下来是接口实现

package com.pudding.tcs.ctrip.testservice;

public class TestServiceImpl implements TestService {

@Override
public String test(String param) {
return "param="+param;
}

}

再接下来是配置类用于发布服务:

package com.pudding.tcs.ctrip.config;

import javax.xml.ws.Endpoint;

import org.apache.cxf.Bus;
import org.apache.cxf.bus.spring.SpringBus;
import org.apache.cxf.jaxws.EndpointImpl;
import org.apache.cxf.transport.servlet.CXFServlet;
import org.springframework.boot.context.embedded.ServletRegistrationBean;
import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.Configuration;

import com.pudding.tcs.ctrip.testservice.TestService;
import com.pudding.tcs.ctrip.testservice.TestServiceImpl;
@Configuration
public class TestConfig {

@Bean
public ServletRegistrationBean dispatcherServlet() {
return new ServletRegistrationBean(new CXFServlet(), "/soap/*");
}

@Bean(name = Bus.DEFAULT_BUS_ID)
public SpringBus springBus() {
return new SpringBus();
}

@Bean
public TestService testService() {
return new TestServiceImpl();
}

@Bean
public Endpoint endpoint() {
EndpointImpl endpoint = new EndpointImpl(springBus(), testService());
endpoint.publish("/test");
return endpoint;
}

}

这样配置完之后我启动服务器,在地址栏输入http://localhost:8080/soap/test?wsdl是可以显示wsdl文档的。可是现在输完地址浏览器没有任何反应。不知道问题出在了哪里。


还望各路神仙给小弟解一下

加载中
0
莲莲莲
发布服务直接使用SimpleJaxWsServiceExporter试试。
莲莲莲
回复 @小白aaaaaaa : 就是你的TestConfig,自己查查相关文档吧。
小白aaaaaaa
在哪个地方用啊?怎么用?
返回顶部
顶部