【WebService学习过程记录(二)】Java6+Servlet+tomcat发布HelloWord
2016-08-23 09:43
423 查看
学习网址:Java6 WebService的发布 ; java
调用webservice的各种方法总结
模仿实例,遇见问题记录
1、eclipse建立Dynamic Web Project项目2、编写webService服务
[java] view
plain copy
print?
package lavasoft.server;
import javax.jws.WebService;
/**
* Java开发的WebService服务端
*/
@WebService
public class JavaWebService {
/**
* Web服务中的业务方法
* @return 一个字符串
*/
public String doSomething(String username) {
return username + " hello!";
}
public String doHello() {
return "XFire hello!";
}
}
3、开发发布服务的Servlet,为了通用性,最好选择GenericServlet来继承
[java] view
plain copy
print?
package lavasoft.servlet;
import lavasoft.server.JavaWebService;
import javax.servlet.*;
import javax.xml.ws.Endpoint;
import java.io.IOException;
/**
* 发布Java WebService的Servlet
*/
public class WSServlet extends GenericServlet {
private static final long serialVersionUID = 1L;
@Override
public void init(ServletConfig servletConfig) throws ServletException {
super.init(servletConfig);
System.out.println("准备启动WebService服务");
//发布一个WebService
Endpoint.publish("http://localhost:8888/javaws/JavaWebService", new JavaWebService());
System.out.println("已成功启动WebService服务");
}
public void service(ServletRequest servletRequest, ServletResponse servletResponse) throws ServletException, IOException {
System.out.println("此Servlet不处理任何业务逻辑,仅仅用来发布一个Web服务");
}
}
4、配置web.xml
[html] view
plain copy
print?
<?xml version="1.0" encoding="UTF-8"?>
<web-app xmlns="http://java.sun.com/xml/ns/javaee"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://java.sun.com/xml/ns/javaee
http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd"
version="2.5">
<welcome-file-list>
<welcome-file>index.jsp</welcome-file>
</welcome-file-list>
<servlet>
<servlet-name>WSServlet</servlet-name>
<servlet-class>lavasoft.servlet.WSServlet</servlet-class>
<load-on-startup>1</load-on-startup>
</servlet>
<servlet-mapping>
<servlet-name>WSServlet</servlet-name>
<url-pattern>/servlet/WSServlet</url-pattern>
</servlet-mapping>
</web-app>
注意:
<load-on-startup>1</load-on-startup>,这样写的目的是Servlet能伴随容器的启动在第一时间加载。以便服务能尽可能早的发布,否则,只有在第一次请求该Servlet的时候,才会被加载到容器。
web.xml配置与java文件所在包要一致
发布端口与tomcat端口最好不要重复
5、初始页index.jsp
[java] view
plain copy
print?
<%@ page language="java" contentType="text/html; charset=utf-8"%>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html>
<head>
<title>展示</title>
</head>
<body>
<div>
<h1>这是一个测试java WebService发布服务的例子</h1>
<a href="http://localhost:8888/javaws/JavaWebService">点此处访问WSDL</a>
</div>
</body>
</html>
6、启动Tocmat浏览器中输入:http://localhost/JavaWebService/ 成功访问即可
(我的tomcat没有端口)
7、客户端调用
建立一个简单的空项目,一个类
[java] view
plain copy
print?
import java.net.URL;
import org.codehaus.xfire.client.Client;
public class XFireTest {
public static void main(String[] args) {
try {
Client c = new Client(new URL(
"http://localhost:8888/javaws/JavaWebService?wsdl"));
Object[] results = c.invoke("doHello", new Object[0]);
System.out.println(results.length);
for (Object one : results) {
System.out.println("1 结果是:" + one);
}
} catch (Exception e) {
e.printStackTrace();
}
}
}
运行看是否可以成功访问? 成功即可
问题记录:
访问时的传参我还有点问题,没有运行成功
调用webservice的各种方法总结
模仿实例,遇见问题记录
1、eclipse建立Dynamic Web Project项目2、编写webService服务
[java] view
plain copy
print?
package lavasoft.server;
import javax.jws.WebService;
/**
* Java开发的WebService服务端
*/
@WebService
public class JavaWebService {
/**
* Web服务中的业务方法
* @return 一个字符串
*/
public String doSomething(String username) {
return username + " hello!";
}
public String doHello() {
return "XFire hello!";
}
}
3、开发发布服务的Servlet,为了通用性,最好选择GenericServlet来继承
[java] view
plain copy
print?
package lavasoft.servlet;
import lavasoft.server.JavaWebService;
import javax.servlet.*;
import javax.xml.ws.Endpoint;
import java.io.IOException;
/**
* 发布Java WebService的Servlet
*/
public class WSServlet extends GenericServlet {
private static final long serialVersionUID = 1L;
@Override
public void init(ServletConfig servletConfig) throws ServletException {
super.init(servletConfig);
System.out.println("准备启动WebService服务");
//发布一个WebService
Endpoint.publish("http://localhost:8888/javaws/JavaWebService", new JavaWebService());
System.out.println("已成功启动WebService服务");
}
public void service(ServletRequest servletRequest, ServletResponse servletResponse) throws ServletException, IOException {
System.out.println("此Servlet不处理任何业务逻辑,仅仅用来发布一个Web服务");
}
}
4、配置web.xml
[html] view
plain copy
print?
<?xml version="1.0" encoding="UTF-8"?>
<web-app xmlns="http://java.sun.com/xml/ns/javaee"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://java.sun.com/xml/ns/javaee
http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd"
version="2.5">
<welcome-file-list>
<welcome-file>index.jsp</welcome-file>
</welcome-file-list>
<servlet>
<servlet-name>WSServlet</servlet-name>
<servlet-class>lavasoft.servlet.WSServlet</servlet-class>
<load-on-startup>1</load-on-startup>
</servlet>
<servlet-mapping>
<servlet-name>WSServlet</servlet-name>
<url-pattern>/servlet/WSServlet</url-pattern>
</servlet-mapping>
</web-app>
注意:
<load-on-startup>1</load-on-startup>,这样写的目的是Servlet能伴随容器的启动在第一时间加载。以便服务能尽可能早的发布,否则,只有在第一次请求该Servlet的时候,才会被加载到容器。
web.xml配置与java文件所在包要一致
发布端口与tomcat端口最好不要重复
5、初始页index.jsp
[java] view
plain copy
print?
<%@ page language="java" contentType="text/html; charset=utf-8"%>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html>
<head>
<title>展示</title>
</head>
<body>
<div>
<h1>这是一个测试java WebService发布服务的例子</h1>
<a href="http://localhost:8888/javaws/JavaWebService">点此处访问WSDL</a>
</div>
</body>
</html>
6、启动Tocmat浏览器中输入:http://localhost/JavaWebService/ 成功访问即可
(我的tomcat没有端口)
7、客户端调用
建立一个简单的空项目,一个类
[java] view
plain copy
print?
import java.net.URL;
import org.codehaus.xfire.client.Client;
public class XFireTest {
public static void main(String[] args) {
try {
Client c = new Client(new URL(
"http://localhost:8888/javaws/JavaWebService?wsdl"));
Object[] results = c.invoke("doHello", new Object[0]);
System.out.println(results.length);
for (Object one : results) {
System.out.println("1 结果是:" + one);
}
} catch (Exception e) {
e.printStackTrace();
}
}
}
运行看是否可以成功访问? 成功即可
问题记录:
访问时的传参我还有点问题,没有运行成功
相关文章推荐
- 【WebService学习过程记录(二)】Java6+Servlet+tomcat发布HelloWord
- 【WebService学习过程记录(二)】Java6+Servlet+tomcat发布HelloWord
- 【WebService学习过程记录(三)】XFire开发Web Service---HelloWord
- 【WebService学习过程记录(三)】XFire开发Web Service---HelloWord
- 【WebService学习过程记录(四)】xfire开发webservice客户端
- 【WebService学习过程记录(一)】照猫画虎---运行示例
- 【WebService学习过程记录(五)】复杂对象的加入
- 【WebService学习过程记录(四)】xfire开发webservice客户端
- 【WebService学习过程记录(四)】xfire开发webservice客户端
- 【WebService学习过程记录(一)】照猫画虎---运行示例
- 【WebService学习过程记录(五)】复杂对象的加入
- 【WebService学习过程记录(四)】xfire开发webservice客户端
- 【WebService学习过程记录(一)】照猫画虎---运行示例
- 终于抽出时间了,可以写自己的博客了,希望能够记录自己的学习和生活过程,与朋友共勉
- 调用Https WebService发布后使用时报“基础连接已经关闭: 未能为 SSL/TLS 安全通道建立信任关系”证书验证失败的解决过程(3)
- IIS 学习笔记(在IIS上发布了一个webservice,访问时可以访问到其目录,但是无法打开.asmx文件)
- 2410开发板学习过程记录。。。。第一天(2)
- 2410开发板学习过程记录。。。。第一天(1)
- 在此记录我学习过程中的点点滴滴
- 【Sharepoint】WebPart开发、部署、发布过程全记录