1.系统条件:
Eclipse Java EE IDE for Web Developers
Java SE 6
Windows XP
2.基本环境搭建:
1)Java SE6 JDK安装:载Java SE6 JDK双击安装默认选项进行安装即
2)Eclipse安装与配置:
安装直接解压
配置处两点Window>Preferences>Java>Installed JREs确保设置:
安装路径能略同
Window>Preferences>Java>Compiler 确保设置:
3.建立Server端工程相关包与类:
创建Java Project命名wsServerHelloWorld:
项目建立包:org.gnuhpc.wsServer
包边建立类:SayHello
SayHello.java文件输入代码:
package org.gnuhpc.wsServer
import javax.jws.WebService
@WebService
public class SayHello {
private static final String SALUTATION = "Hello"
public String getGreeting(String name) {
return SALUTATION + " " + name
}
}
其注意@WebService 称作annotation或者metadataJava SE 5Web Services Metadata Specification引入Java SE 6于Web Services规范升级及JAX-WS(Java API for XML Web Services)2.0规范些升级使我Web Services创建调用变更加容易使用些新功能我仅仅使用简单Annotations注释Java类创建Web Services发者其类前用该annotations指定类告诉runtime engineWeb Service式操作使能该类annotations产布署Web ServiceWSDL映射annotationsJava源代码与代表Web ServiceWSDL元素连接起
4.使用Ant产Server端代码:
首先项目新建文件:build.xml使用OpenWith>AntEditor打输入脚本代码:
<arg line="-cp ./bin -keep -s ./src -d ./bin
org.gnuhpc.wsServer.SayHello"/>
default指定默认执行Targetwsgen,wsgen创建能够使用WebService类所用于WebService发布源代码文件经编译二进制类文件WSDL符合规范该类WebService
Target名称wsgen具体执行命令参数:
-cp 类路径
-keep产java文件
-s 产源文件放哪
-d 产输问价放哪
使用Ant Build选项运行:
功执行提示我刷新Project
我Project区域看结:
5.布Web Service
org.gnuhpc.wsServer建立类RunService:
package org.gnuhpc.wsServer
import javax.xml.ws.Endpoint
public class RunService {
/**
*@paramargs
*/
public static void main(String[] args) {
System.out.println("SayHello Web Service started.")
Endpoint.publish("" ,
new SayHello())
}
}
运行Run As>Java Application我结说明web serviceServer端已经启
6.查看WSDL:
Window>Show View>Other>General>Internal Web Browser其输入:?wsdl
看看底WSDL都记录哪些信息看完停止该Server
7.监测Server
我创建完Server用Eclipse Web Services Explorer监测Server
Window>Open Perspective>Other >JavaEE
打Eclipse Web Services Explorer
点击右角WSDL Page按钮:
单击WSDL MainURL输入:?wsdl 按Go按钮现视图:
我触发Web Service操作:点击getGreetings添加参数比gnuhpc点击Go按钮:
8.创建Client端 工程相关包与类:
创建Java Project命名wsClientHelloWorld项目建立包:org.gnuhpc.wsClient
9.使用Ant产Client代码框架:
编写Web service使用工具利用WSDL进行调用客户端桩;或者使用底层API手编写Web service前者便者灵现我通前者做说明:
新建文件build.xml
New>File>build.xml
<arg line="-keep -s ./src -p org.gnuhpc.wsClient
-d ./bin ?wsdl"/>
注意:wsgen 支持 Java class 创建 Web serviceswsimport 支持 WSDL 创建 Web services别应于 JAX-RPC 式 Java2WSDL WSDL2Java要根据发布WSDL进行创建要先运行RunServer原
运行ServerRunService : Run As>Java Application>
运行该Ant脚本产Client代码:Run As>Ant Build
运行功提示:
代码:
步读取WSDL并客户端桩些桩我代码所用Java类接口些桩给服务器端功能提供客户端接口例我服务器提供Maths服务该服务带叫做add我客户端代码调用桩桩实现该使用参数封装Java调用变Webservice请求请求基于HTTP发送给服务器且使用SOAP作RPC协议监听服务器接收该SOAP消息(十八九)其转换服务器处调用
这是一个真实的HTTP请求的例子,其中每一行都以\r\n结尾。由于我们写的是简单的服务器,所以我们只关心其中的几行。第一行称为请求行,GET是请求方法,表示获取资源,除此之外还有POST方法、PUT方法、HEAD方法、DELETE方法和OPTIONS方法等。由于我们写一个简单的服务器,所以暂时仅支
持GET方法。/是URI,表示客户希望访问的资源的URI。HTTP/1.1是HTTP协议的版本,此例中表示1.1版本。我们需要解析请求行,需要解析出方法字段、URI和HTTP协议版本。
第二行是Host字段,表示所请求的资源所在的主机名和端口号。
第三行User-Agent是客户的浏览器的类型,此例是运行在Ubuntu上的Firefox浏览器。
第四行Accept表示客户接受的资源的类型。
第四行Accept-Language表示客户接受的语言类型。
第五行Connection表示服务器在发送完客户请求的数据之后是否断开TCP连接。keep-alive表示不断开,close表示断开。
http是hypertext transfer protocol(超文本传输协议)的简写,它是TCP/IP协议的一个应用层协议。
用于定义WEB浏览器与WEB服务器之间交换数据的过程。客户端连上web服务器后,若想获得web服务器中的某个web资源,需遵守一定的通讯格式,HTTP协议用于定义客户端与web服务器通迅的格式。
拓展资料
HTTP协议的主要特点可概括如下:
1、支持客户/服务器模式。
2、 简单快速:客户向服务器请求服务时,只需传送请求方法和路径。请求方法常用的有GET、HEAD、POST。每种方法规定了客户与服务器联系的类型不同。由于HTTP协议简单,使得HTTP服务器的程序规模小,因而通信速度很快。
3、灵活:HTTP允许传输任意类型的数据对象。正在传输的类型由Content-Type加以标记。
4、无连接:无连接的含义是限制每次连接只处理一个请求。服务器处理完客户的请求,并收到客户的应答后,即断开连接。采用这种方式可以节省传输时间。
5、无状态:HTTP协议是无状态协议。无状态是指协议对于事务处理没有记忆能力。缺少状态意味着如果后续处理需要前面的信息,则它必须重传,这样可能导致每次连接传送的数据量增大。
另一方面,在服务器不需要先前信息时它的应答就较快。
HTTP请求的方法:
HTTP/1.1协议中共定义了八种方法(有时也叫“动作”),来表明Request-URL指定的资源不同的操作方式
1、OPTIONS
返回服务器针对特定资源所支持的HTTP请求方法,也可以利用向web服务器发送‘*’的请求来测试服务器的功能性
2、HEAD
向服务器索与GET请求相一致的响应,只不过响应体将不会被返回。这一方法可以再不必传输整个响应内容的情况下,就可以获取包含在响应小消息头中的元信息。
3、GET
向特定的资源发出请求。它本质就是发送一个请求来取得服务器上的某一资源。资源通过一组HTTP头和呈现数据(如HTML文本,或者图片或者视频等)返回给客户端。GET请求中,永远不会包含呈现数据。
4、POST
向指定资源提交数据进行处理请求(例如提交表单或者上传文件)。数据被包含在请求体中。POST请求可能会导致新的资源的建立和/或已有资源的修改。 Loadrunner中对应POST请求函数:web_submit_data,web_submit_form
5、PUT
向指定资源位置上传其最新内容
6、DELETE
请求服务器删除Request-URL所标识的资源
7、TRACE
回显服务器收到的请求,主要用于测试或诊断
8、CONNECT
HTTP/1.1协议中预留给能够将连接改为管道方式的代理服务器。
欢迎分享,转载请注明来源:夏雨云
评论列表(0条)