spring 发布 Jax-Ws Service
Posted 如若
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了spring 发布 Jax-Ws Service 相关的知识,希望对你有一定的参考价值。
1、maven依赖:
<dependency> <groupId>org.springframework.ws</groupId> <artifactId>spring-ws-core</artifactId> <version>2.1.4.RELEASE</version> </dependency> <dependency> <groupId>org.jdom</groupId> <artifactId>jdom</artifactId> <version>1.1</version> </dependency> <dependency> <groupId>jaxen</groupId> <artifactId>jaxen</artifactId> <version>1.1.6</version> </dependency>
2、编写需要发布的JavaBean
import javax.jws.WebMethod; import javax.jws.WebService; import org.springframework.stereotype.Component; @Component @WebService(serviceName = "myService") public class HolidayEndpoint { @WebMethod public String say(String name) { return "hello,"+name; } }
3、配置 web.xml:
<context-param> <param-name>contextConfigLocation</param-name> <param-value>classpath:beans.xml</param-value> </context-param> <listener> <listener-class>org.springframework.web.context.ContextLoaderListener</listener-class> </listener>
4、Spring的配置文件beans.xml
<bean class="org.springframework.remoting.jaxws.SimpleJaxWsServiceExporter">
<property name="baseAddress" value="http://localhost:8081/services/"/>
</bean>
服务器:tomcat 端口号:8081
wsdl:http://localhost:8081/services/myService?wsdl
说明及注意
(1)、通过http://localhost:8081/services/myService?wsdl 访问webservice部署描述符
还有自动生成的xsd:http://localhost:8081/services/myService?xsd=1 。
(2)、@SOAPBinding(parameterStyle=ParameterStyle.WRAPPED)
必须添加,否则会报错;另外,如果发布的方法只有一个参数可以使用@SOAPBinding(parameterStyle=ParameterStyle.BARE)。
(3)、@WebService(serviceName = "myService") 服务名称与Spring配置的bean一致。
(4)、webservice的端口设置不要与服务器一样,这一点非常重要否则服务器应用与webservice服务冲突会产生HTTP404错误。
以上是关于spring 发布 Jax-Ws Service 的主要内容,如果未能解决你的问题,请参考以下文章
Jax-ws 开发webService ,并使用spring注入service类中遇到 空指针