On Tuesday, January 10, 2012 4:06:45 PM cbwhitebu wrote:
> It looks like the Server.getEndpoint().getBinding() returns a cxf
> SoapBinding instead of a JaxWS SOAPBinding so the documented method for
> enabling MTOM doesn't work.
The "Server" object in this case is a CXF specific thing and thus are dealing
with CXF APIs, not JAXWS. If you really needed/wanted the JAX-WS stuff,
you'd likely need to use the Endpoint.publish(....) method to create a JAX-WS
Endpoint.
> Is the following an acceptable workaround or is this a bug?
That's fine.
You could also try calling:
factory.setBindingId(SOAPBinding.SOAP11HTTP_MTOM_BINDING)
prior to the create. I think that would work.
Dan
>
> JaxWsServerFactoryBean factory = new JaxWsServerFactoryBean();
> factory.setBus(BusFactory.getDefaultBus());
> factory.setServiceName(new QName("http://mediStor.org/x-rays",
> "xRayStorage"));
> factory.setEndpointName(new QName("http://mediStor.org/x-rays",
> "XRaySOAPPort"));
> factory.setServiceClass(FirstService.class);
> factory.setAddress("http://localhost:8080/xray");
> factory.setWsdlLocation("test.wsdl");
> factory.setInvoker(new JAXWSMethodInvoker(new
> PerRequestFactory(factory
> .getServiceClass())));
> Server srv = factory.create();
> ((SoapBinding) srv.getEndpoint().getBinding()).getBindingInfo()
> .setProperty(Message.MTOM_ENABLED, true);
>
>
> --
> View this message in context:
> http://cxf.547215.n5.nabble.com/JaxWsServerFactoryBean-enabling-MTOM-tp5135
> 629p5135629.html Sent from the cxf-user mailing list archive at Nabble.com.
--
Daniel Kulp
[email protected] - http://dankulp.com/blog
Talend Community Coder - http://coders.talend.com