Hello, Sergey We don't use Spring container. Did you register service and message observer without Spring?
Regards, Alexey -- Alexey Zavizionov eXo Platform SAS On Tue, Nov 25, 2008 at 11:46 PM, Sergey Beryozkin <[EMAIL PROTECTED]> wrote: > We did some custom MessageObservers at a time of doing jaxws tck 2.0 for > a container shipped with fuse cxf. > One basically needs to register a bean from spring and pass it a cxf bus > reference. Next, this bean, when instantiated, needs to register itself > as a service listener with a bus, and it can be configured on what > endpoints it needs to listen. Then it can provide a custom message > observer - I can try and find that code if needed > > Cheers, Sergey > > -----Original Message----- > From: Daniel Kulp [mailto:[EMAIL PROTECTED] > Sent: 25 November 2008 19:55 > To: [email protected] > Cc: Alexey Zavizionov > Subject: Re: How to publish multiport service? > > 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(SoapBindingFa > c >> >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(ProviderI > m >> >pl.java:84) javax.xml.ws.Endpoint.publish(Endpoint.java:47) >> > ============================ >> > >> > >> > Regards, >> > Alexey. > > > > -- > Daniel Kulp > [EMAIL PROTECTED] > http://dankulp.com/blog >
