在哪里包括@ Webresult,@ WebMethod等

时间:2015-09-11 10:35:32

标签: java eclipse web-services jax-ws rad

我已经通过RAD(eclipse)创建了一个JaX Webservice,我能够将@WebParam注释与我的函数参数一起使用,但我也想使用@webresult等但不知道我应该在哪里指定它们,在谷歌我有接口,但在这里我只有类和委托类。

我的班级是

       public class GetFPDDataClass {

         public String GetFPDDataInput(String PolicyNumber)
         {

            return PolicyNumber;
         }

        }

这是我的委托类

   @WebService (targetNamespace="fpd",   serviceName="GetFPDDataClassService", portName="GetFPDDataClassPort")
 public class GetFPDDataClassDelegate{

   fpd.GetFPDDataClass _getFPDDataClass = null;
     public String GetFPDDataInput (@WebParam(name="PolicyNumber") String PolicyNumber) {
      return _getFPDDataClass.GetFPDDataInput(PolicyNumber);
   }

    public GetFPDDataClassDelegate() {
        _getFPDDataClass = new fpd.GetFPDDataClass(); }

      }

1 个答案:

答案 0 :(得分:5)

@WebResult@WebMethod都在方法级别设置。

@WebResult用于自定义表示返回值的XML元素的名称。

@WebMethod用于标记向Web服务客户端公开的业务方法。默认情况下,如果未实现Web服务接口,则会公开类中的所有公共方法。

示例:

 @WebMethod
 @WebResult(name="hellomessage")
 public String getHello() {
     ....
}

更新:

如果我没有@WebResult,我会看到以下xml:

<ns2:getHelloResponse>
    <return>hello fff</return>
</ns2:getHelloResponse>

@WebResult

<ns2:getHelloResponse>
   <hellomessage>hello fff</hellomessage>
 </ns2:getHelloResponse>