[webservice] 11_soap请求过程和通过注解修改wsdl文件

Android 4.0

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){
        
    }
}