Petals BC SOAP

Rampart (ws-security) activation issues

Details

  • Type: Improvement Request Improvement Request
  • Status: Resolved Resolved
  • Priority: Major Major
  • Resolution: Fixed
  • Affects Version/s: 4.0.3
  • Fix Version/s: 4.0.4
  • Component/s: None
  • Security Level: Public
  • Description:
    Hide

    This one is a multiple issue: the rampart activation documentation has disappeared when migrating the doc to the Wiki, but is still available in the old docs...

    According to informations found there, I configured a "consumes" SU as follows (excerpt):

    <soap:modules>rampart</soap:modules>
    <soap:service-parameters>
    <![CDATA[
    <parameter name="InflowSecurity">
    <action>
    <items>Timestamp Signature</items>
    <signaturePropFile>service.properties</signaturePropFile>
    </action>
    </parameter>
    <parameter name="OutflowSecurity">
    <action>
    <items>Timestamp Signature</items>
    <signaturePropFile>service.properties</signaturePropFile>
    <signatureKeyIdentifier>DirectReference</signatureKeyIdentifier>
    </action>
    </parameter>
    ]]>
    </soap:service-parameters>

    The "service.properties" file (specified in <signaturePropFile>) is never found, whatever its location in the SU (eg. src/main/jbi ...)
    Instead, it must be located in the component's install directory to be found - then, Rampart seems to be activated and configured properly.

    This suggests a ClassLoader issue - so I'm not sure that the example provided in the documentation would work, as well (it includes the provivion of a "password callback" class, and suggests that the class should be in the SU classpath).

    So, is it a classloader issue (and then, is there any chance to load a class from the SU and/or find a config file located there), and whatever it is, how can it be solved or worked around ?

    P.S. For information, the "service.properties" file looks like this (it is related to Rampart config):
    org.apache.ws.security.crypto.provider=org.apache.ws.security.components.crypto.Merlin
    org.apache.ws.security.crypto.merlin.keystore.type=jks
    org.apache.ws.security.crypto.merlin.keystore.password=myPassword

    Show
    This one is a multiple issue: the rampart activation documentation has disappeared when migrating the doc to the Wiki, but is still available in the old docs... According to informations found there, I configured a "consumes" SU as follows (excerpt): <soap:modules>rampart</soap:modules> <soap:service-parameters> <![CDATA[ <parameter name="InflowSecurity"> <action> <items>Timestamp Signature</items> <signaturePropFile>service.properties</signaturePropFile> </action> </parameter> <parameter name="OutflowSecurity"> <action> <items>Timestamp Signature</items> <signaturePropFile>service.properties</signaturePropFile> <signatureKeyIdentifier>DirectReference</signatureKeyIdentifier> </action> </parameter> ]]> </soap:service-parameters> The "service.properties" file (specified in <signaturePropFile>) is never found, whatever its location in the SU (eg. src/main/jbi ...) Instead, it must be located in the component's install directory to be found - then, Rampart seems to be activated and configured properly. This suggests a ClassLoader issue - so I'm not sure that the example provided in the documentation would work, as well (it includes the provivion of a "password callback" class, and suggests that the class should be in the SU classpath). So, is it a classloader issue (and then, is there any chance to load a class from the SU and/or find a config file located there), and whatever it is, how can it be solved or worked around ? P.S. For information, the "service.properties" file looks like this (it is related to Rampart config): org.apache.ws.security.crypto.provider=org.apache.ws.security.components.crypto.Merlin org.apache.ws.security.crypto.merlin.keystore.type=jks org.apache.ws.security.crypto.merlin.keystore.password=myPassword
  • Environment:
    Petals 3.1, jdk 1.6.0_18 (Ubuntu linux)

Issue Links

Activity

Hide
noddoux added a comment - Fri, 29 Oct 2010 - 14:04:56 +0200

The SU classloader loads only JAR files consequently the "service.properties" file is not loaded in the class loader. The correction must be done in the CDK utility function to create the class loader.

Show
noddoux added a comment - Fri, 29 Oct 2010 - 14:04:56 +0200 The SU classloader loads only JAR files consequently the "service.properties" file is not loaded in the class loader. The correction must be done in the CDK utility function to create the class loader.

People

Dates

  • Created:
    Fri, 22 Oct 2010 - 16:06:21 +0200
    Updated:
    Fri, 29 Oct 2010 - 14:13:33 +0200
    Resolved:
    Fri, 29 Oct 2010 - 14:13:33 +0200