quarkiverse / quarkus-cxf

Quarkus CXF Extension to support SOAP based web services.
Apache License 2.0
76 stars 60 forks source link

Allow exposing multiple endpoints on the same path #471

Open raptium opened 2 years ago

raptium commented 2 years ago

CXF allows multiple endpoints to be exposed on the same path when allow-multiplex-endpoint is set on the Endpoint. (See https://github.com/apache/cxf/blob/main/rt/bindings/soap/src/main/java/org/apache/cxf/binding/soap/SoapBindingFactory.java#L907) An EndpointSelectionInterceptor will be added and used to determine the actual endpoint to use on incoming requests.

However, this is somehow cannot be achieved with quarkus-cxf because quarkus.cxf.endpoint."endpoints".* config keys contain "endpoints" (which is used a the relative path for exposed service) and we cannot have multiple implementor to have the same "endpoints" part.

shumonsharif commented 2 years ago

Hi @raptium Sorry for the late response; would it be possible by any chance for you to provide a small sample project, without Quarkus, that demonstrates the allow-multiplex-endpoint flag in action? I'll also look into it in the meantime, to get a better understanding of how this may fit into the extension.

raptium commented 2 years ago

@shumonsharif Sure, I will add an example for better elaboration.

raptium commented 2 years ago

I find there is already an example in CXF's tests, http://svn.apache.org/repos/asf/cxf/trunk/systests/uncategorized/src/test/java/org/apache/cxf/systest/versioning/Server.java

shumonsharif commented 2 years ago

I looked at that unit test when you first logged the issue. However, it would certainly be a lot more helpful to see an application that demonstrates your use case(s). No worries if you aren't able to put one together, I'll try to make some time to dig in over the upcoming weeks.