Buggy code:
@ WebService public class ConsumerWS { protected static ConsumerAMQPHandler amqp ; @ WebServiceRef ( wsdlLocation = "WEB-INF//wsdl//localhost_9080//CompositeApp1Service1//casaPort1.wsdl" ) private CompositeApp1Service4 service4 ; @ WebServiceRef ( wsdlLocation = "WEB-INF//wsdl//localhost_9080//CompositeApp1Service1//casaPort1.wsdl" ) private CompositeApp1Service3 service3 ; @ WebServiceRef ( wsdlLocation = "WEB-INF//wsdl//localhost_9080//CompositeApp1Service1//casaPort1.wsdl" ) private CompositeApp1Service2 service2 ; @ WebServiceRef ( wsdlLocation = "WEB-INF//wsdl//localhost_9080//CompositeApp1Service1//casaPort1.wsdl" ) private CompositeApp1Service1 service1 ; private static final Logger logger = LogManager . getLogger ( "Consumer" ) ; private Scenario scenario = null ; public String sendPing ( String txt , int provider ) { } @ WebMethod ( operationName = "sendRequest" ) public String sendRequest ( String request , int provider ) { } private String constructRequest ( Request req ) { } @ WebMethod ( operationName = "startSendingRequests" ) public void startSendingRequests ( ) { } private class ConsumerThread implements Runnable { int providerNumber ; String request ; public ConsumerThread ( int providerNumber , String request ) { } public void run ( ) { Date receptionDateConsumer ; String response = sendRequest ( request . toString ( ) , providerNumber ) ; ConsumerWS . logger . debug ( ( ( ( ( ( "Response<seq2seq4repair_space>from<seq2seq4repair_space>P" + ( providerNumber ) ) + "<seq2seq4repair_space>to<seq2seq4repair_space>" ) + ( Thread . currentThread ( ) . getName ( ) ) ) + "<seq2seq4repair_space>:<seq2seq4repair_space>" ) + ( response . replace ( "|" , ";" ) ) ) ) ; <START_BUG> String [ ] responseParts = response . split ( "\\|" ) ; <END_BUG> String result = "" ; int i ; for ( i = 0 ; i < ( ( responseParts . length ) - 1 ) ; i ++ ) { result += ( responseParts [ i ] ) + "|" ; } receptionDateConsumer = new Date ( ) ; result += Long . toString ( receptionDateConsumer . getTime ( ) ) ; try { ConsumerWS . logger . debug ( ( ( ( "Consumer<seq2seq4repair_space>" + ( Thread . currentThread ( ) . getName ( ) ) ) + "<seq2seq4repair_space>sends<seq2seq4repair_space>result<seq2seq4repair_space>to<seq2seq4repair_space>app<seq2seq4repair_space>:<seq2seq4repair_space>" ) + ( result . replace ( "|" , ";" ) ) ) ) ; ConsumerWS . amqp . sendResult ( result ) ; } catch ( IOException ex ) { ConsumerWS . logger . error ( ( "[Consumer<seq2seq4repair_space>thread]<seq2seq4repair_space>Unable<seq2seq4repair_space>to<seq2seq4repair_space>send<seq2seq4repair_space>result<seq2seq4repair_space>to<seq2seq4repair_space>application" + ( ex . getMessage ( ) ) ) ) ; } try { ConsumerWS . logger . debug ( ( "result<seq2seq4repair_space>:<seq2seq4repair_space>" + result ) ) ; ConsumerWS . amqp . sendResult ( result ) ; } catch ( IOException ex ) { ConsumerWS . logger . error ( ( "[Consumer<seq2seq4repair_space>thread]<seq2seq4repair_space>Unable<seq2seq4repair_space>to<seq2seq4repair_space>send<seq2seq4repair_space>result<seq2seq4repair_space>to<seq2seq4repair_space>application" + ( ex . getMessage ( ) ) ) ) ; } } } @ WebMethod ( operationName = "initialiseConsumer" ) public String initialiseConsumer ( String name ) { } public Scenario getScenario ( ) { } public void setScenario ( Scenario scenario ) { } }

Fix:
String [ ] responseParts = response . split ( "\\|" , ( - 1 ) ) ;