wso2:ws-discovery集成

wso2:ws-discovery集成,wso2,soa,esb,ws-discovery,Wso2,Soa,Esb,Ws Discovery,WSO2 WS发现集成 我们正在尝试将WS-Discovery与碳产品WSO2治理注册中心和WSO2 ESB集成 ApacheCXF Web服务堆栈通过运行在Tomcat上的Spring配置,向 WSO2 Greg上的发现代理(localhost:9443/services/DiscoveryProxy) 因此,我们将cxf-services-ws-discovery-service.jar和cxf-services-ws-discovery-api.jar添加到 Tomcat中的类路径。此外,

WSO2 WS发现集成

我们正在尝试将WS-Discovery与碳产品WSO2治理注册中心和WSO2 ESB集成 ApacheCXF Web服务堆栈通过运行在Tomcat上的Spring配置,向 WSO2 Greg上的发现代理(localhost:9443/services/DiscoveryProxy)

因此,我们将cxf-services-ws-discovery-service.jar和cxf-services-ws-discovery-api.jar添加到 Tomcat中的类路径。此外,我们还设置了spring总线属性org.apache.cxf.service.ws-discovery.address 指向WSO2 Greg上WS-Discovery代理的URL地址,以在托管模式下运行WS-Discovery。通过运行 Tomcat和WSO2 Greg以下错误消息记录在wso2Carbon.log(WSO2 Greg)中

我们通过阅读WSO2产品文档并搜索 几个论坛、博客等。不幸的是,我们找不到解决办法

备注:WS-Discovery与WSO2应用服务器(而不是Tomcat)的集成工作正常。 但是当使用WSO2 ESB作为发现客户机从WSO2中发现服务时,Greg将使用向导从中创建代理服务 WSO2 ESB上的discoverd服务在创建代理后缺少publishWSDL xml标记。必须添加此标记 手动。有没有一种方法可以在不进行额外编辑的情况下完成此操作

如果有任何帮助,我们将不胜感激


提前感谢

谢谢您的快速回复

我们截获了通过Tomcat和WSO2应用服务器发送给WSO2 GReg的hello请求。为此,我们使用了soapUI模拟 服务。soap信封的消息请求如下所示

Tomcat:

<soap:Envelope xmlns:soap="http://www.w3.org/2003/05/soap-envelope" xmlns:wsa="http://www.w3.org/2005/08/addressing" xmlns:tns="http://docs.oasis-open.org/ws-dd/ns/discovery/2009/01">
<soap:Header>
  <wsa:Action>http://docs.oasis-open.org/ws-dd/ns/discovery/2009/01/Hello</wsa:Action>
  <wsa:MessageID>urn:uuid:e01ce7dc-53c0-4b36-b7d5-0e84e3bd6a5d</wsa:MessageID>
  <wsa:To>https://localhost:9443/services/DiscoveryProxy</wsa:To>
  <wsa:ReplyTo>
    <wsa:Address>http://www.w3.org/2005/08/addressing/none</wsa:Address>
  </wsa:ReplyTo>
</soap:Header>
<soap:Body>
<ns2:Hello xmlns="http://www.w3.org/2005/08/addressing" xmlns:ns2="http://docs.oasis-open.org/ws-dd/ns/discovery/2009/01">
     <EndpointReference>
        <Address>urn:uuid:be46c1fc-1646-4bcc-8715-1aed4040fdd5</Address>
        <ReferenceParameters/>
     </EndpointReference>
     <ns2:Types xmlns:ns3="http://user.service.scheck.server.tia/">ns3:IZ3UserService</ns2:Types>
     <ns2:Scopes/>
     <ns2:XAddrs>/userService</ns2:XAddrs>
     <ns2:MetadataVersion>1</ns2:MetadataVersion>
  </ns2:Hello>
</soap:Body>
</soap:Envelope>

http://docs.oasis-open.org/ws-dd/ns/discovery/2009/01/Hello
urn:uuid:e01ce7dc-53c0-4b36-b7d5-0e84e3bd6a5d
https://localhost:9443/services/DiscoveryProxy
http://www.w3.org/2005/08/addressing/none
urn:uuid:be46c1fc-1646-4bcc-8715-1aed4040fdd5
ns3:IZ3UserService
/用户服务
1.
WSO2应用程序服务器:

<soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/">              
<soapenv:Header xmlns:wsa="http://www.w3.org/2005/08/addressing">
  <mns:serviceName xmlns:mns="http://www.wso2.org/ws/discovery">echo</mns:serviceName>
  <mns:wsdlURI xmlns:mns="http://www.wso2.org/ws/discovery">http://10.200.2.114:9764/services/echo?wsdl</mns:wsdlURI>
  <wsa:To>https://localhost:9443/services/DiscoveryProxy</wsa:To>
  <wsa:ReplyTo>
     <wsa:Address>http://www.w3.org/2005/08/addressing/none</wsa:Address>
  </wsa:ReplyTo>
  <wsa:MessageID>urn:uuid:d21e108b-34a2-4313-8b12-a22015567a51</wsa:MessageID>
  <wsa:Action>http://docs.oasis-open.org/ws-dd/ns/discovery/2009/01/Hello</wsa:Action>
</soapenv:Header>
<soapenv:Body>
  <wsd:Hello xmlns:wsd="http://docs.oasis-open.org/ws-dd/ns/discovery/2009/01">
     <wsa:EndpointReference xmlns:wsa="http://www.w3.org/2005/08/addressing">
        <wsa:Address>urn:uuid:439a1cd5-fb36-40e2-a54e-e0cb7f3409e4</wsa:Address>
     </wsa:EndpointReference>
     <wsd:Types xmlns:axis2ns1="http://echo.services.core.carbon.wso2.org">axis2ns1:echoPortType</wsd:Types>
     <wsd:Scopes>http://docs.oasis-open.org/ws-dd/ns/discovery/2009/01/DefaultScope</wsd:Scopes>
     <wsd:XAddrs>https://10.200.2.114:9444/services/echo http://10.200.2.114:9764/services/echo</wsd:XAddrs>
     <wsd:MetadataVersion>1</wsd:MetadataVersion>
  </wsd:Hello>
  </soapenv:Body>
  </soapenv:Envelope>

回声
http://10.200.2.114:9764/services/echo?wsdl
https://localhost:9443/services/DiscoveryProxy
http://www.w3.org/2005/08/addressing/none
urn:uuid:d21e108b-34a2-4313-8b12-a22015567a51
http://docs.oasis-open.org/ws-dd/ns/discovery/2009/01/Hello
urn:uuid:439a1cd5-fb36-40e2-a54e-e0cb7f3409e4
axis2ns1:echoPortType
http://docs.oasis-open.org/ws-dd/ns/discovery/2009/01/DefaultScope
https://10.200.2.114:9444/services/echo http://10.200.2.114:9764/services/echo
1.
比较这两个消息请求,我们注意到缺少了一些标记,如serviceName、wsdlURI和most-important 在我们看来,XAddrs。通过将XADDR手动添加到soapUI请求中,我们能够注册cxf服务 关于WSO2 GReg。也许您可以给我们一个建议,通过spring配置cxf或注释我们的 web服务实现


再次感谢……这对我们帮助很大

您能否截获通过Tomcat和应用服务器发送给GReg的Discovery hello请求,并对两者进行比较?这应该能让你知道遗漏了什么。如果可能的话,也把这些贴在这里,这样我们可以看一看
<soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/">              
<soapenv:Header xmlns:wsa="http://www.w3.org/2005/08/addressing">
  <mns:serviceName xmlns:mns="http://www.wso2.org/ws/discovery">echo</mns:serviceName>
  <mns:wsdlURI xmlns:mns="http://www.wso2.org/ws/discovery">http://10.200.2.114:9764/services/echo?wsdl</mns:wsdlURI>
  <wsa:To>https://localhost:9443/services/DiscoveryProxy</wsa:To>
  <wsa:ReplyTo>
     <wsa:Address>http://www.w3.org/2005/08/addressing/none</wsa:Address>
  </wsa:ReplyTo>
  <wsa:MessageID>urn:uuid:d21e108b-34a2-4313-8b12-a22015567a51</wsa:MessageID>
  <wsa:Action>http://docs.oasis-open.org/ws-dd/ns/discovery/2009/01/Hello</wsa:Action>
</soapenv:Header>
<soapenv:Body>
  <wsd:Hello xmlns:wsd="http://docs.oasis-open.org/ws-dd/ns/discovery/2009/01">
     <wsa:EndpointReference xmlns:wsa="http://www.w3.org/2005/08/addressing">
        <wsa:Address>urn:uuid:439a1cd5-fb36-40e2-a54e-e0cb7f3409e4</wsa:Address>
     </wsa:EndpointReference>
     <wsd:Types xmlns:axis2ns1="http://echo.services.core.carbon.wso2.org">axis2ns1:echoPortType</wsd:Types>
     <wsd:Scopes>http://docs.oasis-open.org/ws-dd/ns/discovery/2009/01/DefaultScope</wsd:Scopes>
     <wsd:XAddrs>https://10.200.2.114:9444/services/echo http://10.200.2.114:9764/services/echo</wsd:XAddrs>
     <wsd:MetadataVersion>1</wsd:MetadataVersion>
  </wsd:Hello>
  </soapenv:Body>
  </soapenv:Envelope>