java调用webservice方法总结一
来源:优易学  2009-12-4 10:09:47   【优易学:中国教育考试门户网】   资料下载   IT书店
文章页内部300*250广告位

 

  com.myeclipse.wsExample.HelloWorldServiceImpl

  </implementationClass>

  <style>wrapped</style>

  <use>literal</use>

  <scope>application</scope>

  </service>

  把整个项目部署到tomcat服务器中 ,打开浏览器,输入http://localhost:8989/HelloWorld/services/HelloWorldService?wsdl

  客户端实现如下:

  Java代码

  package com.myeclipse.wsExample.client;

  import java.net.MalformedURLException;

  import java.net.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 stub

  Service s=new ObjectServiceFactory().create(IHelloWorldService.class);

  XFireProxyFactory xf=new XFireProxyFactory(XFireFactory.newInstance().getXFire());

  String url="http://localhost:8989/HelloWorld/services/HelloWorldService";

  try

  {

  IHelloWorldService 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 java.net.MalformedURLException;

  import java.net.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 stub

  Service s=new ObjectServiceFactory().create(IHelloWorldService.class);

  XFireProxyFactory xf=new XFireProxyFactory(XFireFactory.newInstance().getXFire());

  String url="http://localhost:8989/HelloWorld/services/HelloWorldService";

  try

  {

  IHelloWorldService 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 stub

  Service s=new ObjectServiceFactory().create(IHelloWorldService.class);

  XFireProxyFactory xf=new XFireProxyFactory(XFireFactory.newInstance().getXFire());

  //远程调用.net开发的webservice

  Client c=new Client(new URL("http://www.webxml.com.cn/webservices/qqOnlineWebService.asmx?wsdl"));

  Object[] o=c.invoke("qqCheckOnline", new String[]{"531086641","591284436"});

  //调用.net本机开发的webservice

  Client 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 stub

  Service s=new ObjectServiceFactory().create(IHelloWorldService.class);

  XFireProxyFactory xf=new XFireProxyFactory(XFireFactory.newInstance().getXFire());

  //远程调用.net开发的webservice

  Client c=new Client(new URL("http://www.webxml.com.cn/webservices/qqOnlineWebService.asmx?wsdl"));

  Object[] o=c.invoke("qqCheckOnline", new String[]{"531086641","591284436"});

  //调用.net本机开发的webservice

  Client c1=new Client(new URL("http://localhost/zj/Service.asmx?wsdl"));

  Object[] o1=c1.invoke("HelloWorld",new String[]{});

  }

上一页  [1] [2] 

责任编辑:小草

收藏此页】【 】【打印】【回到顶部
等级考试课程列表页595*300
文章搜索:
 相关文章
计算机底部580*90广告
文章页右侧第一330*280广告
计算机文章页资讯推荐
热点资讯
文章页330尺寸谷歌广告位
资讯快报
热门课程培训