加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 综合聚焦 > 服务器 > 安全 > 正文

解决cxf+bboss发布的webservice缺少<wsdl:types>和&lt

发布时间:2020-12-16 21:57:10 所属栏目:安全 来源:网络整理
导读:cxf+bboss发布webservice服务(cxf+bboss发布webservice服务方法请参考文档: bbossgroups webservice引擎使用方法),服务发布成功,查看其wsdl文件的时候却缺少wsdl:types和wsdl:message标签,例如: Xml代码 ? ?? ? xml ? version = "1.0" ? encoding = "U
cxf+bboss发布webservice服务(cxf+bboss发布webservice服务方法请参考文档:
bbossgroups webservice引擎使用方法),服务发布成功,查看其wsdl文件的时候却缺少<wsdl:types>和<wsdl:message>标签,例如:
Xml代码 ?

收藏代码

  1. ??<?xml?version="1.0"?encoding="UTF-8"??>???
  2. -?<wsdl:definitions?name="MaterialWServiceImplService"?targetNamespace="http://impl.webservice.material.mms.sany.com/"?xmlns:ns1="http://webservice.material.mms.sany.com/"?xmlns:ns2="http://schemas.xmlsoap.org/wsdl/soap/http"?xmlns:soap="http://schemas.xmlsoap.org/wsdl/soap/"?xmlns:tns="http://impl.webservice.material.mms.sany.com/"?xmlns:wsdl="http://schemas.xmlsoap.org/wsdl/"?xmlns:xsd="http://www.w3.org/2001/XMLSchema">??
  3. ??<wsdl:import?location="http://10.8.135.224:8081/SanyMMS/cxfservices/queryTaskList?wsdl=MaterialWService.wsdl"?namespace="http://webservice.material.mms.sany.com/"?/>???
  4. -?<wsdl:binding?name="MaterialWServiceImplServiceSoapBinding"?type="ns1:MaterialWService">??
  5. ??<soap:binding?style="document"?transport="http://schemas.xmlsoap.org/soap/http"?/>???
  6. -?<wsdl:operation?name="queryAwaitTaskByUserNum">??
  7. ??<soap:operation?soapAction=""?style="document"?/>???
  8. -?<wsdl:input?name="queryAwaitTaskByUserNum">??
  9. ??<soap:body?use="literal"?/>???
  10. ??</wsdl:input>??
  11. -?<wsdl:output?name="queryAwaitTaskByUserNumResponse">??
  12. ??<soap:body?use="literal"?/>???
  13. ??</wsdl:output>??
  14. ??</wsdl:operation>??
  15. ??</wsdl:binding>??
  16. -?<wsdl:service?name="MaterialWServiceImplService">??
  17. -?<wsdl:port?binding="tns:MaterialWServiceImplServiceSoapBinding"?name="MaterialWServiceImplPort">??
  18. ??<soap:address?location="http://10.8.135.224:8081/SanyMMS/cxfservices/queryTaskList"?/>???
  19. ??</wsdl:port>??
  20. ??</wsdl:service>??
  21. ??</wsdl:definitions>??


认真看发布后的wsdl文件,发现多了<wsdl:import>标签:
Xml代码 ?

收藏代码

  1. <wsdl:import?location="http://10.8.135.224:8081/SanyMMS/cxfservices/queryTaskList?wsdl=MaterialWService.wsdl"?namespace="http://webservice.material.mms.sany.com/"?/>???


将<wsdl:import>标签中的location拿出去在浏览器中打开,里面是“丢失”的两个标签,这时候就发现其实并不是丢失了,而是包含在了<wsdl:import>标签内

为什么会包含在了<wsdl:import>标签内?仔细查看生成的wsdl,发现<wsdl:definitions>标签内的targetNamespace属性和<wsdl:import>中namespace属性的值不同,这就是原因所在,发布服务时,接口类和服务实现类的@Webservice注解中没有指定targetNamespace为一个名称或者没有指定时(cxf发布服务时会默认将类和接口的包路径反转,然后作为targetNamespace的值),就会导致上述现象,最终解决方案:
1,将接口类和实现类放在同一个包下,问题即可解决

2,将接口类和实现类中的注解中加入命名空间属性配置,@WebService(targetNamespace="XXXXX"),两个配置值保持一致即可

实现类:
Java代码 ?

收藏代码

  1. package?org.frameworkset.web.ws;??
  2. ??
  3. import?javax.jws.WebService;??
  4. ??
  5. /**?
  6. ?*?<p>Title:?WSServiceImpl.java</p>??
  7. ?*?<p>Description:?</p>?
  8. ?*?<p>bboss?workgroup</p>?
  9. ?*?<p>Copyright?(c)?2008</p>?
  10. ?*?@Date?2011-4-24?
  11. ?*?@author?biaoping.yin?
  12. ?*?@version?1.0?
  13. ?*/??
  14. @WebService(targetNamespace="org.frameworkset.web.ws")??
  15. public?class?WSServiceImpl?implements?WSService{??
  16. ??
  17. ????public?String?sayHello(String?duoduo)?{??
  18. ??
  19. ????????if(duoduo?==?null)??
  20. ????????????return?"";??
  21. ????????else??
  22. ????????????return?duoduo;??
  23. ????}??
  24. ??
  25. }??


接口定义:
Java代码 ?

收藏代码

  1. package?org.frameworkset.web.ws;??
  2. ??
  3. import?javax.jws.WebService;??
  4. ??
  5. /**?
  6. ?*?<p>Title:?WSService.java</p>??
  7. ?*?<p>Description:?</p>?
  8. ?*?<p>bboss?workgroup</p>?
  9. ?*?<p>Copyright?(c)?2008</p>?
  10. ?*?@Date?2011-4-24?
  11. ?*?@author?biaoping.yin?
  12. ?*?@version?1.0?
  13. ?*/??
  14. @WebService(targetNamespace="org.frameworkset.web.ws")??
  15. public?interface?WSService?{??
  16. ??????
  17. ????public?String?sayHello(String?duoduo)??
  18. ????;??
  19. ??
  20. }?

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读