java建用webservice.doc_第1页
java建用webservice.doc_第2页
java建用webservice.doc_第3页
java建用webservice.doc_第4页
java建用webservice.doc_第5页
已阅读5页,还剩4页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

一、利用jdk web服务api实现,这里使用基于 SOAP message 的 Web 服务 1.首先建立一个Web services EndPoint:Java代码package Hello;import javax.jws.WebService;import javax.jws.WebMethod;import javax.xml.ws.Endpoint;WebServicepublic class Hello WebMethodpublic String hello(String name) return Hello, + name + n;public static void main(String args) / create and publish an endpointHello hello = new Hello();Endpoint endpoint = Endpoint.publish(http:/localhost:8080/hello, hello);package Hello;import javax.jws.WebService;import javax.jws.WebMethod;import javax.xml.ws.Endpoint;WebServicepublic class Hello WebMethodpublic String hello(String name) return Hello, + name + n;public static void main(String args) / create and publish an endpointHello hello = new Hello();Endpoint endpoint = Endpoint.publish(http:/localhost:8080/hello, hello);2.使用 apt 编译 Hello.java(例:apt -d 存放编译后的文件目录 Hello.java ) ,会生成 jaws目录3.使用java Hello.Hello运行,然后将浏览器指向http:/localhost:8080/hello?wsdl就会出现下列显示4.使用wsimport 生成客户端使用如下:wsimport -p . -keep http:/localhost:8080/hello?wsdl5.客户端程序:Java代码class HelloClientpublic static void main(String args) HelloService service = new HelloService();Hello helloProxy = service.getHelloPort();String hello = helloProxy.hello(你好);System.out.println(hello);class HelloClientpublic static void main(String args) HelloService service = new HelloService();Hello helloProxy = service.getHelloPort();String hello = helloProxy.hello(你好);System.out.println(hello);二、使用xfire,我这里使用的是myeclipse集成的xfire进行测试的利用xfire开发WebService,可以有三种方法:1一种是从javabean 中生成;2 一种是从wsdl文件中生成;3 还有一种是自己建立webservice步骤如下:用myeclipse建立webservice工程,目录结构如下:首先建立webservice接口,代码如下:Java代码package com.myeclipse.wsExample;/Generated by MyEclipsepublic interface IHelloWorldService public String example(String message);package com.myeclipse.wsExample;/Generated by MyEclipsepublic interface IHelloWorldService public String example(String message);Java代码package com.myeclipse.wsExample;/Generated by MyEclipsepublic class HelloWorldServiceImpl implements IHelloWorldService public String example(String message) return message;package com.myeclipse.wsExample;/Generated by MyEclipsepublic class HelloWorldServiceImpl implements IHelloWorldService public String example(String message) return message;修改service.xml 文件,加入以下代码:Xml代码HelloWorldServicecom.myeclipse.wsExample.IHelloWorldServicecom.myeclipse.wsExample.HelloWorldServiceImplwrappedliteralapplicationHelloWorldServicecom.myeclipse.wsExample.IHelloWorldServicecom.myeclipse.wsExample.HelloWorldServiceImplwrappedliteralapplication把整个项目部署到tomcat服务器中 ,打开浏览器,输入http:/localhost:8989/HelloWorld/services/HelloWorldService?wsdl客户端实现如下:Java代码package com.myeclipse.wsExample.client;import .MalformedURLException;import .URL;import org.codehaus.xfire.XFireFactory;import org.codehaus.xfire.client.Client;import org.codehaus.xfire.client.XFireProxyFactory;import org.codehaus.xfire.service.Service;import org.codehaus.xfire.service.binding.ObjectServiceFactory;import com.myeclipse.wsExample.IHelloWorldService;public class HelloWorldClient public static void main(String args) throws MalformedURLException, Exception / TODO Auto-generated method stubService s=new ObjectServiceFactory().create(IHelloWorldService.class);XFireProxyFactory xf=new XFireProxyFactory(XFireFactory.newInstance().getXFire();String url=http:/localhost:8989/HelloWorld/services/HelloWorldService;tryIHelloWorldService hs=(IHelloWorldService) xf.create(s,url);String st=hs.example(zhangjin);System.out.print(st);catch(Exception e)e.printStackTrace();package com.myeclipse.wsExample.client;import .MalformedURLException;import .URL;import org.codehaus.xfire.XFireFactory;import org.codehaus.xfire.client.Client;import org.codehaus.xfire.client.XFireProxyFactory;import org.codehaus.xfire.service.Service;import org.codehaus.xfire.service.binding.ObjectServiceFactory;import com.myeclipse.wsExample.IHelloWorldService;public class HelloWorldClient public static void main(String args) throws MalformedURLException, Exception / TODO Auto-generated method stubService s=new ObjectServiceFactory().create(IHelloWorldService.class);XFireProxyFactory xf=new XFireProxyFactory(XFireFactory.newInstance().getXFire();String url=http:/localhost:8989/HelloWorld/services/HelloWorldService;tryIHelloWorldService hs=(IHelloWorldService) xf.create(s,url);String st=hs.example(zhangjin);System.out.print(st);catch(Exception e)e.printStackTrace();这里再说点题外话,有时候我们知道一个wsdl地址,比如想用java客户端引用.net 做得webservice,使用myeclipse引用,但是却出现无法通过验证的错误,这时我们可以直接在类中引用,步骤如下:Java代码public static void main(String args) throws MalformedURLException, Exception / TODO Auto-generated method stubService s=new ObjectServiceFactory().create(IHelloWorldService.class);XFireProxyFactory xf=new XFireProxyFactory(XFireFactory.newInstance().getXFire();/远程调用.net开发的webserviceClient c=new Client(new URL(/webservices/qqOnlineWebService.asmx?wsdl);Object o=c.invoke(qqCheckOnline, new String531086641,591284436);/调用.net本机开发的webserviceClient c1=new Client(new URL(http:/localhost/zj/Service.asmx?wsdl);Object o1=c1.invoke(HelloWorld,new String);public static void main(String args) throws MalformedURLException, Exception / TODO Auto-generated method stubService s=new ObjectServiceFactory().create(IHelloWorldService.class);XFireProxyFactory xf=new XFireProxyFactory(XFireFactory.newInstance().getXFire();/远程调用.net开发的webserviceClient

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论