自定义webService
2021-06-08 04:02
标签:target class 运行 客户端 form .com localhost public get 要生成一个wsdl,首先要有一个ws,建立一个简单的ws 要创建一个ws,只需要添加@webService注解即可。其余注解用法已写在注释中。运行后,访问服务发布的地址:http://localhost:9090/ws?wsdl 之后创建客户端: cmd运行wsimport命令后,将生成的java文件copy至客户端项目中。 url可以在配置文件中配置,以防路径改变。 自定义webService 标签:target class 运行 客户端 form .com localhost public get 原文地址:http://www.cnblogs.com/popcornya/p/7309581.htmlpackage com.bxw.server;
import javax.jws.WebMethod;
import javax.jws.WebParam;
import javax.jws.WebResult;
import javax.jws.WebService;
import javax.xml.ws.Endpoint;
/*
* 自定义ws服务, jdk1.6版本仅仅支持 soap1.1格式,jdk1.7及以上版本支持 soap1.2格式
* 发布ws服务只需要@WebService注解即可, 如果想要更好的可维护性,则可以通过注解来实现
* */
@WebService // 默认静态的方式是不能发布ws服务的
(
name="MyWebService1", // 服务实现类的名称
serviceName="MyWebServiceService1", // 默认在发布的服务实现者的名称后面添加Service
portName="MyWebServicePort1", // 服务类型的名称: 默认在 发布的服务实现者(MyWebService) 后面添加 port
targetNamespace="com.bxw.ws" // 发布ws服务的命名空间,此空间默认为当前服务包路径的 "倒写"此名称也是 wsimport 命令生成 java类时默认的包路径 -p
)
public class WebService1 {
@WebMethod(exclude=true) // 默认public方法可以发布为ws服务, 如果要排除则配置 exclude=true
public String saySth(String text){
return "say"+text;
}
//可以指定wsdl中的方法名,参数名和返回值
@WebMethod(operationName="saySth")
public @WebResult(name="result") String saySth(@WebParam(name="text") String text,@WebParam(name="age") String age){
return "say "+text+"|| age "+age;
}
public static void main(String[] args) {
String address = "http://localhost:9090/ws";
Endpoint.publish(address, new WebService1());
System.out.println("访问wsdl的地址:"+address+"?WSDL");
}
}
package com.bxw.client;
import java.net.MalformedURLException;
import java.net.URL;
import com.bxw.ws.MyWebService1;
import com.bxw.ws.MyWebServiceService1;
public class WebClient {
public static void main(String[] args) throws MalformedURLException {
URL url = new URL("http://localhost:9090/ws?WSDL");
MyWebServiceService1 service = new MyWebServiceService1(url);
MyWebService1 ss = service.getMyWebServicePort1();
System.out.println(ss.saySth("a", "1"));
}
}
上一篇:web前端开发——react入门