关于dubbo创建服务和引用服务时,会报错:cvc-complex-type.2.4.c: The matching wildcard is strict, but no declaration ca

Posted haha

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了关于dubbo创建服务和引用服务时,会报错:cvc-complex-type.2.4.c: The matching wildcard is strict, but no declaration ca相关的知识,希望对你有一定的参考价值。

  在跟着做淘淘商城项目时,用到了dubbo,作为一个SOA架构的项目,分为表现层与服务层,自然地,为了各个层之间解耦合(或者最大限度地松耦合),我们使用了dubbo这样一个alibaba开源的分布式服务框架,该框架最大的特点就是利用分层的方式来架构,从服务模型的角度来看,Dubbo采用的是一种非常简单的模型,要么是提供方提供服务,要么是消费方消费服务,所以基于这一点可以抽象出服务提供方(Provider)和服务消费方(Consumer)两个角色。

  但是在appplicationContext-service.xml创建服务和在springmvc.xml中引用服务时,我们设置了dubbo约束,但是仍然会报错,系统提示我们找不到dubbo:application、dubbo:registry、dubbo:protocol、dubbo:reference等元素

  具体错误如下:

Multiple annotations found at this line:
    - cvc-complex-type.2.4.c: The matching wildcard is strict, but no declaration can be found for element \'dubbo:application\'.
    - schema_reference.4: Failed to read schema document \'http://code.alibabatech.com/schema/dubbo/dubbo.xsd\', because 1) could not find the document; 2) the document could not be read; 3) the root 
     element of the document is not <xsd:schema>.

  错误如下图所示:

  

  

  为什么呢?因为阿里的开源网站http://code.alibabatech.com,早已经挂掉了!!!

  这就说明系统没有找到dubbo.xsd,于是我手动添加dubbo.xsd约束文件。在下载的dubbo-2.5.3.jar包中存在一个文件dubbo.xsd,将此文件取出存放于电脑的磁盘的某一目录,配置加载的时候先加载本地的。如下配置即可解决。

   

  

  在Eclipse中 Window --> Preferences

   

  

  保存完成后,右键相应的报红的配置文件,选择validate。稍等片刻即可解决。

  

参考链接:

  https://www.cnblogs.com/yuanchaoyong/p/9758053.html

  https://blog.csdn.net/wxydaisy/article/details/40650405

 

以上是关于关于dubbo创建服务和引用服务时,会报错:cvc-complex-type.2.4.c: The matching wildcard is strict, but no declaration ca的主要内容,如果未能解决你的问题,请参考以下文章

Dubbo——服务调用、服务暴露、服务引用过程

关于Dubbo和Spring异步注解@Async的冲突

dubbo服务引用与集群容错

dubbo控制器xml文件报错

dubbo源码—service reference

dubbo服务暴露