Forum Discussion

Bunker's avatar
13 years ago

Error in wss setup - getting WSSecurityEngine: DataReference

We are using oracle/wss11_username_token_with_message_protection_client_policy. It looks like the UsernameToken and recipient_alias missing from the SoapUI requests, as the call works from a java client.

The setup works from a java client using:
public static void protectMessage(ConnectionServicePortType_v1 apiService) {
System.out.println("msg protec......");
Map<String, Object> reqContext =
((BindingProvider)apiService).getRequestContext();
//Object object =
reqContext.put(BindingProvider.USERNAME_PROPERTY, "TrellisAdministrator");
reqContext.put(BindingProvider.PASSWORD_PROPERTY, "Passw0rd");

reqContext.put(ClientConstants.WSSEC_RECIPIENT_KEY_ALIAS,
"trellis-system");

reqContext.put(ClientConstants.WSSEC_KEYSTORE_LOCATION,
"C:\\ssl\\10.207.120.180\\api-client.jks");
reqContext.put(ClientConstants.WSSEC_KEYSTORE_PASSWORD, "NjFhYzM2YjViMzU00");
reqContext.put(ClientConstants.WSSEC_KEYSTORE_TYPE, "JKS");


but from SOapUI we get the following error:
Fri Feb 08 11:37:01 EST 2013:ERROR:org.apache.ws.security.WSSecurityException: An error was discovered processing the <wsse:Security> header (WSSecurityEngine: DataReference - referenced data not found)
org.apache.ws.security.WSSecurityException: An error was discovered processing the <wsse:Security> header (WSSecurityEngine: DataReference - referenced data not found)
at org.apache.ws.security.processor.ReferenceListProcessor.findEncryptedDataElement(ReferenceListProcessor.java:242)
at org.apache.ws.security.processor.EncryptedKeyProcessor.decryptDataRef(EncryptedKeyProcessor.java:329)
at org.apache.ws.security.processor.EncryptedKeyProcessor.decryptDataRefs(EncryptedKeyProcessor.java:308)
at org.apache.ws.security.processor.EncryptedKeyProcessor.handleToken(EncryptedKeyProcessor.java:122)
at org.apache.ws.security.WSSecurityEngine.processSecurityHeader(WSSecurityEngine.java:396)
at org.apache.ws.security.WSSecurityEngine.processSecurityHeader(WSSecurityEngine.java:304)
at org.apache.ws.security.WSSecurityEngine.processSecurityHeader(WSSecurityEngine.java:249)
at com.eviware.soapui.impl.wsdl.support.wss.IncomingWss.processIncoming(IncomingWss.java:121)
at com.eviware.soapui.impl.wsdl.submit.transports.http.support.attachments.WsdlSinglePartHttpResponse.processIncomingWss(WsdlSinglePartHttpResponse.java:49)
at com.eviware.soapui.impl.wsdl.submit.transports.http.support.attachments.WsdlSinglePartHttpResponse.<init>(WsdlSinglePartHttpResponse.java:38)
at com.eviware.soapui.impl.wsdl.submit.filters.HttpPackagingResponseFilter.wsdlRequest(HttpPackagingResponseFilter.java:71)
at com.eviware.soapui.impl.wsdl.submit.filters.HttpPackagingResponseFilter.afterAbstractHttpResponse(HttpPackagingResponseFilter.java:48)
at com.eviware.soapui.impl.wsdl.submit.filters.AbstractRequestFilter.afterRequest(AbstractRequestFilter.java:64)
at com.eviware.soapui.impl.wsdl.submit.transports.http.HttpClientRequestTransport.sendRequest(HttpClientRequestTransport.java:307)
at com.eviware.soapui.impl.wsdl.WsdlSubmit.run(WsdlSubmit.java:123)
at java.util.concurrent.Executors$RunnableAdapter.call(Unknown Source)
at java.util.concurrent.FutureTask$Sync.innerRun(Unknown Source)
at java.util.concurrent.FutureTask.run(Unknown Source)
at java.util.concurrent.ThreadPoolExecutor.runWorker(Unknown Source)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(Unknown Source)
at java.lang.Thread.run(Unknown Source)

Any help appreciated.
No RepliesBe the first to reply