1、传统的Java Web Server创建过程
http://www.biliyu.com/article/986.html
1.1 创建项目
- 借鉴以上的教程,创建好Java Web Service项目,
- 在项目的Project Structure中设置module,选中modules中的Sources页卡中选中web/WEB-INF,并在该目录下创建classes、lib文件夹。
- paths页卡中选择Use module compile output path,并修改路径为刚刚创建的classes文件夹。
- Dependencies页卡中添加JARS or directories,并选择刚刚创建的lib文件夹,再弹出的窗口中选择jar Document
1.2 编写服务代码
```
package com.ubinavi.demo.service;
import javax.jws.WebMethod;
import javax.jws.WebParam;
import javax.jws.WebService;
@WebService
public class DemoService {
@WebMethod
public String login(@WebParam(name = "name") String name, @WebParam(name = "psw") String psw) {
return name = name + " login success";
}
}
编写服务代码时需要注意,在类名上添加@WebService注解,并在调用的接口上添加@WebMethod注解。如果接口需要参数,则需要给参数添加@WebParam注解,否则传递的参数为null.
1.3 发布Service
```java
package com.ubinavi.demo.service;
import javax.xml.ws.Endpoint;
public class Publish {
public static void main(String[] args) {
String address = "http://192.168.3.131:8081/service/demo";
Object o = new DemoService();
Endpoint.publish(address, o);
System.out.println("Publish success");
}
}
1.4 生成客户端代码及WSDL文件
选择客户端文件夹,右键 WebServices/generate java code from wsdl.
- Web service wsdl url:选择发布的address,并追加?wsdl后缀
- package prefix:选择生成代码所在的包
- Output mode:选择client
1.5 创建客户端测试代码
```
package com.ubinavi.demo.client;
import javax.xml.rpc.ServiceException;
import java.rmi.RemoteException;
public class Test {
public static void main(String[] args) {
DemoServiceServiceLocator locator = new DemoServiceServiceLocator();
try {
DemoService service = locator.getDemoServicePort();
String loginResult = service.login("Teemo", "12342");
System.out.println(loginResult);
} catch (ServiceException e) {
e.printStackTrace();
} catch (RemoteException e) {
e.printStackTrace();
}
}
}
1.6 移动端调用接口
- 采用Soap协议调用接口
- WebService的NameSpace和URL在wsdl文档中有描述,例如:
- SoapSerializationEnvelope切换Version(10/12)
- SoapSerializationEnvelope 的 dotNet选择false
2 通过Spring创建WebService
2.1 创建项目
- 安装Maven,并在IDEA中配置Maven的路径和相关参数
- 下载archetype模型,并存放于maven目录 https://my.oschina.net/baishi/blog/692463
- 创建Maven项目,不选择 Create from archetype选项,直接next,并填写GroupID 和 ArtifactID,然后Next到Finish
2.2 创建代码
https://www.zybuluo.com/K1999/note/466663
根据以上链接,一步步的创建Spring的代码
2.3 修改Spring Boot的Tomcat端口
https://www.mkyong.com/spring-boot/spring-boot-how-to-change-tomcat-port/