Thanks Alessio :-)

2012/12/10 Alessio Soldano <[email protected]>

> Hi Bin,
> just read your message (Friday was bank holiday here). I'll check your
> patch and improve my fix to cover your scenario too.
> Will create a new jira and link to the current one, as the release
> process for 2.7.1 has been started in the meantime.
> Cheers
> Alessio
>
> On 12/07/2012 09:28 AM, Bin Zhu wrote:
> > Hi Alessio,
> >
> > I've attached the patch here
> > https://issues.apache.org/jira/secure/attachment/12559830/CXF-4677.patch
> > Can you help review it? Thanks.
> >
> >
> > 2012/12/6 Alessio Soldano <[email protected]>
> >
> >> Hi Bin,
> >> ok, either commit or attach an additional patch to CXF-4677 jira and let
> >> me review before the upcoming release ;-)
> >>
> >> Alessio
> >>
> >> On 12/06/2012 08:23 AM, Bin Zhu wrote:
> >>> Hi,
> >>>
> >>> Thanks for the quick response.  I've tried this patch but it doesn't
> >> update
> >>> all the soapaddress locations in my test.
> >>>
> >>> Looked into the code and find that reason is an Exception will be throw
> >> in
> >>> the following line in new added
> >> WSDLGetUtils.rewriteAddressProtocolHostPort
> >>> method:
> >>>  URL locUrl = new URL(location); // Exception will be thrown in this
> line
> >>> since the value of location is like"/InventoryService"
> >>>
> >>> It is suggested to get the  http base path by using " String basePath =
> >>> (String) message.get("http.base.path")" in rewriteAllSoapAddress logic,
> >>> then append it to the soapaddress location
> >>> in WSDLGetUtils.rewriteAddressProtocolHostPort method.
> >>>
> >>> I made the changes and it works in my local box. I would like to make
> >> this
> >>> fix if you don't mind. Thanks.
> >>>
> >>>
> >>>
> >>> 2012/12/5 Alessio Soldano <[email protected]>
> >>>
> >>>> Hi,
> >>>> I've committed a patch for supporting
> >>>> 'autoRewriteSoapAddressForAllServices' option. The main difference
> with
> >>>> what the already existing 'autoRewriteSoapAddress' option did, is that
> >>>> when rewriting the other service/ports soap:address location
> attributes,
> >>>> the existing path component of the address is not changed, as that
> would
> >>>> not really make sense.
> >>>>
> >>>> The new option is an extension of the former one; so setting the new
> one
> >>>> to true implies also enable the former one (IOW the current
> service/port
> >>>> address is also fully rewritten).
> >>>>
> >>>> Cheers
> >>>> Alessio
> >>>>
> >>>> On 12/05/2012 11:51 AM, Andrei Shakirin wrote:
> >>>>> Issue https://issues.apache.org/jira/browse/CXF-4677 is created.
> >>>>> Would you like to deliver the patch yourself?
> >>>>>
> >>>>> Cheers,
> >>>>> Andrei.
> >>>>>
> >>>>>> -----Original Message-----
> >>>>>> From: Bin Zhu [mailto:[email protected]]
> >>>>>> Sent: Mittwoch, 5. Dezember 2012 07:24
> >>>>>> To: [email protected]
> >>>>>> Subject: Re: service location in WSDL generated by CXF
> >>>>>>
> >>>>>> Many thanks to all of you about the suggestions.
> >>>>>>
> >>>>>> To Alessio,
> >>>>>> As we are working on migrating our application to CXF and these
> >>>> application
> >>>>>> needs this function to work, can you estimate when the fix could be
> >>>>>> delivered? It will be helpful for us to size and schedule the whole
> >>>> migration
> >>>>>> work. Thanks.
> >>>>>>
> >>>>>> 2012/12/4 Alessio Soldano <[email protected]>
> >>>>>>
> >>>>>>> I agree with the need of such a functionality.
> >>>>>>> I'm likely going to work on this soon, will post the jira reference
> >>>> later.
> >>>>>>> Default behaviour can for sure stay as is, but I see scenarios
> >>>>>>> requiring a different configuration (e.g. all endpoints, belonging
> to
> >>>>>>> the same wsdl service, to be updated using the configured
> >> EndpointInfo
> >>>>>>> published url property before writing the wsdl definition and
> >>>>>>> returning it for the current query).
> >>>>>>>
> >>>>>>> Cheers
> >>>>>>> Alessio
> >>>>>>>
> >>>>>>> On 12/03/2012 05:56 PM, Andrei Shakirin wrote:
> >>>>>>>> Hi Ivan,
> >>>>>>>>
> >>>>>>>> I can imagine that in some cases it makes sense to update all WSDL
> >>>>>>> service endpoints, but I wouldn't configure it by default.
> >>>>>>>> We can introduce additional context property
> >>>>>>> "rewriteSoapAddressForAllServices" (like autoRewriteSoapAddress ,
> >>>>>>> publishedEndpointUrl) and if it is activated, endpoint of all
> >> relevant
> >>>>>>> services will be updated. Default value will be false.
> >>>>>>>> Logic located in WSDLGetUtils.updateDoc().
> >>>>>>>>
> >>>>>>>> Cheers,
> >>>>>>>> Andrei.
> >>>>>>>>
> >>>>>>>>> -----Original Message-----
> >>>>>>>>> From: Ivan [mailto:[email protected]]
> >>>>>>>>> Sent: Sonntag, 2. Dezember 2012 16:08
> >>>>>>>>> To: [email protected]
> >>>>>>>>> Subject: Re: service location in WSDL generated by CXF
> >>>>>>>>>
> >>>>>>>>> Well, I agree that, the accessing address for other ports may not
> >>>>>>> correct
> >>>>>>>>> in some scenarios. While thinking the common usage in the Java EE
> >>>>>>>>> environment, we usually publish those endpoints in one web app,
> and
> >>>>>>>>> the target web app will be accessed in one host, which associated
> >>>>>>>>> with web connectors. So, I am thinking that this is a good idea,
> >>>>>>>>> and maybe a flag could be used to determine the behavior.
> >>>>>>>>>
> >>>>>>>>> I added the similar function in Apache Geronimo, and think that
> it
> >>>>>>>>> will
> >>>>>>> be
> >>>>>>>>> better that CXF could provide kind of native support for this.
> >>>>>>>>> [1]
> >>>>>>>>>
> >> https://svn.apache.org/repos/asf/geronimo/server/branches/3.0/plugi
> >>>>>>>>> ns/a
> >>>>>>>>> xis2/geronimo-
> >>>>>>>>>
> >>>>>> axis2/src/main/java/org/apache/geronimo/axis2/WSDLQueryHandler.java
> >>>>>>>>>
> >>>>>>>>> Thoughts ?
> >>>>>>>>>
> >>>>>>>>> 2012/11/29 Andrei Shakirin <[email protected]>
> >>>>>>>>>
> >>>>>>>>>> Proposed update of all services endpoints can be in some cases
> >>>>>>> incorrect.
> >>>>>>>>>> The absolute endpoint URL can be determined only from incoming
> >>>>>> request.
> >>>>>>>>> As
> >>>>>>>>>> far as you request InventoryService, not InventoryProvider; only
> >>>>>>>>>> InventoryService endpoint is updated.
> >>>>>>>>>> Imagine, you request InventoryProvider using other URL (for
> >>>>>>>>>> example
> http://127.0.0.1:9080/jaxws-wsdlfaults2/InventoryProvider
> >> ,
> >>>>>>>>>> or even
> >>>>>>> using
> >>>>>>>>>> other port) and InventoryProvider will have absolute URL
> different
> >>>>>>>>>> as InventoryService.
> >>>>>>>>>>
> >>>>>>>>>> Cheers,
> >>>>>>>>>> Andrei.
> >>>>>>>>>>
> >>>>>>>>>>> -----Original Message-----
> >>>>>>>>>>> From: Bin Zhu [mailto:[email protected]]
> >>>>>>>>>>> Sent: Dienstag, 27. November 2012 07:30
> >>>>>>>>>>> To: [email protected]
> >>>>>>>>>>> Subject: service location in WSDL generated by CXF
> >>>>>>>>>>>
> >>>>>>>>>>> Hi All,
> >>>>>>>>>>> I find that when define 2 service using a SEI class and a
> Service
> >>>>>>>>>> provider class,
> >>>>>>>>>>> if query the service defined by SEI, then in the WSDL generated
> >>>>>>>>>>> by
> >>>>>>> CXF,
> >>>>>>>>>> it will
> >>>>>>>>>>> only update the service location for this SEI service, but the
> >>>>>>> location
> >>>>>>>>>> defined
> >>>>>>>>>>> by service provider will not be updated.
> >>>>>>>>>>> Is this behavior as design? Could it update all the service
> >>>>>>>>>>> location
> >>>>>>>>>> rather than
> >>>>>>>>>>> only the requested one? Thanks in advance.
> >>>>>>>>>>>
> >>>>>>>>>>> Service defined by SEI:
> >>>>>>>>>>>
> >>>>>> @WebService(targetNamespace="http://inventory.wsdlfaults.jaxws";,
> >>>>>>>>>>>             wsdlLocation="WEB-INF/wsdl/Inventory.wsdl",
> >>>>>>>>>>>             serviceName="InventoryService",
> >>>>>>>>>>>             portName="InventoryPort",
> >>>>>>>>>>>
> >>>>>>>>>>>
> >>>>>>>>>
> >>>>>>>
> >> endpointInterface="jaxws.wsdlfaults.wsfvt.server.inventory.InventoryPo
> >>>>>>> rtT
> >>>>>>>>>>> ype")
> >>>>>>>>>>> Service defined by Service Provider:
> >>>>>>>>>>>
> >>>>>>>>>
> >>>>>> @WebServiceProvider(targetNamespace="http://inventory.wsdlfaults.ja
> >>>>>>>>> xw
> >>>>>>>>>>> s",
> >>>>>>>>>>>                     wsdlLocation="WEB-INF/wsdl/Inventory.wsdl",
> >>>>>>>>>>>                     serviceName="InventoryProvider",
> >>>>>>>>>>>                     portName="InventoryProviderPort")
> >>>>>>>>>>>
> >>>>>>>>>>> WSDL generated by CXF using this URL:
> >>>>>>>>>>> http://localhost:9080/jaxws-wsdlfaults2/InventoryService?wsdl
> >>>>>>>>>>>
> >>>>>>>>>>> <service name="InventoryService"> <port
> >>>>>>>>>>> binding="tns:InventoryBinding" name="InventoryPort">
> >>>>>>>>>>> <soap:address location="
> >>>>>>>>>>> http://localhost:9080/jaxws-wsdlfaults2/InventoryService
> >>>>>>>>>> "></soap:address>
> >>>>>>>>>>> </port>
> >>>>>>>>>>> </service>
> >>>>>>>>>>> <service name="InventoryProvider"> <port
> >>>>>>>>>>> binding="tns:InventoryBinding" name="InventoryProviderPort">
> >>>>>>>>>>> <soap:address location="/InventoryProvider"></soap:address>
> >>>>>>>>>>> </port>
> >>>>>>>>>>> </service>
> >>>>>>>>>>
> >>>>>>>>>
> >>>>>>>>>
> >>>>>>>>>
> >>>>>>>>> --
> >>>>>>>>> Ivan
> >>>>>>>
> >>>>>>>
> >>>>>>> --
> >>>>>>> Alessio Soldano
> >>>>>>> Web Service Lead, JBoss
> >>>>>>>
> >>>>
> >>>>
> >>>> --
> >>>> Alessio Soldano
> >>>> Web Service Lead, JBoss
> >>>>
> >>>
> >>
> >>
> >> --
> >> Alessio Soldano
> >> Web Service Lead, JBoss
> >>
> >
>
>
> --
> Alessio Soldano
> Web Service Lead, JBoss
>

Reply via email to