各位大侠:急急急请教    webservice传输对象A返回对象B的问题,如何在wsdd中进行配置
    客户端的调用

解决方案 »

  1.   

    配置 <beanMapping />
      

  2.   

    cxf,axis2 开发Web Service,一般都不用自己配置WSDL。
    客户端调用都提供了wsdl2java工具。
    具体用法可以查看命令行参数
    wsdl2java -?
    或者网上找找。
      

  3.   

    可以将对象序列化成字节型数组来传输,如下:
    //将DataForm类的对象实例序列化,放置到内存某区域,并返回序列化后的字节数组
    //DataForm类必须实现Serializable接口  
        public byte[] getDataFormBytes() throws Exception    
        {   
            ByteArrayOutputStream baos = new ByteArrayOutputStream();   
            ObjectOutputStream oos = new ObjectOutputStream(baos);   
            oos.writeObject(new DataForm());
            return baos.toByteArray();   
        }客户端发送对象前,服务器端返回对象前调用即可。
      

  4.   

    我用axis作为客户端向cxf服务端发送对象 客户端该如何却写呢
      

  5.   

    现在是对方服务端用的是cxf   我作为客户端发送给他用axis 怎么也发不过去,不知这客户端该如何去写,请大家给予帮助 ,谢谢了
      

  6.   

    1.XFire,Axis等也是WebService的框架,客户端不需要使用任何框架的。2.直接使用自jdk1.6开始自带的功能实现客户端即可。过程如下:
    2.1.进入控制台,使用jdk自带的JAX-WS框架生成调用webservice的存根,如下:
      wsimport -keep wsdl地址
    如果存在代理服务器,则:
      wsimport -httpproxy:192.168.2.1:808 -keep wsdl地址
    如此则会在当前目录下生成调用webservice的存根.2.2.在生成的java源文件中,除去ObjectFactory.java,Pageage-inf.java,XXXResponse等文件外,从其他文件中找到执行入口;或者直接从WSDL地址生成的Schema文档中找到调用方法;2.3.使用存根调用webservice,注意如果存在代理服务器的话,需要在调用前加入代码:
      System.getProperties().put("proxySet","true");
      System.getProperties().put("proxyHost","代理地址");
      System.getProperties().put("proxyPort","代理端口");2.4.有些代理在授权用户访问因特网之前,要求用户输入用户名和口令。如果使用位于防火墙之内的Web浏览器,就有可能碰到过这种情况。以下是执行认证的方法:
      URLConnection connection=url.openConnection();
      String password="username:password";
      String encodedPassword=base64Encode(password);
      connection.setRequestProperty("Proxy-Authorization",encodedPassword); 
      

  7.   

    要他们给wsdl文件,然后用wsdl2java生成客户端代码,即可。