根据http://www.cnblogs.com/xdp-gacl/p/4259481.html 这个博客学习使用JDK发布WebService,发布的时候,程序中的("发布webservice成功!") 能够输出,控制台没有报错,但通过发布的URL无法访问。将URL改为localhost、127.0.0.1、0.0.0.0都试过也不行。使用netstat -ano 命令查看发布的端口,此端口没有被使用。
控制台的运行状态按钮在程序运行后红色一闪而过就变灰了我将我发布的过程发上来,请帮我看看问题出在哪,谢谢!
首先,定义接口,使用@WebService注解标注接口package me.gacl.ws;
import javax.jws.WebMethod;
import javax.jws.WebService;//使用@WebService注解标注WebServiceI接口
@WebService
public interface WebServiceI { //使用@WebMethod注解标注WebServiceI接口中的方法
@WebMethod
String sayHello(String name);
@WebMethod
String save(String name,String pwd);
}编写interface的实现类,使用@WebService注解标注实现类,实现接口中定义的所有方法。package me.gacl.ws;import javax.jws.WebService;//使用@WebService注解标注WebServiceI接口的实现类WebServiceImpl
@WebService
public class WebServiceImpl implements WebServiceI { @Override
public String sayHello(String name) {
System.out.println("WebService sayHello "+name);
return "sayHello "+name;
} @Override
public String save(String name, String pwd) {
System.out.println("WebService save "+name+", "+pwd);
return "save Success";
}
}使用Endpoint(终端)类发布webservice,http://172.30.24.17是我本机地址package me.gacl.ws.test;import javax.xml.ws.Endpoint;import me.gacl.ws.WebServiceImpl;//发布Web Servicepublic class WebServicePublish { public static void main(String[] args) {
//定义WebService的发布地址,这个地址就是提供给外界访问Webervice的URL地址,URL地址格式为:http://ip:端口号/xxxx
String address = "http://172.30.24.17:9005/WS_Server/Webservice";
//使用Endpoint类提供的publish方法发布WebService,发布时要保证使用的端口号没有被其他应用程序占用
Endpoint.publish(address , new WebServiceImpl());
System.out.println("发布webservice成功!");
}
}然后在WebServicePublish上右键 Run As Java Application,打开浏览器访问http://172.30.24.17:9005/WS_Server/Webservice和http://172.30.24.17:9005/WS_Server/Webservice?wsdl都不成功
控制台的运行状态按钮在程序运行后红色一闪而过就变灰了我将我发布的过程发上来,请帮我看看问题出在哪,谢谢!
首先,定义接口,使用@WebService注解标注接口package me.gacl.ws;
import javax.jws.WebMethod;
import javax.jws.WebService;//使用@WebService注解标注WebServiceI接口
@WebService
public interface WebServiceI { //使用@WebMethod注解标注WebServiceI接口中的方法
@WebMethod
String sayHello(String name);
@WebMethod
String save(String name,String pwd);
}编写interface的实现类,使用@WebService注解标注实现类,实现接口中定义的所有方法。package me.gacl.ws;import javax.jws.WebService;//使用@WebService注解标注WebServiceI接口的实现类WebServiceImpl
@WebService
public class WebServiceImpl implements WebServiceI { @Override
public String sayHello(String name) {
System.out.println("WebService sayHello "+name);
return "sayHello "+name;
} @Override
public String save(String name, String pwd) {
System.out.println("WebService save "+name+", "+pwd);
return "save Success";
}
}使用Endpoint(终端)类发布webservice,http://172.30.24.17是我本机地址package me.gacl.ws.test;import javax.xml.ws.Endpoint;import me.gacl.ws.WebServiceImpl;//发布Web Servicepublic class WebServicePublish { public static void main(String[] args) {
//定义WebService的发布地址,这个地址就是提供给外界访问Webervice的URL地址,URL地址格式为:http://ip:端口号/xxxx
String address = "http://172.30.24.17:9005/WS_Server/Webservice";
//使用Endpoint类提供的publish方法发布WebService,发布时要保证使用的端口号没有被其他应用程序占用
Endpoint.publish(address , new WebServiceImpl());
System.out.println("发布webservice成功!");
}
}然后在WebServicePublish上右键 Run As Java Application,打开浏览器访问http://172.30.24.17:9005/WS_Server/Webservice和http://172.30.24.17:9005/WS_Server/Webservice?wsdl都不成功
解决方案 »
- ResultSet的问题,beforeFirst()
- 大虾们,跪求解答:java如何从不同网段的数据库上获取数据后,再进行打印
- 我想问问这个程序怎么改能让它在网页上输出东西(在网页的一个table内输出)?大家帮帮我 很急的~~~~在线一直等!!!直到解决!!!!!
- 一个关于Struts Action的小框架, 请高手指点一下
- 奇怪。。。获得了css的值,显不出来
- 在a.jsp页面发送一个字符串到Servlet,经过Servlet处理后再将处理后的字符串返回到a.jap
- 大侠救命啊:org.apache.jasper.JasperException: 流已被关闭 这是什么原因造成的啊
- tomcat装在d:\tomcat4.1下,我的程序在d:\resouce\java\examples\csx_leony,如何访问?谢谢
- 请教一个OutputStream 问题
- 谁有JSP的关于文件上传的示范程序??!
- 表格通过查询条件动态显示数据
- 如何解决org.apache.solr.client.solrj.SolrServer 无法在springmvc中注入
尝试了一下,一样的结果
而且奇怪的是,那个服务器运行状态的按钮就直接灰掉了。我在想是不是这个原因
@WebService(name = "HelloService", targetNamespace = "http://controller.maven.com/")
public interface IHello {
@RequestWrapper(localName="getName",className="com.maven.controller.getName")
public String getName(String name);
}@WebService
public class Hello implements IHello{
@Override
public String getName(String name) {
System.out.println("�ӿڱ�����");
return "hello:" + name;
}}public class TestServ {
public static void main(String[] args) {
IHello hello = new Hello();
Endpoint.publish("http://localhost:8080/test", hello);
System.out.println("�����ɹ�");
}
}
之前写的一个,你试下
你将这代码放在main方法的最后面System.in.read();
这样在代码执行完服务不会停止,只有你在控制台按动键盘才会停止服务
但是当我在原来的项目里面,再次执行的时候,就不成功,按钮运行后就变灰了,加了System.in.read();后没变灰,但是无效
控制台没异常输出