I'm implementing a web service using @WebServiceProvider and
Provider<SOAPMessage>. I also have several WSDLs that I want to associate with
the service. I'm creating the Endpoint using Endpoint.create(). I can pass in
one WSDL using EndpointImpl.setWsdlLocation(), but I'm not sure how to pass in
more WSDL schemas.
I can see that a ServiceInfo has room for multiple schemas (getSchemas() and
addSchema()), but it's not clear how to (easily) do the whole "get the schema
from the wsdl and add it to the service".
I was able to cobble together this somewhat ugly combination:
EndpointImpl ep = Endpoint.create(...);
WSDLServiceFactory factory = new
WSDLServiceFactory(BusFactory.newInstance().createBus(), "wsdl url here", null);
org.apache.cxf.service.Service tempSvc = factory.create();
ep.getService().getServiceInfos().get(0).addSchema(tempSvc.getServiceInfos().get(0).getSchemas().get(0));
Any suggestions on a cleaner way to do this?
Thanks,
Lee