-
1. Re: CXF endpoint + publishedEndpointUrl
ffang Jun 21, 2011 7:11 PM (in response to ms82)Hi,
Could you check the soap:address in the wsdl to see if your publishedEndpointUrl take effect?
I think the purpose of publishedEndpointUrl is change the soap:address in the wsdl only.
Freeman
-
2. Re: CXF endpoint + publishedEndpointUrl
njiang Jun 21, 2011 9:13 PM (in response to ffang)Just as Freeman said, the publishedEndpointUrl only take effects on the WSDL which is generated by CXF. In this way, your service's WSDL will not expose your internal address which your service is listening.
-
3. Re: CXF endpoint + publishedEndpointUrl
ms82 Jun 22, 2011 3:16 AM (in response to njiang)OK - Thanks for your replies, will provide you with some more details and describe what I want to achieve instead:
The setup:
1. Tomcat Annotation service
It's published on the localhost and therefore has the address:
"Address: http://localhost:8080/testDs/AnnotationWSService"
- The services are defined in-code as:
"@WebService(portName="AnnotationWS")"
- This service is not exposed to clients.
- Observation: If we access the server using the domain name localhost is used in the listed Address, if used with the private IP that IP is used instead!
2. CXF API for Annotation service(s)
In the POM it's basically a cxf-codegen-plugin configuration with different wsdl's pointing to the Tomcat services. The result is the generated classes as an API.
Example:
"
"
3. The service bundle installed in FuseESB
The external clients are supposed to access the webservices through the FuseESB service that is exposed on a api.* domain name therefore we would like the published address to reflect the "external" domain name. Clients will use the api.* domain that will then use localhost internally to get back with a response.
Puuh, did you get that?
Mikael
Edited by: ms82 on Jun 22, 2011 7:15 AM
Edited by: ms82 on Jun 22, 2011 7:16 AM
-
4. Re: CXF endpoint + publishedEndpointUrl
ms82 Jun 22, 2011 3:37 AM (in response to njiang)Hi again!
Here's an update, just removed the Apache Proxy Frontend and made FuseESB listen directly to port 80 on the domain (instead of being passed through apache), now we have the expected behaviour.
Thanks,
Mikael