最近项目需要使用WebSerivce、以前没接触过、刚才网上down了点资料跟着写个服务端的简单demo、发布报错了、何解?
- Java code
@WebServicepublic interface IHelloService { Customer selectMaxAgeStudent(Customer c1, Customer c2); Customer selectMaxLongNameStudent(Customer c1, Customer c2);}
- Java code
public class HelloServiceImpl implements IHelloService { @Override public Customer selectMaxAgeStudent(Customer c1, Customer c2) { if (c1.getBirthday().getTime() > c2.getBirthday().getTime()) { return c1; } else { return c2; } } @Override public Customer selectMaxLongNameStudent(Customer c1, Customer c2) { if (c1.getName().length() > c2.getName().length()) { return c1; } else { return c2; } }}
- Java code
@XmlRootElement(name = "customer")public class Customer { private long id; private String name; private Date birthday;。。。。。。get set。。。
- Java code
public class SoapServer { public static void main(String[] args) { Endpoint.publish("http://127.0.0.1:8080/helloService", new HelloServiceImpl()); }
- Java code
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:92) at javax.xml.ws.Endpoint.publish(Endpoint.java:170) at com.gsoft.server.util.SoapServer.main(SoapServer.java:26)
------解决方案--------------------
啊哦、我也去学下webservice去
------解决方案--------------------
LZ你是AXIS2还是XFIRE啊
------解决方案--------------------
看不懂哦,为什么不用Eclipse去生成呢?只用导入一些Axis的jar包就Ok了。
------解决方案--------------------
在jdk1.6之前要发布Webservcie需要继承axis、XFire、CXF等框架。而jdk1.6自己实现了JAX-WS规范,可以用最简单的方式发布Webservice,楼主可以用"jdk1.6 Webservice"的关键字去Google一下,会后很多例子,希望能帮助你。