ffang commented on PR #4721: URL: https://github.com/apache/camel-quarkus/pull/4721#issuecomment-1520854585
> CxfSoapWsrmTest Hi @JiriOndrusek , Thanks for the clarification! I just pushed another commit to https://github.com/quarkiverse/quarkus-cxf/pull/835 Could you please re-run your test against the new commit also. Also your testcase need some configuration to use the decoupled endpoint like ``` --- a/integration-test-groups/cxf-soap/cxf-soap-ws-rm/src/main/java/org/apache/camel/quarkus/component/cxf/soap/wsrm/it/CxfSoapWsrmRoutes.java +++ b/integration-test-groups/cxf-soap/cxf-soap-ws-rm/src/main/java/org/apache/camel/quarkus/component/cxf/soap/wsrm/it/CxfSoapWsrmRoutes.java @@ -26,8 +26,15 @@ import jakarta.inject.Inject; import jakarta.inject.Named; import org.apache.camel.Processor; import org.apache.camel.builder.RouteBuilder; +import org.apache.camel.component.cxf.jaxws.CxfConfigurer; import org.apache.camel.component.cxf.jaxws.CxfEndpoint; +import org.apache.cxf.endpoint.Client; +import org.apache.cxf.endpoint.Server; import org.apache.cxf.ext.logging.LoggingFeature; +import org.apache.cxf.frontend.AbstractWSDLBasedEndpointFactory; +import org.apache.cxf.transport.http.HTTPConduit; +import org.apache.cxf.transports.http.configuration.HTTPClientPolicy; +import org.apache.cxf.ws.addressing.WSAContextUtils; import org.apache.cxf.ws.rm.manager.AcksPolicyType; import org.apache.cxf.ws.rm.manager.DestinationPolicyType; import org.apache.cxf.ws.rmp.v200502.RMAssertion; @@ -91,7 +98,7 @@ public class CxfSoapWsrmRoutes extends RouteBuilder { cxfEndpoint.setAddress("/wsrm/RouterPort"); addWsRmFeature(cxfEndpoint); - + cxfEndpoint.setCxfConfigurer(new MyCxfConfigurer()); return cxfEndpoint; } @@ -185,4 +192,32 @@ public class CxfSoapWsrmRoutes extends RouteBuilder { : config.getValue("quarkus.http.port", Integer.class); return String.format("http://localhost:%d", port); } + + public class MyCxfConfigurer implements CxfConfigurer { + + @Override + public void configure(AbstractWSDLBasedEndpointFactory factoryBean) { + // Do nothing here + } + + @Override + public void configureClient(Client client) { + + String decoupledEndpoint = "/wsrm/decoupled_endpoint"; + HTTPConduit hc = (HTTPConduit) (client.getConduit()); + HTTPClientPolicy cp = hc.getClient(); + cp.setDecoupledEndpoint(decoupledEndpoint); + client.getBus().setProperty(WSAContextUtils.DECOUPLED_ENDPOINT_BASE_PROPERTY, + getServerUrl() + + "/soapservice"); + + } + + @Override + public void configureServer(Server server) { + // Do nothing here + + } + + } ``` I changed this on your CQ4689-cxf-wsrm-coverage-backup branch, then I checked the log and decoupled-endpoint works using vertx destination, also the lost message got re-transmitted as expected(ws-rm works) Let me know if you have any further questions. Thanks! Freeman -- This is an automated message from the Apache Git Service. To respond to the message, please log on to GitHub and use the URL above to go to the specific comment. To unsubscribe, e-mail: commits-unsubscr...@camel.apache.org For queries about this service, please contact Infrastructure at: us...@infra.apache.org