pro_newbie
pro_newbie

Reputation: 336

apache camel cxf - change soap:address location

I need to expose soap service on jboss fuse server. What I am tring to do is replicate an existing developed soap service.

Existing Browser URL: http://ip:8027/Services/Interface/WebServices/TestService.serviceagent?wsdl

Existing Endpoint URL: http://ip:3456//Services/Interface/WebServices/Service.serviceagent/ChangeCustomerBasicEndpoint1

According to my understanding the above Browser URL can be accessed in browser and WSDL can be viewed. Similarly we can use this Browser URL in SOAP-UI to get the WSDL and the Endpoint URL is where the request is sent to - right ?

enter image description here

I am able to expose the soap service, by using following code

<?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>

Every thing is working fine, to the point when I sent the request from SOAP-UI. I get connection refused because my publishedEndpointUrl has different port and url.

Any help on how to handle this ?

Upvotes: 0

Views: 606

Answers (1)

Freeman Fang
Freeman Fang

Reputation: 141

The publishedEndpointUrl will always override the cxf:cxfEndpoint address attribute.

And the wsdl address would be publishedEndpointUrl + "?wsdl"

Upvotes: 1

Related Questions