soap请求过程和通过注解修改wsdl文件
一、SOAP请求过程 |
二、通过注解修改WSDL文件内容 |
代码: package cn.zengfansheng.webservice.publish;
import javax.jws.WebMethod;
import javax.jws.WebParam;
import javax.jws.WebResult;
import javax.jws.WebService;
import javax.xml.ws.Endpoint;
/**
* @WebService 将 Java 类标记为实现 Web Service,或者将 Java 接口标记为定义 Web Service 接口
*/
@WebService(serviceName="MyHello",targetNamespace="http://www.zengfansheng.cn")
//serviceName:修改wsdl暴露service节点name的值
//targetNamespace:修改wsdl中definitions节点targetNamespace的值(默认是发布服务端包名的倒序)
public class Hello {
public static void main(String[] args) {
/**
* 参数1:绑定服务的发布地址
*
* 参数2:提供服务的实例
*/
String address = "http://localhost:8080/sayhello";
Endpoint.publish(address, new Hello());
}
@WebMethod(operationName="hacket")
//operationName:修改wsdl中operation节点中name属性的值
@WebResult(name="myReturn")
//name:修改?xsd=1中element中默认return改成myReturn
public String sayHello(
@WebParam(name="name")
//name:修改?xsd=1中参数名,默认为arg0,改成name,更具直观
String name) {
System.out.println("发布服务~~");
return "Hello," + name;
}
@WebMethod(exclude=true)
//该方法排除在wsdl中,也就是客户端不能调用此方法
public void haha(int i , char c){
}
} |