2 Replies Latest reply on Jun 11, 2007 4:59 PM by Alex Lavrenov

    WebMethod with name

    Alex Lavrenov Newbie

      I have method with name "Update" in my WebService class and unable to deploy it. Once I rename it ( "Update1"?), everything runs fine.


      More info:

      I am getting when deploying:

      2007-06-10 12:22:39,409 ERROR [org.jboss.ws.core.server.ServiceEndpointDeployer]
      Cannot start service endpoint org.jboss.ws.WSException: param1 is not a valid property on class com.newxt.ws.jaxws.Update
      at com.sun.xml.bind.v2.runtime.JAXBContextImpl.getElementPropertyAccesso
      r(JAXBContextImpl.java:816)

      For this class:

      package com.newxt.ws;

      import javax.jws.WebMethod;
      import javax.jws.WebParam;
      import javax.jws.WebService;

      @WebService
      public class Echo {
      @WebMethod
      public String echo(String input)
      {
      return input;
      }

      @WebMethod
      public String Update(
      @WebParam (name="param1") String param1)
      {
      return param1;
      }

      }

        • 1. Re: WebMethod with name
          Rahul Phadnis Newbie

          Are you doing top down development (starting with WSDL) or bottom up development (starting with service implementation)?

          There may not be an "update" method in your WSDL ? Or the input request may not have a param1 defined.

          The stack trace does seem to indicate that the Update java object does not have a field named "param1" or the associated setters and getters are missing.

          Rahul

          • 2. Re: WebMethod with name
            Alex Lavrenov Newbie

            I am doing bottom up development (starting with service implementation), so everything should work. This is very strange, because, like I said, just renaming method name in java source code solves the problem. Just wondering, what are the other "prohibited" method names...

            I am using jboss 4.0.5.GA and JbossWS 1.2.1.

            Here is my web.xml (nothing surprising, but just in case):

            <?xml version="1.0" encoding="UTF-8"?>
            <!DOCTYPE web-app PUBLIC "-//Sun Microsystems, Inc.//DTD Web Application 2.3//EN"
            "http://java.sun.com/dtd/web-app_2_3.dtd">
            <web-app>

            <servlet-name>Echo</servlet-name>
            <servlet-class>com.newxt.ws.Echo</servlet-class>

            <servlet-mapping>
            <servlet-name>Echo</servlet-name>
            <url-pattern>/Echo</url-pattern>
            </servlet-mapping>
            </web-app>