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

Reply via email to