我试图弄清楚如何以不同的方式加密不同的方法。例如,我有两种方法的测试服务。我想要其中一种方法可以访问,无需身份验证,加密或任何东西任何人都可以使用它。另一方面,第二种方法应该具有指示和加密的主体,并且只有服务器已知的那些客户端才能够访问第二种方法。 我现在的问题是,我可以做其中任何一个。我可以加密所有方法的soap-messages,也可以不加密。 所以我需要的东西可能看起来很像这样:
<bean id="Method_Interceptor" class="${methodInterceptorClass}">
<constructor-arg>
<constructor-arg type="java.lang.String" value="methodName"/>
<ref bean="TimestampSignEncrypt_Request"/>
<ref bean="TimestampSignEncrypt_Response"/>
</constructor-arg>
</bean>
<bean id="TimestampSignEncrypt_Request" class="org.apache.cxf.ws.security.wss4j.WSS4JInInterceptor">
<constructor-arg>
<map>
<!-- Use this action order for local clients -->
<entry key="action" value="Timestamp Signature Encrypt"/>
<!-- Use this action spec for WCF clients
<entry key="action" value="Signature Encrypt Timestamp"/>
-->
<entry key="signaturePropFile"
value="de/narz/apacheCXFTest/helloWorld/keyManagement/config/fiverx.link.trust.properties"/>
<entry key="decryptionPropFile"
value="de/narz/apacheCXFTest/helloWorld/keyManagement/config/fiverx.link.properties"/>
<entry key="passwordCallbackClass"
value="de.narz.apacheCXFTest.helloWorld.passwordHandling.PasswordCallbackHandler"/>
</map>
</constructor-arg>
</bean>
<bean id="TimestampSignEncrypt_Response" class="org.apache.cxf.ws.security.wss4j.WSS4JOutInterceptor">
...
可以这样做吗?经过数小时的研究后我没有找到任何东西......