我初学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)
请各位指点一下!