jiangui1988 2010-08-25 10:48
浏览 302
已采纳

试用main方法发布webservice遇到的问题

我初学webservice,按照书上的例子自己敲了一个Demo。
如下:

package server.soap.bobo.net.bean;

import javax.xml.bind.annotation.XmlRootElement;

@XmlRootElement(name = "Student")
public class Student
{
    private String name;
    private int age;
    private String sex;
    public String getName()
    {
        return name;
    }
    public void setName(String name)
    {
        this.name = name;
    }
    public int getAge()
    {
        return age;
    }
    public void setAge(int age)
    {
        this.age = age;
    }
    public String getSex()
    {
        return sex;
    }
    public void setSex(String sex)
    {
        this.sex = sex;
    }
}
package server.soap.bobo.net.service;

import javax.jws.WebService;

import server.soap.bobo.net.bean.Student;

@WebService
public interface IStudentService
{
    public Student selectMaxAgeStudent(Student stu1 , Student stu2);
}

实现类:

package server.soap.bobo.net.service.impl;

import server.soap.bobo.net.bean.Student;
import server.soap.bobo.net.service.IStudentService;

public class StudentServiceImpl implements IStudentService
{
    @Override
    public Student selectMaxAgeStudent(Student stu1, Student stu2)
    {
        if (stu1.getAge() >= stu2.getAge())
        {
            return stu1;
        }
        else
        {
            return stu2;
        }
    }
    
}

 发布服务:

package server.soap.bobo.net.server;


import javax.xml.ws.Endpoint;

import server.soap.bobo.net.service.impl.StudentServiceImpl;


public class SoapServer
{
    public static void main(String[] args)
    {
        Endpoint.publish("http://127.0.0.1:8040/StudentService" , new StudentServiceImpl());
    }
}

 以上代码是在MyEclipse中编辑的,使用main方法发布,却报NullPointerException:

Exception in thread "main" java.lang.NullPointerException
    at com.sun.xml.internal.ws.server.EndpointFactory.getWsdlLocation(EndpointFactory.java:385)
    at com.sun.xml.internal.ws.transport.http.server.EndpointImpl.getPrimaryWsdl(EndpointImpl.java:265)
    at com.sun.xml.internal.ws.transport.http.server.EndpointImpl.createEndpoint(EndpointImpl.java:208)
    at com.sun.xml.internal.ws.transport.http.server.EndpointImpl.publish(EndpointImpl.java:138)
    at com.sun.xml.internal.ws.spi.ProviderImpl.createAndPublishEndpoint(ProviderImpl.java:90)
    at javax.xml.ws.Endpoint.publish(Endpoint.java:170)
    at server.soap.bobo.net.server.SoapServer.main(SoapServer.java:13)

 请各位指点一下!

  • 写回答

3条回答 默认 最新

  • xyddz 2010-08-25 12:07
    关注

    你发布服务得要服务器是吧,myeclipse中的ws的框架是xfire,好像只有cxf才能在main里面自定义服务路径吧.去下个CXF,把里面的全部jar粘到你项目的lib中.cxf内置了一个服务器jetty.可以直接通过运行main方法发布服务

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
查看更多回答(2条)

报告相同问题?

悬赏问题

  • ¥30 这是哪个作者做的宝宝起名网站
  • ¥60 版本过低apk如何修改可以兼容新的安卓系统
  • ¥25 由IPR导致的DRIVER_POWER_STATE_FAILURE蓝屏
  • ¥50 有数据,怎么建立模型求影响全要素生产率的因素
  • ¥50 有数据,怎么用matlab求全要素生产率
  • ¥15 TI的insta-spin例程
  • ¥15 完成下列问题完成下列问题
  • ¥15 C#算法问题, 不知道怎么处理这个数据的转换
  • ¥15 YoloV5 第三方库的版本对照问题
  • ¥15 请完成下列相关问题!