Would you verify if you get the same stack trace:
Caused by: java.lang.Exception: Sandesha2 sender thread has not
received a valid CreateSequnceResponse
at
org.apache.sandesha2.workers.SenderWorker.invokeCallBackObject(SenderWorker.java:757)
at org.apache.sandesha2.workers.SenderWorker.run(SenderWorker.java:339)
at
edu.emory.mathcs.backport.java.util.concurrent.ThreadPoolExecutor$Worker.runTask(ThreadPoolExecutor.java:665)
at
edu.emory.mathcs.backport.java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:690)
at java.lang.Thread.run(Thread.java:619)
Debugging the client application I am able to see the origin of the
problem, in the file SenderWorker.java, function checkForSyncResponses
line 657, AxisEngine.receive() invocation generate an exception:
if (resenvelope!=null) {
AxisEngine.receive(responseMessageContext);
}
} catch (Exception e) {
String message =
SandeshaMessageHelper.getMessage(SandeshaMessageKeys.noValidSyncResponse);
if (msgCtx != null &&! msgCtx.isServerSide() &&
(Sandesha2Constants.SPEC_2005_02.Actions.ACTION_CREATE_SEQUENCE.equals(msgCtx.getSoapAction())
||
Sandesha2Constants.SPEC_2007_02.Actions.ACTION_CREATE_SEQUENCE.equals(msgCtx.getSoapAction()))
){
// We have not received a valid createSequnce reponse
for the request we send so we need to terminate the seunce here
return false;
} else {
if (log.isWarnEnabled())
log.warn(message, e);
}
}
The message is totally confusing me because the content of the
exception is not propagated to the client, this error is originated in
AxisEngine.receive(), checkMustUnderstand invocation line #135:
private static void checkMustUnderstand(MessageContext msgContext)
throws AxisFault {
SOAPEnvelope envelope = msgContext.getEnvelope();
if (envelope.getHeader() == null) {
return;
}
// Get all the headers targeted to us
Iterator headerBlocks = envelope.getHeader().getHeadersToProcess(null);
while (headerBlocks.hasNext()) {
SOAPHeaderBlock headerBlock = (SOAPHeaderBlock) headerBlocks.next();
// if this header block has been processed or mustUnderstand isn't
// turned on then its cool
if (headerBlock.isProcessed() || !headerBlock.getMustUnderstand()) {
continue;
}
// Oops, throw an appropriate MustUnderstand fault!!
QName faultQName =
headerBlock.getVersion().getMustUnderstandFaultCode();
throw new AxisFault(Messages.getMessage("mustunderstandfailed",
headerBlock.getNamespace().getNamespaceURI(),
headerBlock.getLocalName()), faultQName);
}
}
The exception has this message:
Must Understand check failed for header
http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-wssecurity-secext-1.0.xsd
: Security
I will try to deploy with early SNAPSHOTS!!!
On Dec 21, 2007 2:22 AM, Sukma Agung Verdianto <[EMAIL PROTECTED]> wrote:
> I've solved my previous problem.
> And now I get the same error like yours.
>
>
>
> On Dec 19, 2007 3:27 PM, Alberto Patino <[EMAIL PROTECTED]> wrote:
> >
> >
> >
> > I'm trying to do the same thing you want to do but I having a
> > different message error: (Debug enabled)
> >
> > [DEBUG] Exit: InMemoryTransaction::enlist
> > [DEBUG] Enter: InMemoryStorageManager::removeMessageContext, key:
> > urn:uuid:818835A043FB6125F01198050445672
> > [DEBUG] Exit: InMemoryStorageManager::removeMessageContext, key:
> > urn:uuid:818835A043FB6125F01198050445672
> > [DEBUG] Entry: OutInAxisOperationClient$SyncCallBack::onError,
> > java.lang.Exception: Sandesha2 sender thread has not received a valid
> > CreateSequnceResponse
> > [DEBUG] Exit: OutInAxisOperationClient$SyncCallBack::onError
> > [DEBUG] Exit: SenderWorker::run
> >
> > The error is: "Sandesha2 sender thread has not received a valid
> > CreateSequnceResponse"
> >
> > I'm tracking the error in the SenderWorker.java file,
> > checkForSyncResponses function:
> >
> >
> > } catch (Exception e) {
> >
> > String message =
> > SandeshaMessageHelper.getMessage(SandeshaMessageKeys.noValidSyncResponse);
> > if (msgCtx != null &&! msgCtx.isServerSide () &&
> >
> (Sandesha2Constants.SPEC_2005_02.Actions.ACTION_CREATE_SEQUENCE.equals(msgCtx.getSoapAction())
> >
> >
> ||Sandesha2Constants.SPEC_2007_02.Actions.ACTION_CREATE_SEQUENCE.equals(msgCtx.getSoapAction()))
> > ){
> > // We have not received a valid createSequnce reponse
> > for the request we send so we need to terminate the seunce here
> > return false;
> > } else {
> > if ( log.isWarnEnabled())
> > log.warn(message, e);
> > }
> >
> > I'm not sure why the code is looking for ACTION_CREATE_SEQUENCE
> > instead of ACTION_CREATE_SEQUENCE_RESPONSE!
> >
> >
> > Any ideas?
> >
> > ( I have read the link in http://wso2.org/library/1027 but I realized
> > the changes suggested in the article are already incorporated in the
> > sandesha 1.3 module.xml file)
> >
> > ---------------------------------------------------------------------
> > To unsubscribe, e-mail: [EMAIL PROTECTED]
> > For additional commands, e-mail: [EMAIL PROTECTED]
> >
> >
>
>
--
Don't be evil!!!
---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]