Java 如何在服务调用中排除Rampart模块

Java 如何在服务调用中排除Rampart模块,java,xml,web-services,axis2,rampart,Java,Xml,Web Services,Axis2,Rampart,我们有一个axis 2服务调用另一个服务。对于一个服务调用,我们需要rampart安全性。因此,我们在axis2.xml中配置了该安全性。但是在另一个服务调用中,我想排除rampart,因为该调用不需要安全性。但是,由于只有1个axis2.xml是公共的,因此,它在两个调用中都包含rampart。如何排除此问题。您可以在服务级别甚至操作级别添加rampart模块,例如 <service name="name of the service" scope="name of the scope"

我们有一个axis 2服务调用另一个服务。对于一个服务调用,我们需要rampart安全性。因此,我们在axis2.xml中配置了该安全性。但是在另一个服务调用中,我想排除rampart,因为该调用不需要安全性。但是,由于只有1个axis2.xml是公共的,因此,它在两个调用中都包含rampart。如何排除此问题。

您可以在服务级别甚至操作级别添加rampart模块,例如

<service name="name of the service" scope="name of the scope" class="full qualifide name the service lifecycle class"   targetNamespace="target namespase for the service">
    <Description> The description of the service  </Description>  
    <module ref="rampart" />

    <operation name="echoString" mep="operation MEP"> 
        <actionMapping>Mapping to action</actionMapping>
         <module ref="rampart" />
        <messageReceiver class="org.apache.axis2.receivers.RawXMLINOutMessageReceiver"/>
    </operation>
</service>

感谢您提供的信息。但是我想这只会反映父服务操作,而不是我正在调用的客户端服务。例如,在services.xml中,我拥有我的服务公开的所有操作。但我想在从我的服务调用的操作中排除rampart…即外部服务公开的操作。当我在axis2.xml级别上执行此操作时,它是全局的。
ConfigurationContext ctx = ConfigurationContextFactory.createConfigurationContextFromFileSystem(REPOSITORY_PATH, null);
SimpleServiceStub stub = new SimpleServiceStub(ctx, "http://sbswsvm1426ou:9091/axis2/services/SimpleService?wsdl");
stub._getServiceClient().engageModule("rampart");