Skip to end of metadata
Go to start of metadata

webservice://

(+) (#)

2.3.0以上版本支持。
基于CXF的frontend-simpletransports-http实现。
CXF是Apache开源的一个RPC框架:http://cxf.apache.org,由Xfire和Celtix合并而来 。

依赖:

可以和原生WebService服务互操作,即:

  • 提供者用Dubbo的WebService协议暴露服务,消费者直接用标准WebService接口调用,
  • 或者提供方用标准WebService暴露服务,消费方用Dubbo的WebService协议调用。

基于WebService的远程调用协议。

  • 连接个数:多连接
  • 连接方式:短连接
  • 传输协议:HTTP
  • 传输方式:同步传输
  • 序列化:SOAP文本序列化
  • 适用场景:系统集成,跨语言调用。

(1) 约束:

  • 参数及返回值需实现Serializable接口
  • 参数尽量使用基本类型和POJO。

(2) 配置:
Define hessian protocol:

Set default protocol:

Set service protocol:

Multi port:

Directly provider:

WSDL:

h4. Jetty Server: (default)

h4. Servlet Bridge Server: (recommend)

web.xml:

注意,如果使用servlet派发请求:

  • 协议的端口<dubbo:protocol port="8080" />必须与servlet容器的端口相同,
  • 协议的上下文路径<dubbo:protocol contextpath="foo" />必须与servlet应用的上下文路径相同。
Labels:
None
Enter labels to add to this page:
Please wait 
Looking for a label? Just start typing.
  1. 五月 02, 2013

    Anonymous

    Dubbo和webservice集成时
    注册服务时服务提供者配置:
    <dubbo:protocol id="webservice" name="webservice" port="8080"
    server="servlet" contextpath="DubboTest" />

    <dubbo:service interface="com.dubbo.test.DubboTest.ServiceApi" ref="serviceApiImpl" protocol="webservice" />

    <bean id="serviceApiImpl" class="com.dubbo.test.DubboTest.ServiceApiImpl" />

    还需要其他的配置吗?
    我这样配置敲地址http://ip:8080/DubboTest/com.dubbo.test.DubboTest.ServiceApi?wsdl
    显示No service was found.
    我注意到服务启动时info显示
    2013-05-02 16:46:11,468 INFO [org.apache.cxf.service.factory.ReflectionServiceFactoryBean] - <Creating Service

    Unknown macro: {http}

    ServiceApi from class com.dubbo.test.DubboTest.ServiceApi>

    而我将协议换成hessian后一切正常。
    dubbo版本号2.3.4

    1. 五月 02, 2013

      Anonymous

      2013-05-02 16:46:11,468 INFO [org.apache.cxf.service.factory.ReflectionServiceFactoryBean] - <Creating Service

      Unknown macro: {httx DubboTest.test.dubbo.com }

      ServiceApi from class com.dubbo.test.DubboTest.ServiceApi>

  2. 七月 10, 2013

    Anonymous

    经测试,注解配置:@Service(version = "1.0.0", protocol=

    Unknown macro: {"webservice","dubbo"}

    ,path="services")无效,只能在xml中配置<dubbo:service/>

    1. 七月 10, 2013

      Anonymous

      说明一下,是进行webservice调用无效

  3. 九月 09, 2013

    Anonymous

    能不能给个详细点的例子

Add Comment