- 浏览: 1200565 次
- 性别:
- 来自: 上海
文章分类
- 全部博客 (361)
- java综合 (33)
- 项目管理 (10)
- 工作流 (6)
- spring (11)
- hibenate (17)
- struts (0)
- javascript,html,css,ajax,jquery (11)
- IDE (9)
- 生活 (0)
- 工作 (0)
- 杂记 (1)
- 数据库 (96)
- 服务器 (5)
- 可视编辑 (0)
- freemarker (6)
- 操作系统 windows (13)
- web页面 (6)
- jms (15)
- 调优 (4)
- 测试和bug管理 (2)
- 原理 (1)
- 項目-atf (17)
- 安全 (3)
- xml (4)
- 操作系统 liunx (21)
- 网络 (22)
- office (11)
- 设计 (2)
- 软件 (1)
- 数据库 mysql (6)
- 胖客户端-flex (1)
- 正则 (9)
- oracle- liunx (3)
- sql2000 (2)
- 模式 (1)
- 虚拟机 (2)
- jstl (2)
- 版本控制 打包工具 (0)
- AOP (1)
- demo (1)
- 小软件 (2)
- 感恩 (1)
- iphone 4 (1)
- 反欺诈业务经验整理 (0)
最新评论
-
sea0108:
mark
java内存模型 -
XingShiYiShi:
方便把:testPNR();具体实现发出来吗?谢谢
用正则表达式解析 航信的电子客票和pnr报文 -
wh359126613:
如果js和webservice不在同一个服务器上,有跨域问题如 ...
使用javascript调用webservice示例 -
雨飛雁舞:
...
oracle 动态性能(V$)视图 -
ouyang1224:
好东西
oracle 动态性能(V$)视图
1. 新建一个JAVA project.
2. 新建一个Hello.java,代码如下:
package study.jdk6ws;
import javax.jws.WebMethod;
import javax.jws.WebService;
import javax.jws.soap.SOAPBinding;
@WebService(targetNamespace ="http://jdk6ws.study/client")
@SOAPBinding(style = SOAPBinding.Style.RPC)
public class Hello {
@WebMethod
public String sayHello(String name) {
return "OK, " + name;
}
}
3. 新建一个发布这个服务的启动程序(StartService.java),代码如下:
package study.jdk6ws;
import javax.xml.ws.Endpoint;
public class StartService {
public static void main(String[] args) {
Endpoint.publish("http://localhost:8080/HelloService", new Hello());
System.out.println("Success");
}
}
4. 运行这个应用程序: StartService
5. 打开浏览器,输入: http://localhost:8080/HelloService?wsdl
可以看到相应的wsdl描述:
<?xml version="1.0" encoding="UTF-8" ?>
- <!-- Published by JAX-WS RI at http://jax-ws.dev.java.net. RI's version is JAX-WS RI 2.1.1 in JDK 6.
-->
- <!-- Generated by JAX-WS RI at http://jax-ws.dev.java.net. RI's version is JAX-WS RI 2.1.1 in JDK 6.
-->
- <definitions xmlns:soap="http://schemas.xmlsoap.org/wsdl/soap/" xmlns:tns="http://jdk6ws.study/client" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns="http://schemas.xmlsoap.org/wsdl/" targetNamespace="http://jdk6ws.study/client" name="HelloService">
<types />
- <message name="sayHello">
<part name="arg0" type="xsd:string" />
</message>
- <message name="sayHelloResponse">
<part name="return" type="xsd:string" />
</message>
- <portType name="Hello">
- <operation name="sayHello" parameterOrder="arg0">
<input message="tns:sayHello" />
<output message="tns:sayHelloResponse" />
</operation>
</portType>
- <binding name="HelloPortBinding" type="tns:Hello">
<soap:binding transport="http://schemas.xmlsoap.org/soap/http" style="rpc" />
- <operation name="sayHello">
<soap:operation soapAction="" />
- <input>
<soap:body use="literal" namespace="http://jdk6ws.study/client" />
</input>
- <output>
<soap:body use="literal" namespace="http://jdk6ws.study/client" />
</output>
</operation>
</binding>
- <service name="HelloService">
- <port name="HelloPort" binding="tns:HelloPortBinding">
<soap:address location="http://localhost:8080/HelloService" />
</port>
</service>
</definitions>
6. 上述文件表明服务已发布成功。接下来写一个客户端测试一下。
7. 用命令行进入到源代码路径下(src),输入命令:
wsimport -keep http://localhost:8080/HelloService?wsdl
即可在当前目录(src)生成客户端,-keep表示保留源文件,如果没有-keep,则只生成class文件。
运行中显示如下信息:
parsing WSDL...
generating code...
8. OK,客户端代码生成完成, 会生成如下两个文件:
(Hello.java)
package study.jdk6ws.client;
import javax.jws.WebMethod;
import javax.jws.WebParam;
import javax.jws.WebResult;
import javax.jws.WebService;
import javax.jws.soap.SOAPBinding;
/**
* This class was generated by the JAX-WS RI.
* JAX-WS RI 2.1.1 in JDK 6
* Generated source version: 2.1
*
*/
@WebService(name = "Hello", targetNamespace = "http://jdk6ws.study/client")
@SOAPBinding(style = SOAPBinding.Style.RPC)
public interface Hello {
/**
*
* @param arg0
* @return
* returns java.lang.String
*/
@WebMethod
@WebResult(partName = "return")
public String sayHello(
@WebParam(name = "arg0", partName = "arg0")
String arg0);
}
(HelloService.java)
package study.jdk6ws.client;
import java.net.MalformedURLException;
import java.net.URL;
import javax.xml.namespace.QName;
import javax.xml.ws.Service;
import javax.xml.ws.WebEndpoint;
import javax.xml.ws.WebServiceClient;
import javax.xml.ws.WebServiceFeature;
/**
* This class was generated by the JAX-WS RI.
* JAX-WS RI 2.1.1 in JDK 6
* Generated source version: 2.1
*
*/
@WebServiceClient(name = "HelloService", targetNamespace = "http://jdk6ws.study/client", wsdlLocation = "http://localhost:8080/HelloService?wsdl")
public class HelloService
extends Service
{
private final static URL HELLOSERVICE_WSDL_LOCATION;
static {
URL url = null;
try {
url = new URL("http://localhost:8080/HelloService?wsdl");
} catch (MalformedURLException e) {
e.printStackTrace();
}
HELLOSERVICE_WSDL_LOCATION = url;
}
public HelloService(URL wsdlLocation, QName serviceName) {
super(wsdlLocation, serviceName);
}
public HelloService() {
super(HELLOSERVICE_WSDL_LOCATION, new QName("http://jdk6ws.study/client", "HelloService"));
}
/**
*
* @return
* returns Hello
*/
@WebEndpoint(name = "HelloPort")
public Hello getHelloPort() {
return (Hello)super.getPort(new QName("http://jdk6ws.study/client", "HelloPort"), Hello.class);
}
/**
*
* @param features
* A list of {@link javax.xml.ws.WebServiceFeature} to configure on the proxy. Supported features not in the <code>features</code> parameter will have their default values.
* @return
* returns Hello
*/
@WebEndpoint(name = "HelloPort")
public Hello getHelloPort(WebServiceFeature... features) {
return (Hello)super.getPort(new QName("http://jdk6ws.study/client", "HelloPort"), Hello.class, features);
}
}
9. 写一个测试代码Hello_ClientTest.java如下:
package study.jdk6ws.client;
import java.text.SimpleDateFormat;
import java.util.Calendar;
public class Hello_ClientTest {
public static void main(String[] args) {
HelloService service = new HelloService();
Hello hello = service.getHelloPort();
SimpleDateFormat format = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss.SSS");
Calendar calendar = Calendar.getInstance();
System.out.println(hello.sayHello(format.format(calendar.getTime())));
}
}
10. 执行结果:
OK, 2009-04-05 16:50:57.703
11. JDK6 webservice测试完成。
发表评论
-
介绍Java GC种类,并更换 调优GC
2011-03-04 03:42 2174转载自:http://blog.csdn.net/rola ... -
Daemonthread(守护线程)的含义
2011-03-03 20:39 1950http://fruitking.iteye.com/blog ... -
smc_5_1_0小例子
2010-06-25 15:33 0smc_5_1_0小例子 -
Hessian 例子
2010-06-25 15:27 0Hessian 例子 -
java小日历带农历(转)
2010-06-20 15:55 1519http://zengming526.iteye.com/bl ... -
Annotation exmaple
2009-12-14 09:44 1119如何使用注解的小例子 -
JNI 数据类型转换
2009-11-18 12:01 21232Java代码 #include <jni ... -
JNI 返回结构体参数
2009-11-18 11:58 8900如何使用JNI的一些基本方法和过程在网上多如牛毛,如果你对Jn ... -
Map 四种同步方式的性能比较
2009-11-01 21:03 2010如果需要使 Map 线程安全,大致有这么四种方法: 1、使用 ... -
ConcurrentHashMap之实现细节
2009-11-01 21:00 2847ConcurrentHashMap是Java 5中支持高并发、 ... -
Java反射经典实例
2009-09-28 16:30 2032Java提供了一套机制来动态执行方法和构造方法,以及数组操作等 ... -
servlet 线程 安全 threadlocal (基础知识了)
2009-09-15 13:05 3258关键字: j2ee servlet 线程 ... -
java toString() ReflectionToStringBuilder
2009-06-18 11:31 2126@Override public String toStrin ... -
解决JAVA服务器性能问题
2009-04-13 01:51 2868解决JAVA服务器性能问题 ... -
java内存模型
2009-04-12 23:10 5665Weblogic系统管理总结(7.1/8.0)关于JVM内存管 ... -
Java线程总结
2009-04-12 20:32 1179在论坛上面常常看到初 ... -
删除字符串中的空格或将字符串的多个空格换位单个空格
2009-04-10 15:44 2511//将字符串的多个空格换位单个空格 public static ... -
Java 中文于unicode 互转
2009-04-06 03:08 3257关键字: java unicode convert 转换 ... -
Java EE 6体系结构的变革
2009-03-27 17:54 1506又看到 Reza 同学为 Java EE 6 奔走呼告了。如同 ... -
体验Java1.5中面向方面(AOP)编程
2009-03-12 19:42 1161对于一个能够访问源代码的经验丰富的Java开发人员来说,任何程 ...
相关推荐
在Java Web服务(WebService)开发中,注解的应用极大地简化了服务的创建和配置。本文将深入探讨如何使用Java注解来构建Web服务,并结合给出的“lib”压缩包文件,推测可能包含了一些用于支持Web服务的库文件。 ...
调用WebService,最简单的办法当然是直接添加WEB引用,然后自动产生代理类,但是在调用JAVA的WebService时并没有这么简单,特别是对于SoapHeader的处理,通过C#添加Web引用方式访问JavaWebService的方法,除了string...
java调用webservicejava调用webservice.zipjava调用webservice.zipjava调用webservice.zipjava调用webservice.zipjava调用webservice.zipjava调用webservice.zipjava调用webservice.zipjava调用webservice.zipjava...
在“java 利用webservice传输文件”的场景中,JACOB可能被用来执行以下任务: 1. **文件操作**:Windows系统有许多内置的COM组件,如Scripting.FileSystemObject,可用于读写文件、创建目录等。通过JACOB,Java程序...
### Java开发WebService实例详解 在IT领域,尤其是企业级应用开发中,WebService作为一种标准化的、跨平台的服务交互方式,被广泛应用于系统间的数据交换与服务调用。本文将基于给定的“Java开发WebService实例”...
java开发过程中,很多地方都会遇到数据传递,远程获取数据问题,我这个简单的webservice接口发布可以在java开发过程中,很多地方都会遇到数据传递,远程获取数据问题,我这个简单的webservice接口发布可以在
在Java世界中,WebService是一种基于XML的开放标准技术,它允许不同系统间的应用程序进行通信,跨越不同的操作系统和编程语言。本实例将详细讲解如何使用Apache Axis1.4工具来生成Java版的WebService服务端和客户端...
6. **JAXB**:Java Architecture for XML Binding(JAXB)是Java平台的标准组件,用于在Java对象和XML之间进行绑定。它允许开发者将Java对象序列化为XML,反之亦然。对于处理WebService的数据交换,JAXB是不可或缺的...
2. **创建WebService客户端**:使用WSDL(Web Service Description Language)文件,你可以自动生成Java客户端代码。Eclipse和MyEclipse都有工具可以做到这一点。WSDL文件描述了Web服务的接口、操作、消息格式等。 ...
总的来说,"java 调用 webService工具类"是一个用于简化Java应用程序调用SOAP WebService的实用工具,它封装了请求构建、发送、响应处理等复杂流程,让开发者能更专注于业务逻辑而不是底层通信细节。了解并熟练使用...
JAVA调用WEBSERVICE接口
在Java 6中创建Web服务(WebService)是一个相对简单的过程,尤其对于那些熟悉JAX-WS(Java API for XML Web Services)的开发者来说。本文将详细介绍如何利用Java 6的API来构建一个基本的SOAP(Simple Object ...
"Java实现WebService实例" WebService是基于XML的、分布式的、跨语言的应用程序通信协议。它允许不同的应用程序之间进行交互和集成,从而实现业务逻辑的复杂交互。Java是其中一种常用的实现WebService的语言。 在...
在探讨Java调用带有JSON参数的WebService之前,我们首先需要了解几个关键的技术概念:Java、JSON以及WebService。 Java是一种广泛使用的编程语言,它具有面向对象、跨平台、多线程以及健壮性等特点。Java在企业级...
Java WebService接口开发是将Java应用程序暴露为网络服务的一种方式,允许不同系统间的数据交换和交互。本案例将深入探讨如何使用Java实现Web服务的创建、发布和调用。 一、理解WebService WebService是一种基于...
Java调用WebService是一种常见的在分布式系统中实现服务交互的方式,主要应用于不同系统间的数据共享和功能集成。在Java中,有多种库可以帮助我们完成这项任务,其中之一就是Apache Axis2。本篇文章将详细介绍如何...
Java调用WebService工程是将Java应用程序与通过WebService接口提供的服务进行交互的过程。WebService是一种基于XML标准的、平台和语言无关的通信方式,它允许不同系统间的应用能够共享数据和服务。在Java中,我们...
java调用webservice接口案例,精简,service调用webservice接口案例;不用生成一堆代码,逻辑清晰
使用cxf wsdl2java生成webservice客户端命令
Java调用WebService是一种常见的在Java应用中集成外部服务或与不同平台进行数据交换的技术。本实例将通过两个Web小项目,一个是客户端(Client),另一个是WebService服务器端,来阐述如何在Java中实现这一功能。 ...