[SWS-430] WSDL is renedered without resolving dynamic attributes managed using a PropertyPlaceHolderConfigurer object Created: 14/Sep/08  Updated: 04/May/12  Resolved: 16/Dec/08

Status: Closed
Project: Spring Web Services
Component/s: None
Affects Version/s: 1.5.4
Fix Version/s: 1.5.6

Type: Bug Priority: Major
Reporter: Angel Assignee: Arjen Poutsma
Resolution: Cannot Reproduce Votes: 0
Labels: None
Remaining Estimate: Not Specified
Time Spent: Not Specified
Original Estimate: Not Specified
Environment:

windows xp 32, JDK 1.6


Attachments: XML File stdWebServiceDefinitionFile.wsdl    
Issue Links:
Related
is related to SWS-429 Spring WS authentication doesn't work... Closed

 Description   

If I define my WSDL publiching bean like this:

<bean id="stdWebServiceDefinitionFile" class="org.springframework.ws.wsdl.wsdl11.DefaultWsdl11Definition">
<property name="schemaCollection" ref="stdSchemaCollection"/>
<property name="portTypeName" value="sendStateTerritoryData"/>
<property name="locationUri" value="$

{public.app.url}/shipwreck/sendStateTerritoryDataService/"/>
<property name="targetNamespace" value="http://environment.gov.au/shipwreck/std/definitions"/>
</bean>

it won't resolve the property ${public.app.url}

when rendering the wsdl file and will render it wrongly, but the service works perfectly.



 Comments   
Comment by Arjen Poutsma [ 14/Sep/08 ]

Could you please attach the generated wsdl?

Comment by Angel [ 15/Sep/08 ]

Sure!

There you can find the line #631:
<soap:address location="$

{public.app.url}

/shipwreck/sendStateTerritoryDataService/"/>

As I told you the problem is just when I render the wsdl file, because internally the service is working with the property value resolved. Maybe this unexpected behavior is also related to the issue SWS-429 that I have lodged.

Thanks.

Comment by Arjen Poutsma [ 16/Dec/08 ]

I just tested this, and afraid that I can't reproduce it. Are you sure you have a

<context:property-placeholder location="classpath:wsdl.properties"/>

in the same application context as the DefaultWsdl11Definition whose properties you're replacing? Since the PropertyPlaceHolderConfigurer is a BeanPostProcessor, it only acts on the app context is defined in. So if you have a child web app context (containing endpoints, mappings etc) with a parent context (containing services, dao's), putting the configurer in the parent context is not going to change properties in the child context.

Comment by Arjen Poutsma [ 04/May/12 ]

Closing old issues

Generated at Wed Dec 13 20:35:35 UTC 2017 using JIRA 6.4.14#64029-sha1:ae256fe0fbb912241490ff1cecfb323ea0905ca5.