Hi Bruce, a properties file is not a solution in my case because I need the username really dynamically at runtime, i.e. for every call to the web service I want to be able to use a different signature certificate (my locationURI is also dynamic and can point to any service).
You also mentioned system properties. Do you mean I can put the user name in the system properties and then it is evaluated by servicemix? What's the key name then? Any other ideas? Thanks André bsnyder wrote: > > On 8/30/07, André Szdzuy <[EMAIL PROTECTED]> wrote: >> >> Hi, >> I have configured a provider endpoint for servicemix-http using an >> xbean.xml >> like in the Outbound Signature example in the docs. >> Now I don't want to give the username for the signature hard-coded in the >> xbean.xml as in the example but dynamically at runtime. >> How can I do that? >> >> I have seen that method onSend() in class >> org.apache.servicemix.soap.handlers.security.WSSecurityHandler tries to >> get >> the username from the properties map and the message context before it >> takes >> the value from the xbean.xml. >> How can I achieve that there is a "user" value in the properties or >> message >> context? I already tried to set a "user" property in the Exchange object >> and >> a securitySubject in the NormalizedMessage which I send to >> servicemix-http - >> no difference... >> >> Any ideas? > > I always recommend that people use the Spring > PropertyPlaceHolderConfigurer to read in a properties file or some > system properties where the password is located. Then use property > dereferencing to set the password in the xbean.xml configuration file. > Below is an example of this: > > <!-- Read in the properties file containing properties with the passwords > --> > <bean id="propertyConfigurer" > > class="org.springframework.beans.factory.config.PropertyPlaceholderConfigurer"> > <property name="location" value="classpath:foo.properties" /> > </bean> > > <!-- Use property dreferencing to apply the passwords. See the > $myKeyStorePasword and $myKeyPasword below. --> > <http:endpoint service="my:inputSender" > endpoint="endpoint" > role="provider" > soap="true" > locationURI="http://localhost:8192/service/"> > <http:policies> > <soap:ws-security sendAction="Signature" username="smx"> > <soap:crypto> > <bean > class="org.apache.servicemix.soap.handlers.security.StandaloneCrypto"> > <property name="keyStoreUrl" value="classpath:keystore.jks" /> > <property name="keyStorePassword" value="${myKeyStorePasword}" > /> > <property name="keyPassword" value="${myKeyPassword}"/> > </bean> > </soap:crypto> > </soap:ws-security> > </http:policies> > </http:endpoint> > > HTH > > Bruce > -- > perl -e 'print > unpack("u30","D0G)[EMAIL PROTECTED]&5R\"F)R=6-E+G-N>61E<D\!G;6%I;\"YC;VT*" > );' > > Apache ActiveMQ - http://activemq.org/ > Apache ServiceMix - http://servicemix.org/ > Apache Geronimo - http://geronimo.apache.org/ > Castor - http://castor.org/ > > -- View this message in context: http://www.nabble.com/Dynamic-username-when-using-WSS-signature-in-a-HTTP-provider-endpoint-tf4353514s12049.html#a12424113 Sent from the ServiceMix - User mailing list archive at Nabble.com.
