[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

windows xp 32, JDK 1.6

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


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"/>

it won't resolve the property ${public.app.url} when rendering the wsdl file and will render it wrongly, but the service works perfectly.

Comment by Arjen Poutsma [ 14/Sep/08 ]

Could you please attach the generated wsdl?

Comment by Angel [ 15/Sep/08 ]


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.


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 Sat Dec 15 02:01:55 UTC 2018 using JIRA 7.9.2#79002-sha1:3bb15b68ecd99a30eb364c4c1a393359bcad6278.