- 浏览: 250850 次
- 性别:
- 来自: 上海
文章分类
最新评论
-
无它唯勤:
...
Spring Ioc AOP -
dubaopeng:
挺好的,拿去改改!
java 解析csv文件 -
灵程大哥:
先试一下,看行不行
java 判断文本文件编码 -
pxjianke:
谢谢兄弟。我现在在测试插入千万级数据。做测试。这个太有用了。
Oracle 高速批量速插入数据 解决方案
下面介绍以JWS的方式在TOMCAT上的部署WEBSERVICE。
前言:
相信有越来越多的程序员将接触WEBSERVICE这一新的领域。但是,总感觉很迷茫。买本书来看看,介绍的好象都是XML的知识,什么WSDL等等。搞的我们云里雾里的。那么,我们不仿自己来试试看,自己写一些WEBSERVICE程序,看看它的运行结果是怎么样子的。本文档就是介绍怎么样在TOMCAT上部署简单的WEBSERVICE服务,客户端又是怎么样去访问这个服务,并得到自己想要的信息的。
AXIS是Apache SOAP的第三代产品。
JWS 文件是语法正确的 Java。但 JWS 文件还具有一些特性,即可利用 WebLogic Workshop 的 Web Service 强大功能。
下面介绍一下以JWS的方式在TOMCAT上的部署WEBSERVICE。
本文档的适用对象:
本文档适合于WEBSERVICE的初学者。但是,对TOMCAT有点了解,至少知道怎么启动TOMCAT。
关于该文档的约定:
TOMCAT.DIR 表示TOMCAT的安装路径。
webapps.dir 表示tomcat.dir/webapps路径。
axis.dir 表示tomcat.dir/webapps/axis
步骤:
一、下载并安装axis。
下载地址:http://xml.apache.org。下载并解压。把AXIS目录拷贝到webapps.dir目录下。一般,axis.dir的目录结构如下所示:
axis
--web-inf
----attachments
----classes
----jwsClasses
----lib
在axis.dir/web-inf目录下还有一个重要的文件server-config.wsdd。安装好AXIS之后,运行TOMCAT,即启动服务。启动完成之后,我门就可以使用我门的浏览器访问我门的服务。在地址栏里输入http://localhost:8080/axis,这时我们就可以看到Apache-AXIS的欢迎界面。假如,没有看到这个欢迎界面,那么,安装AXIS是失败的。
二、写服务端代码:
MyService.java:
public class MyService {
public String sayHello(String name,boolean isMan) {
if(isMan) {
return "Hello,Mr "+name+"! Welcome to Webservice";
} else {
return "Hello,Miss "+name+"! Welcome to Webservice";
}
}
}
注意:不要将MyService.java放在一个PACKAGE里面。
三、写客户端程序
package com.unimas.datacollection.webservices.client;
import org.apache.axis.client.Call;
import org.apache.axis.client.Service;
import org.apache.axis.encoding.XMLType;
import javax.xml.namespace.QName;
import javax.xml.rpc.ParameterMode;
public class Client
{
public static void main(String [] args)
{
try {
String endpoint="http://localhost:8080/axis/MyService.jws";
Service service = new Service();
Call call = (Call) service.createCall();
call.setTargetEndpointAddress( new java.net.URL(endpoint) );
call.setOperationName( new QName("MyService", "sayHello") );
call.addParameter( "arg1", XMLType.XSD_STRING, ParameterMode.IN);
call.addParameter( "arg2", XMLType.XSD_BOOLEAN, ParameterMode.IN);
call.setReturnClass(String.class);
String man = (String) call.invoke( new Object[] { "syc",new Boolean(true) } );
String women = (String) call.invoke( new Object[] { "yll",new Boolean(false) } );
System.out.println("if is a man you will see:"+man);
System.out.println("if is a women you will see:"+women);
} catch (Exception e) {
e.printStackTrace();
System.err.println(e.toString());
}
}
}
假如用addParameter方法来设置参数的话,必须使用setReturnType来设置返回类型。与之相等效的方法为setReturnClass。
还有一种客户端程序的写法,如下所示:
package com.unimas.datacollection.webservices.client;
import org.apache.axis.client.Service;
import org.apache.axis.client.Call;
import javax.xml.namespace.QName;
public class AnothClient {
public static void main(String [] args) {
try {
String endpoint="http://localhost:8080/axis/MyService.jws";
Service service = new Service();
Call call = (Call) service.createCall();
call.setTargetEndpointAddress( new java.net.URL(endpoint) );
QName qname = new QName("sayHello");
call.setOperationName(qname);
String man = (String) call.invoke( new Object[] { "syc",new Boolean(true) } );
String women = (String) call.invoke( new Object[] { "yll",new Boolean(false) } );
System.out.println("if is a man you will see:"+man);
System.out.println("if is a women you will see:"+women);
} catch (Exception e) {
System.err.println(e.toString());
e.printStackTrace();
}
}
}
这两中写法,所达到的效果是一样的。
四:部署
将MyService.java拷贝到axis.dir目录下面。并将起重命名为MyService.jws。这个时候,我门就把我们的服务器端部署好了,启动我们的服务器(执行startup.bat)。
五、运行客户端程序:
1、运行客户端程序Client。你将看到如下结果:
if is a man you will see:Hello,Mr syc! Welcome to Webservice
if is a women you will see:Hello,Miss yll! Welcome to Webservice
2、运行客户端程序AnothClient。你将看到如下结果:
if is a man you will see:Hello,Mr syc! Welcome to Webservice
if is a women you will see:Hello,Miss yll! Welcome to Webservice
总结:以上就是一个简单的WEBSERVICE部署的全过成。非常简单是不?但是,这里有个致命的确定,就是服务器程序不能放在一个包里面,也就是说不能使用PACKATE。优点就是简单实用。
参考资料:
Axis入门:www.csdn.net
Axis Documentation: http://ws.apache.org/axis/java/index.html
The Java Web Services Tutorial http://java.sun.com/webservices/docs/1.1/tutorial/doc/index.html
发表评论
-
一刻钟精通正则表达式(转)
2007-11-07 11:23 867想必很多人都对正则表达式都头疼。今天,我以我的 ... -
Map、ArrayList 的遍历
2007-11-08 12:50 818public static void main(String[ ... -
Hibernate 连接池
2007-11-16 16:50 718<session-factory> < ... -
Hibernate检索对象的方式
2007-11-23 11:23 601Hibernate检索对象的方式 ... -
再温java jkd 环境变量设置
2007-12-04 15:16 877JAVA_HOME: C:\Program Files ... -
JAVA之路(转)
2007-12-04 18:12 623很多网友问我学习Java有 ... -
JMail
2007-12-05 10:42 867一.创建html格式的邮件 ... -
JAVA 检测网络是否为连通状态 ping
2007-12-07 19:27 2496要用java检测网络资源是否可用,我们可以采用以下两种方法: ... -
JMail 异常: java.lang.NoClassDefFoundError: javax/activation/DataSource
2007-12-11 16:56 2782今天开发邮件系统,发送程序能在main函数中顺利运行. ... -
JAVA 常用正则表达试
2007-12-11 21:21 799"^\d+$" //非负整数(正整数 + ... -
Linux - Tomcat
2007-12-14 18:36 7511.使用ps -ax | grep tomcat可以查询出内存 ... -
有返回值 存储过程 的 调用
2007-12-18 20:03 719有返回值的存储过程的调用方法如下: public class ... -
ECLIPS 经典 快键
2007-12-21 11:42 758Ctrl+1 快速修复(最经典的快捷键,就不用多说了) ... -
eclips 恢复 误删文件
2007-12-23 13:25 773今天,把我差点气死了,一不小心误删了很多重要文件. 后来才到网 ... -
JSP 统计在线人数
2007-12-24 10:39 726package com.test;import javax. ... -
The Software Engineer
2007-12-24 13:40 589http://siyn.iteye.com/ http://w ... -
Summarization of web project
2007-12-27 09:37 636开始一个web项目前应该注意一些什么?就自己的开发 ... -
正则表达式--2
2008-01-02 16:19 620正则表达式用于字符串处理,表单验证等场合,实用高效,但用到时总 ... -
java 正则表达式 长期总结
2008-01-03 18:46 718匹配文件后缀名:Pattern.matches("^ ... -
Test
2008-01-07 16:08 755package com.ed.cnc.servletListe ...
相关推荐
而"jws-service-provide.rar"则可能包含服务端的实现,包括服务接口定义和服务实现的Java类,以及可能的部署配置文件。 学习JWS,你需要理解上述的技术概念,并实践如何创建服务接口,实现服务逻辑,发布服务,以及...
Java Web Service(JWS...总的来说,"jws-webservice 的发布"涉及到服务端的开发、部署,客户端的生成、调用,以及整个过程中可能涉及到的安全性和性能优化。理解并掌握这些知识点对于构建和使用Java Web服务至关重要。
Java Web Service (JWS) 是Java平台上的一个技术,它允许开发者创建和部署Web服务。在本场景中,"JWS jar包"指的是用于支持JWS开发和运行的Java类库。`edu.mit.jwi` 和 `edu.sussex.nlp.jws.beta.11` 是两个特定的...
在这个例子中,我们使用了JWS(Java Web Services),也就是JAX-WS(Java API for XML Web Services)来创建和部署Web服务。JAX-WS是Java平台上的标准,用于构建和消费Web服务,它简化了SOAP消息的处理,提供了与WS-...
在本场景中,"开发基于JWS的webservice并通过jun-jaxws发布所需的jar包"指的是利用Java API for XML Web Services (JAX-WS) 的一个实现——Sun JAX-WS(也称为Metro)来创建、部署和运行Web服务。Sun JAX-WS是Oracle...
【标题】"jws与spring发布WebService"涉及的是在Java Web Service(JWS)和Spring框架结合下,如何创建和部署Web服务。Web服务是一种基于网络的、平台无关的交互方式,它允许不同系统间的应用进行数据交换。JWS是...
webservice 的创建和部署过程详解 Webservice 是一种基于 web 的服务应用程序,它允许不同的系统和语言之间进行通信和交互。在异构通信系统中,Webservice 具有很高的应用价值,例如 Java 和 C++ 编写的系统之间...
首先,需要建立一个 Web 服务 EndPoint,使用 `javax.jws.WebService` 和 `javax.jws.WebMethod` 注解来标注服务类和方法。 ```java @WebService public class Hello { @WebMethod public String hello(String ...
在这个“快速实现一个基于jws的webservice项目”的教程中,我们将探讨如何利用JWS来构建一个Web服务。 首先,理解Web服务的基本概念至关重要。Web服务通常基于SOAP(Simple Object Access Protocol)或REST...
### Java调用WebService的各种方法详解 #### 一、利用JDK Web Service API实现 通过Java标准库中的WebService API,可以直接创建并发布一个简单的WebService。这种方式适用于那些希望避免引入额外依赖的场景。 ##...
首先,文档中提到了Java中WebService的接口定义,通过使用`javax.jws.WebService`注解定义了一个WebService接口。这个接口使用`@WebService`注解来标记一个类作为WebService的实现,并使用`@WebMethod`注解来定义...
使用 SoapUI 工具测试该 WebService,输入 `http://localhost:9080/HelloWorld`,选择 `sayHello` 方法,输入参数 `name=John`,点击 `Send` 按钮,服务器将返回 `Hello, John!`。 WebService 技术的优点是能够提供...
import javax.jws.WebService; import javax.xml.ws.Endpoint; /** * HelloService 类实现了一个简单的 WebService。 */ @WebService // 标注此类为 WebService public class HelloService { /** * sayHello ...
2. **创建Web Service接口和实现**:定义一个接口,该接口将被用作客户端调用Web Service的方法。然后,创建一个实现此接口的类,使用WebServiceTemplate进行实际的Web Service调用。 ```java public interface ...
在WebService中,可以配置特定的JWS文件路径到server-config.wsdd文件中。 #### 五、调用WebService示例 以下是一个简单的示例代码,展示了如何调用一个WebService服务: ```java // 创建一个Endpoint实例 String...
import javax.jws.WebService; @WebService public interface IWebService { String sayHello(String name); } ``` 然后,实现该接口。在同一个包下创建一个实现类,如"WebServiceImpl",并实现接口中的方法: `...
在Java中,我们可以使用JAX-WS(Java API for XML Web Services)来创建和部署WebService。以下是一个简单的示例: - 首先,我们需要创建一个标注了`@WebService`的Java类,这个类中的公共方法将暴露为可供调用的...
Jakarta JWS(Java Web Services)API是用于构建和部署Java Web服务的重要组件,它是Java平台标准版(Java SE)和企业版(Java EE)的一部分。这个API提供了定义Web服务接口和实现的标准,使得开发人员可以创建符合...
在`Test.wsdl`上右键选择“Test with WebService Explorer”,然后在操作列表中选择要测试的方法(如`mean`),输入参数并执行。如果返回的结果正确,说明发布的WebService已经成功实现了预期功能。 在实际开发中,...