SOAP サーバーは、ヘッダーが 1 に設定されている必要があることを理解する必要がある SOAP メッセージを受信しています。
ヘッダーを理解するために、wss4j インターセプターを使用しています。
私のsign.propertiesファイルは次のとおりです。
org.apache.ws.security.crypto.provider=org.apache.wss4j.common.crypto.Merlin
org.apache.ws.security.crypto.merlin.truststore.type=jks
org.apache.ws.security.crypto.merlin.truststore.password=changeit
org.apache.ws.security.crypto.merlin.truststore.file=keystore/truststore.jks
私のエンドポイントxml:
<jaxws:inInterceptors>
<bean class="org.apache.cxf.ws.security.wss4j.WSS4JInInterceptor">
<constructor-arg>
<map>
<entry key="action" value="Timestamp Signature"/>
<entry key="signaturePropFile" value="XXXXXX/WEB-INF/classes/etc/sign.properties"/>
<entry key="passwordCallbackClass" value="XX.XX.XX.XXXXXX.lifecycleapp.UTPasswordCallback"/>
</map>
</constructor-arg>
</bean>
</jaxws:inInterceptors>
ただし、「org.apache.wss4j.common.ext.WSSecurityException: 署名を検証するための暗号化プロパティ ファイルが提供されていません」というエラーが表示されます。
signaturePropFile を正しくアドレス指定しないのと同じくらい簡単なことだと思いますが、完全なファイルパスを指定しようとしましたが、同じ結果が返されました。
どんな助けでも大歓迎です。