cxf 动态客户端 ,可以按照如下方式做:
JaxWsDynamicClientFactory dcf = JaxWsDynamicClientFactory.newInstance();
Client client = dcf.createClient("service.wsdl");Object[] res = client.invoke("echo", "test echo");
System.out.println("Echo response: " + res[0]);很方便,只要提供一个wsdl的文件就可以了。但是有个问题是,在第一次连接的时候要生成一些wsdl文件里面定义的类,以及一些初始化的动作,比较耗时。在髙并发的情况下就会很慢。因为客户端句柄会初始化多次。现在就是想问下cxf在动态客户端连接的时候有没有缓存机制。

解决方案 »

  1.   

    有没有对 cxf 了解的  来看下
      

  2.   

    cxf 用的人不是很多啊
      

  3.   

    哦,还有就是请教楼主一个问题WEBSERVICE如果参数和返回值都是自定义对象的话你有没有发现出异常,就是调用根本不成功如果把参数换成字符串之类的类型,返回值返回的是document:null不是定义好的对象我在XXX.aegis.xml类指定了类型也不灵不知道楼主有什么办法
      

  4.   

    自定义对象没有什么问题,在wsdl文件里面定义好了,然后通过工具生成代码
      

  5.   

    你说的这个怎么感觉是反过来了?我都是定义了对象然后发布,才能得到wsdl的
      

  6.   

    用AXIS2吧,感觉还不错,方便简单。
      

  7.   

    对方服务端是用xfire写的,服务端要求soapbody中传入一段xml格式的字符串,不知道怎么传xml如下:<?xml version="1.0" encoding="GBK"?>
    <SERVICE>
    <IDA_SVR_USERBILL>
    <CALL_METHOD> CreateCallReq</CALL_METHOD>
    <INPUT_XMLDATA>
    <ChannelID>001</ChannelID>
    <CallTaskID>1</CallTaskID>
    <CallReqID>123456789</CallReqID>
    <AreaNO>023</AreaNO>
    <PhoneNO>67887123</PhoneNO>
    <Name>客户姓名</Name>
    <CustomField20_1>自定义属性值</CustomField20_1>
    <CustomField20_2>自定义属性值</CustomField20_2>
    <CustomField20_3>自定义属性值</CustomField20_3>
    <CustomField20_4>自定义属性值</CustomField20_4>
    <CustomField20_5>自定义属性值</CustomField20_5>望高手指点一二
      

  8.   

    用eclipse 编辑wsdl文件,然后在用wsdl2java 工具生成代码