apache camel cxf - 更改soap:地址位置

时间:2017-10-31 11:12:24

标签: web-services apache-camel cxf jbossfuse

我需要在jboss fuse服务器上公开soap服务。我要做的是复制现有的开发肥皂服务。

现有浏览器网址  http://ip:8027/Services/Interface/WebServices/TestService.serviceagent?wsdl

现有端点网址  http://ip:3456//Services/Interface/WebServices/Service.serviceagent/ChangeCustomerBasicEndpoint1

根据我的理解,可以在浏览器中访问上述浏览器URL,并且可以查看WSDL。  类似地,我们可以在SOAP-UI中使用此浏览器URL来获取WSDL,并将端点URL发送到请求 - 对吗?

enter image description here

我可以使用以下代码

公开soap服务
<?xml version="1.0" encoding="UTF-8"?>
<blueprint xmlns="http://www.osgi.org/xmlns/blueprint/v1.0.0"
    xmlns:cxf="http://camel.apache.org/schema/blueprint/cxf"
    xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://www.osgi.org/xmlns/blueprint/v1.0.0 ">
    <cxf:cxfEndpoint
        address="http://ip:8027/Services/Interface/WebServices/TestService.serviceagent?wsdl"
        id="testEndpoint" serviceClass="pk.com.test.app.TestService">

        <cxf:properties>
            <entry key="publishedEndpointUrl" 
            value="http://ip:3456//Services/Interface/WebServices/Service.serviceagent/ChangeCustomerBasicEndpoint1"/>
        </cxf:properties>

    </cxf:cxfEndpoint>

当我从SOAP-UI发送请求时,每件事情都运行正常。我拒绝连接 因为我发布的EndpointUrl有不同的端口和URL。

有关如何处理此问题的任何帮助吗?

1 个答案:

答案 0 :(得分:1)

publishedEndpointUrl将始终覆盖cxf:cxfEndpoint地址属性。

并且wsdl地址将被发布EndpointUrl +“?wsdl”