}
try
{
WsdlSubmit wsdlSubmit = closeSequenceRequest.submit( new WsdlSubmitContext( null ), true );
while( wsdlSubmit.getStatus() != Status.FINISHED )
{
wsdlSubmit.waitUntilFinished();
}
Response response = wsdlSubmit.getResponse();
String responseContent = response.getContentAsString();
// XmlObject xml = XmlObject.Factory.parse( responseContent );
XmlObject xml = XmlUtils.createXmlObject( responseContent );
XmlOptions options = new XmlOptions();
String namespaceDeclaration = "declare namespace wsrm='" + wsrmNamespace + "';";
XmlObject result[] = xml.selectPath( namespaceDeclaration + "//wsrm:AcknowledgementRange", options );
if( result.length > 0 )
{
for( int i = 0; i < result.length; i++ )
{
String upper = result[i].selectAttribute( null, "Upper" ).getDomNode().getNodeValue();
String lower = result[i].selectAttribute( null, "Lower" ).getDomNode().getNodeValue();
if( lower == upper )
{
Logger.getLogger( "wsrm" ).info(
"Acknowledgment for message " + upper + " received for identifier: " + identifier );
}
else
{
Logger.getLogger( "wsrm" ).info(
"Acknowledgment for messages " + lower + " to " + upper + " received for identifier: "
+ identifier );
}
}
}
else
{
Logger.getLogger( "wsrm" ).info( "No Acknowledgments received for identifier: " + identifier );
}
}
catch( SubmitException e1 )
{
SoapUI.logError( e1 );
}
catch( XmlException e )
{
SoapUI.logError( e );
}
}
// The Terminate Sequence Message
WsaRequest terminateSequenceRequest = new WsaRequest( httpRequestConfig, wsaConfig, wsrmConfig, false );
terminateSequenceRequest.setOperation( operation );
String terminateSequenceRequestContent = SoapMessageBuilder.buildEmptyMessage( soapVersion );
terminateSequenceRequest.getWsaConfig().setWsaEnabled( true );
terminateSequenceRequest.getWsaConfig().setAction( wsrmNamespace + WSRM_TERMINATE_SEQUENCE_ACTION );
terminateSequenceRequest.getWsaConfig().setTo( endpoint );
terminateSequenceRequest.getWsaConfig().setGenerateMessageId( true );
try
{
// XmlObject object = XmlObject.Factory.parse(
// terminateSequenceRequestContent );
XmlObject object = XmlUtils.createXmlObject( terminateSequenceRequestContent );
XmlCursor cursor = object.newCursor();
cursor.toFirstContentToken();
cursor.toFirstChild();
cursor.toNextSibling();
cursor.toNextToken();
cursor.insertNamespace( "wsrm", wsrmNamespace );
cursor.beginElement( "TerminateSequence", wsrmNamespace );
cursor.beginElement( WSRM_IDENTIFIER, wsrmNamespace );
cursor.insertChars( identifier );
cursor.dispose();
// startSequenceRequest.getOperation().setAction("");
// startSequenceRequest.setRequestContent(object.xmlText());
WsaUtils wsaUtils = new WsaUtils( object.xmlText(), soapVersion, null, new DefaultPropertyExpansionContext(
terminateSequenceRequest ) );
terminateSequenceRequestContent = wsaUtils.addWSAddressingRequest( terminateSequenceRequest );
terminateSequenceRequest.setRequestContent( terminateSequenceRequestContent );
}
catch( XmlException e )
{
// TODO Auto-generated catch block
e.printStackTrace();
}
try
{
WsdlSubmit wsdlSubmit = terminateSequenceRequest.submit( new WsdlSubmitContext( null ), true );
}
catch( SubmitException e1 )
{
SoapUI.logError( e1 );