Hi, Your thinking was correct :-) I set the httpj config to have the services bind to 0.0.0.0 but then specified the eth0 ip address in the jaxws:endpoint / jaxws factory and the services are available on localhost as well but the wsdl location is set to the eth0 ip - awesome thanks
Sent from my iPhone On Dec 18, 2010, at 8:49, Daniel Kulp <[email protected]> wrote: > On Thursday 16 December 2010 7:37:39 pm Jason Pell wrote: >> Hi, >> >> I discovered if I disabled the following in the applicationContext.xml >> >> <httpj:engine-factory> >> <httpj:engine port="9449"> >> </httpj:engine> >> </httpj:engine-factory> >> >> Then the service would no longer be bound to 0.0.0.0, I now get: >> >> selectchannelconnec...@localhost:9449 > > Ah. OK. Now I understand what's happening. :-) > > When you configure an engine for a port, there is a "host" attribute that you > can set to tell it which host to bind to. If unset, it uses "all". > > If there is NOT a configuration, it uses the host specified by the URL that > is > passed in at publish. > > I THINK you can configure the engine like above, but then pass in pretty much > any hostname (like the "public" host name of the machine) and the service > would start up on all IP's, but the returned wsdl would contain the public > URL/name. > > > Dan > > >> >> On Fri, Dec 17, 2010 at 7:31 AM, Jason Pell <[email protected]> wrote: >>> I could see binding to 0.0.0.0 automatically as a security issue I guess? >>> >>> Sent from my iPhone >>> >>> On Dec 17, 2010, at 7:20, Daniel Kulp <[email protected]> wrote: >>>> On Thursday 16 December 2010 3:04:52 pm Jason Pell wrote: >>>>> So your tests if I understand it - none of the services are available >>>>> on any network interface except the local loop back? >>>> >>>> That's what I'm seeing with both 2.2.12 and 2.3.1 (and trunk) if the >>>> address is set to http://localhost:8080. >>>> >>>>> So should I be using two endpoints for each service - one for localhost >>>>> and one for the external network interface >>>> >>>> Look like it, yea. >>>> >>>>> My current behavior of jaxws:endpoint being deployed to 0.0.0.0 is >>>>> unexpected? >>>> >>>> Well, to be honest, I had THOUGHT that that deploying to 0.0.0.0 was the >>>> default behavior unless a spring config configured the port to ONLY go >>>> on a certain host. I'm not sure why it's NOT doing that, but it >>>> doesn't seem to be for me with 2.2.12 so it doesn't seem to be a >>>> "regression", but I'm also not sure if its working as designed. I >>>> could actually go either way with it. :-) >>>> >>>> Dan >>>> >>>>> Sent from my iPhone >>>>> >>>>> On Dec 17, 2010, at 5:57, Daniel Kulp <[email protected]> wrote: >>>>>> Well, I'm not able to reproduce the jaxws:endpoint behavior you >>>>>> describe. I >>>>>> >>>>>> updated a test to have: >>>>>> <bean id="ServiceImpl" class="org.apache.cxf.cxf1332.Cxf1332Impl"/> >>>>>> <jaxws:endpoint id="cxf1332" implementor="#ServiceImpl" >>>>>> >>>>>> address="http://localhost:9000/Cxf1332" /> >>>>>> >>>>>> <bean id="ServiceFactory" >>>>>> >>>>>> class="org.apache.cxf.jaxws.JaxWsServerFactoryBean"> >>>>>> >>>>>> <property name="serviceBean" ref="ServiceImpl" /> >>>>>> <property name="start" value="true" /> >>>>>> <property name="address" value="http://localhost:9001/Cxf1332"/> >>>>>> >>>>>> </bean> >>>>>> >>>>>> and then started the factory. I see: >>>>>> >>>>>> INFO: Started selectchannelconnec...@localhost:9000 >>>>>> ..... >>>>>> INFO: Started selectchannelconnec...@localhost:9001 >>>>>> >>>>>> >>>>>> >>>>>> Now, I CAN reproduce your issue of the above then only being available >>>>>> on localhost. However, I don't think this is any different than >>>>>> with 2.2.x? I just ran the java_first_jaxws with 2.2.12 server and I >>>>>> get: >>>>>> >>>>>> INFO: Started selectchannelconnec...@localhost:9000 >>>>>> and a netstat -an showed it only on localhost and trying to do a get >>>>>> on non- localhost doesn't work. >>>>>> >>>>>> >>>>>> Dan >>>>>> >>>>>> On Wednesday 15 December 2010 8:24:46 am Jason Pell wrote: >>>>>>> Hi, >>>>>>> >>>>>>> Prior to 2.3.0 this all worked fine... >>>>>>> >>>>>>> I have a mixture of java first web services I am deploying using both >>>>>>> jaxws:endpoint and more directly using >>>>>>> org.apache.cxf.jaxws.JaxWsServerFactoryBean >>>>>>> >>>>>>> When I use a jaxws:endpoint and specify an address of for example: >>>>>>> >>>>>>> http://localhost:9449/SomeService >>>>>>> >>>>>>> The service is available on ALL network interfaces because CXF seems >>>>>>> to deploy it to 0.0.0.0. However when I manually construct a service >>>>>>> using springs beans and JaxWsServerFactoryBean (a subset is included >>>>>>> here): >>>>>>> >>>>>>> <bean id="ServiceFactory" >>>>>>> class="org.apache.cxf.jaxws.JaxWsServerFactoryBean"> <property >>>>>>> name="serviceBean" ref="ServiceImpl" /> >>>>>>> >>>>>>> <property name="start" value="false" /> >>>>>>> >>>>>>> <property name="http://localhost:9448/SomeOtherService"> >>>>>>> >>>>>>> </bean> >>>>>>> >>>>>>> It only gets deployed to localhost. >>>>>>> >>>>>>> The logs from jetty are different too: >>>>>>> >>>>>>> org.eclipse.jetty.util.log - Started >>>>>>> selectchannelconnec...@localhost:9448 org.eclipse.jetty.util.log - >>>>>>> Started [email protected]:9449 >>>>>>> >>>>>>> Any ideas why this is so. At the moment I have modified my spring >>>>>>> beans to specify >>>>>>> <property name="http://0.0.0.0:9448/SomeOtherService"> >>>>>>> >>>>>>> but its nasty, especially as the WSDL now contains this 0.0.0.0 >>>>>>> address which looks particularly nasty and causes real problems for >>>>>>> those trying to load the WSDL into soapui on a remote server. >>>>>>> Ideally the wsdl should contain the address of the network interface >>>>>>> it was requested from. >>>>>>> >>>>>>> But if I can just get it so that it deploys to all network interfaces >>>>>>> without me having to specify 0.0.0.0 in the address that would be >>>>>>> ideal. >>>>>>> >>>>>>> I have reasons why I cannot use jaxws:endpoint so please don't >>>>>>> suggest that :-) I just need to know what jaxws:endpoint is doing >>>>>>> differently and replicate that in my spring contexts >>>>>>> >>>>>>> Thanks >>>>>>> Jason >>>> >>>> -- >>>> Daniel Kulp >>>> [email protected] >>>> http://dankulp.com/blog > > -- > Daniel Kulp > [email protected] > http://dankulp.com/blog
