Willem, I just found this thread while looking for a way to change the soap:address location published at runtime, and wanted to contribute my thoughts. Unfortunately when using a static wsdl (specified using the wsdlLocation attribute), limiting the location to that contained in the wsdl is a serious limitation in development as it means that you either have to: a) create a different wsdl for each environment you're going to deploy into b) have an incorrect wsdl for all but the final deployed destination. This also assumes that the developer knows hostnames at build-time, and I expect will limit the ability to test.
Neither of these options makes me very comfortable. In my mind, the publishedEndpointUrl should be honoured regardless of whether you're using a static wsdl or not so that the definition can be externalised to a deploytime decision. Does this seem reasonable to you? Unfortunately the current code seems to be a showstopper for doing wsdl-first development (I'm more than happy for you to tell me otherwise & provide a workaround though). As our wsdl's have already been defined for these interfaces, it looks like I'll need to try a different WS framework in the mean-time (probably suns jaxws-ri without the spring plugin). It's a real shame though b/c cxf looks great otherwise. Hopefully I'll be back using it soon. Cheers, Mike Willem2 wrote: > > Hi Christian, > > Please see my comments in the mail. > Christian Vest Hansen wrote: >> Hi Willem, >> >> Troublesome as it may be, I have to try it. I'm scheduled this month >> to work on this as it is a feature that's pretty high on our wish >> list, and we might schedule more time if one month is not enough. >> >> > Great, any contribution are welcome here :) >>> I think if we can delegate the WSDL query to a static WSDL resovler >>> handler , you can define the WSDL service address as what you want. >>> >> >> Can you tell me more about this idea? Where would the good extension >> points be - what packages & modules to look at. >> >> > Since CXF WSDLQueryHandler[1] will Generate the WSDL Dynamically, > if your endpoint is generated from a static WSDL, I think you can define > the publishing url as what you > want in the static WSDL and let WSDLQueryHandler return the static WSDL > instead. > > [1]https://svn.apache.org/repos/asf/incubator/cxf/trunk/rt/core/src/main/java/org/apache/cxf/transport/http/WSDLQueryHandler.java > > Willem. >> 2007/12/4, Willem Jiang <[EMAIL PROTECTED]>: >> >>> Hi Chirstian, >>> >>> I don't think you can do that , since CXFServletControl will use the >>> endpoint address which get from the endpoint information to find the >>> right destination, and this endpoint information will be used as the >>> service address when CXF generate the WSDL for you. >>> >>> I think if we can delegate the WSDL query to a static WSDL resovler >>> handler , you can define the WSDL service address as what you want. >>> >>> Willem. >>> >>> Christian Vest Hansen wrote: >>> >>>> Hi, >>>> >>>> I'm trying to make it possible to configure the published soap:address >>>> location in the jaxws generated WSDLs. >>>> >>>> >From a spring point of view, I'm trying to make this: >>>> >>>> (beans.xml....) >>>> <jaxws:endpoint id="publishedEndpointUrl" >>>> implementor="#greeter" >>>> address="http://localhost:8080/publishedEndpointUrl" >>>> publishedEndpointUrl="http://cxf.apache.org/GreeterEndpoint"/> >>>> (....) >>>> >>>> Do this: >>>> >>>> (http://localhost:8080/publishedEndpointUrl?wsdl....) >>>> <wsdl:service name="GreeterService"> >>>> <wsdl:port binding="tns:GreeterServiceSoapBinding" >>>> name="GreeterPort"> >>>> <soap:address location="http://cxf.apache.org/GreeterEndpoint"/> >>>> </wsdl:port> >>>> </wsdl:service> >>>> (....) >>>> >>>> Right now, I'm trying to wrap my head around how the WSDL is generated >>>> and how that is connected to the values in the EndpointImpl objects >>>> that the jaxws:endpoint xml generates. >>>> >>>> If you have any hints to that end, or other relevant information then >>>> it would be greatly appreciated - I haven't worked with the CXF source >>>> before and the docs on the wiki are still a bit sparse in this regard. >>>> >>>> Thanks! >>>> >>>> >>>> >> >> >> > > -- View this message in context: http://www.nabble.com/configurability-of-published-soap%3Aaddress-location-on-jaxws-endpoints-tp14127128p16266846.html Sent from the cxf-dev mailing list archive at Nabble.com.
