webservice--用注解修改WSDL内容

用注解修改WSDL内容

WebService的注解都位于javax.jws包下:

@WebService-定义服务,在public class上边

targetNamespace:指定命名空间

name:portType的名称

portName:port的名称

serviceName:服务名称

endpointInterface:SEI接口地址,如果一个服务类实现了多个接口,只需要发布一个接口的方法,可通过此注解指定要发布服务的接口。

@WebMethod-定义方法,在公开方法上边

       operationName:方法名

       exclude:设置为true表示此方法不是webservice方法,反之则表示webservice方法,默认是false

@WebResult-定义返回值,在方法返回值前边

       name:返回结果值的名称

@WebParam-定义参数,在方法参数前边

       name:指定参数的名称

作用:

通过注解,可以更加形像的描述Web服务。对自动生成的wsdl文档进行修改,为使用者提供一个更加清晰的wsdl文档。

当修改了WebService注解之后,会影响客户端生成的代码。调用的方法名和参数名也发生了变化


package cn.itcast.ws.jaxws.ws;

import javax.jws.WebMethod;
import javax.jws.WebParam;
import javax.jws.WebResult;
import javax.jws.WebService;
import javax.xml.ws.BindingType;
import javax.xml.ws.soap.SOAPBinding;

/**
 * 
 * 

Title: WeatherInterfaceImpl.java

*

Description:SEI实现类

*/ @WebService( targetNamespace="http://service.cn.itcast", name="WeatherWSSoap", portName="WeatherWSSoapPort", serviceName="WeatherWS" )//@WebService表示该类是一个服务类,需要发布其中的public的方法 @BindingType(SOAPBinding.SOAP12HTTP_BINDING) public class WeatherInterfaceImpl implements WeatherInterface { @WebMethod( operationName="getWeather", exclude=false ) @Override public @WebResult(name="result")String queryWeather(@WebParam(name="cityName")String cityName) { System.out.println("from client..."+cityName); String weather = "晴"; return weather; } }


你可能感兴趣的:(JavaEE,webservice)