spring jws开发 webservice

本文介绍了一个简单的WebService实现方式,使用了@WebService和@SOAPBinding注解,并提供了Spring配置示例及部署描述符的访问路径。
及其简单:

@WebService(serviceName = "LoginService")
@SOAPBinding(parameterStyle=ParameterStyle.BARE)
public class LoginServiceEndpoint {
@WebMethod
public String helloworld(String name) {
return "hello:" + name;
}
}
<bean class="org.springframework.remoting.jaxws.SimpleJaxWsServiceExporter">
<property name="baseAddress" value="http://localhost:9999/" />
</bean>
<bean id="loginServiceEndpoint" class="com.doze.data.service.LoginServiceEndpoint">
</bean>

通过http://localhost:9999/LoginService?wsdl访问webservice部署描述符
还有自动生成的xsd:http://localhost:9999/LoginService?xsd=1

@SOAPBinding(parameterStyle=ParameterStyle.BARE)必须添加,否则会报错。
### 使用 Spring Boot 创建 WebService API 示例教程 #### 项目初始化 为了创建一个基于Spring Boot的WebService应用,首先需要搭建基础环境并配置必要的依赖项。通过Maven命令可以快速生成一个新的Spring Boot项目: ```bash $ mvn archetype:generate -DgroupId=com.example -DartifactId=api-demo -DarchetypeArtifactId=maven-archetype-quickstart -DinteractiveMode=false ``` 此操作会依据给定参数自动生成项目的初始结构[^2]。 #### 添加依赖到 `pom.xml` 为了让应用程序支持Web服务功能,需向`pom.xml`文件中加入特定于CXF和MyBatis的支持库。以下是部分可能用到的关键依赖声明: ```xml <dependencies> <!-- CXF Dependency --> <dependency> <groupId>org.apache.cxf</groupId> <artifactId>cxf-spring-boot-starter-jaxws</artifactId> <version>${cxf.version}</version> </dependency> <!-- MyBatis Dependencies (if needed) --> <dependency> <groupId>org.mybatis.spring.boot</groupId> <artifactId>mybatis-spring-boot-starter</artifactId> <version>${mybatis.springboot.version}</version> </dependency> ... </dependencies> ``` 上述片段展示了如何引入Apache CXF作为JAX-WS标准的具体实现以及可选地集成MyBatis用于数据库访问层的设计[^1]。 #### 编写 Web Service 接口定义 接下来定义实际对外暴露的服务契约。这通常涉及到编写带有@WebService注解标记的Java接口及其对应的实现类。下面是一个简单的例子展示了一个名为`DemoService`的服务接口与其方法签名: ```java package com.sinqi.webService; import javax.jws.WebService; // 指明该接口代表的是一个Web service,并指定其名称与命名空间 @WebService(name = "DemoService", targetNamespace = "http://webService.sinqi.com") public interface DemoService { // 提供两个简单的方法:一个是接受字符串参数返回问候语;另一个无参仅作告别之用 public String sayHello(String user); public String sayBye(); } ``` 对于这个接口的实际业务逻辑,则可以在另一处单独编写的实现类里完成[^4]。 #### 启动器类修改 最后一步是在启动程序的地方注册所创建的服务实例。一般情况下这是指含有@SpringBootApplication标注的应用入口点。这里假设已有一个这样的类存在——比如之前的`DemoApplication.java`: ```java package com.et.webservice.server; import org.springframework.boot.SpringApplication; import org.springframework.boot.autoconfigure.SpringBootApplication; @SpringBootApplication public class DemoApplication { public static void main(String[] args) { SpringApplication.run(DemoApplication.class, args); } } ``` 如果要发布刚才提到的那个`DemoService`,则还需要额外做一些工作来确保它能被正确加载和服务化。具体做法取决于选用的技术栈细节,但对于大多数场景来说,只需保证实现了相应接口的对象能够成为Spring容器管理下的bean即可。
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值