标准JWS注解参考

javax.jws.WebService


描述

作用于Class。用于描述一个JWS文件实现一个webservice时候的细节。

属性

  • name(String,非必需):webservice的名字。映射为WSDL文件中的元素。在JWS文件中的默认值是Java class的非全路径名称。
  • targetNamespace(String,非必需):从这个webservice生成的WSDL和XML元素的XML命名空间。默认值是通过JAX-RPC规范指定的。
  • serviceName(String,非必需):这个webservice的service名字。映射为WSDL文件中的元素。默认值事Java class在JWS文件中的非全路径名称,再加上Service这个字符串。
  • wsdlLocation(String,非必需):一个pre-defined WSDL文件的相对或绝对URL。如果你指定了这个属性,那么jwscAnt任务将不生成WSDL文件,并且会返回一个错误,如果JWS文件和WSDL文件中的port type和bindings不一致的话。(注意:wsdlcAnt任务在从一个WSDL生成endpoint接口JWS文件的时候使用这个属性。通常来说,用户从来不会使用这个属性在他们自己的JWS文件中)
  • endpointInterface(String,非必需):已经存在的service endpoint接口文件的全名。如果你指定了这个属性,那就意味着你已经创建了endpoint接口文件,并且它存在于你的CLASSPATH下。

示例

@WebService(name="JMSTransportPortType",
    serviceName="JMSTransportService",
    targetNamespace="http://example.org")

javax.jws.WebMethod


描述

作用于Method。指定一个method被暴露作为webservice的一个公共的操作。你必须明确地使用这个注解来暴露一个method;如果你没有指定这个注解,那么这个method默认是不被暴露的。

属性

  • operationName(String,非必需):operation的名字。映射为WSDL文件中的元素。默认值事这个方法的名称。
  • action(String,非必需):这个operation的action。对于SOAP绑定来说,这个属性的值决定了在SOAP消息中的SOAPAction header的值。

示例

@WebMethod(operationName="echoComplexType")
public BasicStruct echoStruct(BasicStruct struct)
{
    // ...
}

javax.jws.Oneway


描述

作用于Method。指定一个method只有输入参数,没有返回值。这个注解必须和@WebMethod注解联合使用。在不是void的带有任何返回值的方法上使用,或者使用一个Holder类作为输入参数,或者抛出受检异常,都会出现错误。这个注解没有任何属性。

示例

@WebMethod()
@Oneway()
public void helloWorld(String input) {
    ...
}

javax.jws.WebParam


描述

作用于Parameter。在webservice的输入参数的operation和生成的WSDL文件的元素之间自定义映射。也被用来指定参数的行为。

属性

  • name(String,非必需):在WSDL文件中的参数名称。对于RPC风格的webservice来说,name映射为元素的名称来代表这个参数。对于document风格的webservice来说,name是XML元素的local name来代表这个参数。默认值是方法参数的名字。
  • targetNamespace(String,非必需):参数的XML命名空间。这个值只在document风格的webservice使用,从而参数映射为XML元素。默认值是这个webservice的targetNamespace。
  • mode(enum,非必需):参数流动的方向。合法的值是:WebParam.Mode.INWebParam.Mode.OUTWebParam.Mode.INOUT
    默认的值是WebParam.Mode.IN。如果你指定了WebParam.Mode.OUTWebParam.Mode.INOUT,那么参数的数据类型必须是Holder或者Holder的扩展。详细信息,请看JAX-RPC规范。
    WebParam.Mode.OUTWebParam.Mode.INOUT模式只支持RPC风格的webservice,或者是映射到header上的参数。
  • header(boolean,非必需):指定在SOAP header上可以找到该参数的值。默认情况下,参数是在SOAP body中的,合法的值是truefalse。默认值是false

示例

@WebMethod()
public int echoInt(
    @WebParam(name="IntegerInput", 
        targetNamespace="http://example.org/complex")
    int input)
{
    // ...
}

你可能感兴趣的:(标准JWS注解参考)