解决方案 »

  1.   

    1、普通类就可以了,不要放在包中(也可以放进包中)
    2、下载axis2,并把axis2放在tomcat_home\webapps下,再在axis2\WEB-INF建立Pojo文件夹,并把1中所编译的class放进该文件夹下
    3、启动tomcat,访问http://localhost:8080/axis2/services/listServices,你写的接口就应该会出现了
      

  2.   

    如何你将类放在包中,就不能按上述2步骤来了,你需要打成**.aar包放进axis2\WEB-INF\services下
      

  3.   

    建议使用CXF框架,发布服务的步骤是
    第一步:
    <servlet>
    <servlet-name>cxfServlet</servlet-name>
    <servlet-class>org.apache.cxf.transport.servlet.CXFNonSpringServle</servlet-class><!--如果使用了spring,则使用-CXFServlet->
    </servlet>
    <servlet-mapping>
    <servlet-name>cxfServlet</servlet-name>
    <url-pattern>/services/*</url-pattern>
    </servlet-mapping>
    将上面信息配置到web.xml中
    第二步:
    @WebService
    public interface SimpleWebservice { public String sayHello(String name);
    }
    public class SimpleWebserviceImpl implements SimpleWebservice { /* (non-Javadoc)
     * @see org.jbeer.sample.bean.service.SimpleWebservice#sayHello(java.lang.String)
     */
    @Override
    public String sayHello(String name) {
     
    return "hello "+name;
    }}
    第三步:
    JaxWsServerFactoryBean factory = new JaxWsServerFactoryBean();
    factory.setAddress(“SimpleWebservice”);
    factory.setServiceBean(new SimpleWebserviceImpl());
    factory.setServiceClass(SimpleWebservice.class);
    factory.create();如果你当前项目使用了spring,那么使用起来将会更简单了,直接通过spring配置,就可以发布一个服务了。具体你可以百度一下 spring cxf
      

  4.   

    直接定义一个借口罗  使用注释方法 将服务段的信息@WebService注释中 例如:以下代码:package org.jsoso.jws.server;  
      
    import java.util.ArrayList;  
    import javax.jws.WebMethod;  
    import javax.jws.WebParam;  
    import javax.jws.WebResult;  
    import javax.jws.WebService;  
    import javax.jws.WebParam.Mode;  
    import javax.jws.soap.SOAPBinding;  
    /  
     * 提供WebService服务的类  
     */  
    @WebService(name="Example", targetNamespace="http://www.jsoso.com/wstest", serviceName="Example")  
    @SOAPBinding(style=SOAPBinding.Style.RPC)  
    public class Example {  
        private ArrayList<Person> persons = new ArrayList<Person>();;  
        /** 
         *  
         * 返回一个字符串 
         * @param userName 
         * @return 
         */  
        @WebMethod(operationName="toSayHello",action="sayHello",exclude=false)  
        @WebResult(name="returnWord")//自定义该方法返回值在WSDL中相关的描述  
        public String sayHello(@WebParam(name="userName")String userName) {  
            return "Hello:" + userName;  
        }  
      
        /** 
         * web services 方法的返回值与参数的类型不能为接口 
         * @param person 
         * @return 
         * @throws HelloException 
         */  
        @WebMethod(operationName="sayHello", action="sayHello")  
        @WebResult(partName="personList")  
        public Person[] sayHello(@WebParam(partName="person", mode=Mode.IN)Person person,   
                String userName) throws HelloException {  
            if (person == null || person.getName() == null) {  
                throw new HelloException("说hello出错,对像为空。。");  
            }  
            System.out.println(person.getName() + " 对 " + userName + " 说:Hello,我今年" + person.getAge() + "岁");  
            persons.add(person);  
            return persons.toArray(new Person[0]);  
        }  
    }  
      

  5.   

    jws是JDK定义的 webservice标准,基于SOAP的,还有JSR基于REST的,都可以通过注解实现
    如果考虑开源框架,Asix和xfire是不错的选择
      

  6.   

    用过XFire,用myeclipse创建还比较好用,你可以试试。