Thanks for reply, Dan

How can I provide a multiple message observer for Endpoint.publish?
Any wiki documentation?


BTW, I have another way to deploy my service

    JaxWsServerFactoryBean serverFactory = new JaxWsServerFactoryBean();
//serverFactory.setBindingFactory(new HttpBindingInfoFactoryBean());
    serverFactory.getServiceFactory().setDataBinding(new JAXBDataBinding());
    serverFactory.setServiceClass(object.getClass());
    serverFactory.setAddress(address);
    serverFactory.setBus(CXFBusFactory.getDefaultBus());
    Server server = serverFactory.create();
    serverFactory.getServiceFactory()
                 .getService()
                 .getInInterceptors()
                 .add(new LoggingInInterceptor());
    serverFactory.getServiceFactory()
                 .getService()
                 .getOutInterceptors()
                 .add(new LoggingOutInterceptor());
    Service service = server.getEndpoint().getService();
    service.setInvoker(new BeanInvoker(object));
    server.start();

Have you a code to add that MultipleEndpointObserver in this case?

Regards,
Alexey

--
Alexey Zavizionov
eXo Platform SAS

On Tue, Nov 25, 2008 at 9:55 PM, Daniel Kulp <[EMAIL PROTECTED]> wrote:
> On Tuesday 25 November 2008 10:19:54 am Alexey Zavizionov wrote:
>> Are there any thoughts?
>>
>> How can I publish several ports with one service name?
>>
>>        String address = "http://my.service:8082/WSRPService";;
>>        Endpoint.publish(address, implementor);
>
> There isn't a way to do it.   Each endpoint needs to have a unique URL.  The
> ONLY exception we have right now is aSOAP 1.1 and a 1.2 endpoint can share
> the URL as the endpoint can be determined just from the namespace of the
> soap:envelope.
>
> You MAY be able to get it to work if you change the MessageObserver on the
> first registered endpoint to the MultipleEndpointObserver.   Then add some
> interceptors to figure out which endpoint to hit (probably saaj interceptor +
> something to look a the element names or similar), then register the second.
> Not something I've tried though.
>
> Dan
>
>
>>
>> Regards,
>> Alexey
>>
>> --
>> Alexey Zavizionov
>> eXo Platform SAS
>>
>> On Mon, Nov 24, 2008 at 3:08 PM, Alexey Zavizionov
>>
>> <[EMAIL PROTECTED]> wrote:
>> > How can I publish more than one port for a service?
>> >
>> > With generated sources I cannot do it due to the same address for both of
>> > them.
>> >
>> >  <wsdl:service name="WSRPService">
>> >    <wsdl:port binding="v2bind:WSRP_v2_Markup_Binding_SOAP"
>> > name="WSRP_v2_Markup_Service">
>> >      <soap:address location="http://my.service:8082/WSRPService"/>
>> >    </wsdl:port>
>> >    <wsdl:port binding="v2bind:WSRP_v2_ServiceDescription_Binding_SOAP"
>> > name="WSRP_v2_ServiceDescription_Service">
>> >      <soap:address location="http://my.service:8082/WSRPService"/>
>> >    </wsdl:port>
>> >
>> >
>> >    protected WSRPV2MarkupPortType_WSRPV2MarkupService_Server() throws
>> > Exception {
>> >        System.out.println("Starting Server");
>> >        Object implementor = new WSRPV2MarkupPortTypeImpl();
>> >        String address = "http://my.service:8082/WSRPService";;
>> >        Endpoint.publish(address, implementor);
>> >    }
>> >
>> >    protected
>> > WSRPV2ServiceDescriptionPortType_WSRPV2ServiceDescriptionService_Server()
>> > throws Exception {
>> >        System.out.println("Starting Server");
>> >        Object implementor = new WSRPV2ServiceDescriptionPortTypeImpl();
>> >        String address = "http://my.service:8082/WSRPService";;
>> >        Endpoint.publish(address, implementor);
>> >    }
>> >
>> > ============================
>> > java.lang.RuntimeException: Soap 1.1 endpoint already registered on
>> > address /WSRPService
>> >
>> > org.apache.cxf.binding.soap.SoapBindingFactory.addListener(SoapBindingFac
>> >tory.java:747)
>> > org.apache.cxf.endpoint.ServerImpl.start(ServerImpl.java:122)
>> > org.apache.cxf.jaxws.EndpointImpl.doPublish(EndpointImpl.java:263)
>> > org.apache.cxf.jaxws.EndpointImpl.publish(EndpointImpl.java:201)
>> > org.apache.cxf.jaxws.spi.ProviderImpl.createAndPublishEndpoint(ProviderIm
>> >pl.java:84) javax.xml.ws.Endpoint.publish(Endpoint.java:47)
>> > ============================
>> >
>> >
>> > Regards,
>> > Alexey.
>
>
>
> --
> Daniel Kulp
> [EMAIL PROTECTED]
> http://dankulp.com/blog
>

Reply via email to