Program: 18200
Project: 18200
Buggy source:
@Override public void handleMessage(InMessage inMessage,OutMessage outMessage) throws Exception {
  if (enabled && hasValidConfiguration()) {
    boolean isSoapMessage=checkForSoapMessage(inMessage);
    boolean isGetWsdlMessage=!isSoapMessage || checkForWsdlMessage(inMessage);
    if (isSoapMessage || isGetWsdlMessage) {
      if (registryClient == null) {
        RegistryJerseyClientConfiguration jerseyClient=new RegistryJerseyClientConfiguration();
        registryClient=jerseyClient.getClient();
      }
      RegistryApi registryApi=registryClient.constructRegistryApi();
      Map<String,Serializable> properties=new HashMap<String,Serializable>();
      List<SoaNodeId> parents=new ArrayList<SoaNodeId>();
      URI uriToNormalize=new URI(inMessage.buildCompleteUrl());
      String messageUrl=uriToNormalize.normalize().toString();
      String endpointUrl=isSoapMessage ? messageUrl : messageUrl.substring(0,messageUrl.length() - 5);
      String wsdlUrl=isGetWsdlMessage ? messageUrl : messageUrl + "String_Node_Str";
      properties.put(Endpoint.XPATH_URL,endpointUrl);
      properties.put(Endpoint.XPATH_TITLE,environment + "String_Node_Str" + endpointUrl);
      properties.put(Endpoint.XPATH_ENDP_ENVIRONMENT,environment);
      properties.put(Subproject.XPATH_SUBPROJECT,projectId);
      String endpointSoaName=environment + ':' + endpointUrl;
      if (isSoapMessage) {
        Map<String,Serializable> ecProperties=new HashMap<String,Serializable>();
        List<SoaNodeId> ecParents=new ArrayList<SoaNodeId>();
        String consumerHost=environment + ':' + inMessage.getRemoteHost();
        ecProperties.put(EndpointConsumption.XPATH_CONSUMER_HOST,inMessage.getRemoteHost());
        ecProperties.put(EndpointConsumption.XPATH_CONSUMER_IP,inMessage.getRemoteAddress());
        for (        Header header : inMessage.getHeaders().getHeaderList()) {
          System.out.println("String_Node_Str" + header.getName() + "String_Node_Str"+ header.getValue());
        }
        ecProperties.put(EndpointConsumption.XPATH_CONSUMED_URL,endpointUrl);
        ecProperties.put(EndpointConsumption.XPATH_CONSUMED_ENVIRONMENT,environment);
        ecProperties.put(ResourceDownloadInfo.XPATH_URL,wsdlUrl);
        String ecSoaName=consumerHost + '>' + endpointSoaName;
        SoaNodeId ecSoaNodeId=new SoaNodeId(projectId,EndpointConsumption.DOCTYPE,ecSoaName);
        SoaNodeInformation ecSoaNodeInfo=new SoaNodeInformation(ecSoaNodeId,ecProperties,ecParents);
        OperationResult ecResult=registryApi.post(ecSoaNodeInfo);
        if (!ecResult.isSuccessful()) {
          logger.warn("String_Node_Str" + ecResult.getMessage());
          throw new Exception("String_Node_Str" + ecResult.getMessage());
        }
 else {
          parents.add(ecSoaNodeId);
        }
      }
      properties.put(ResourceDownloadInfo.XPATH_URL,wsdlUrl);
      properties.put(ResourceDownloadInfo.XPATH_PROBE_TYPE,DISCOVERY_PROBE_TYPE);
      properties.put(ResourceDownloadInfo.XPATH_PROBE_INSTANCEID,getConfiguration().getId());
      SoaNodeId soaNodeId=new SoaNodeId(projectId,Endpoint.DOCTYPE,endpointSoaName);
      SoaNodeInformation soaNodeInfo=new SoaNodeInformation(soaNodeId,properties,parents);
      OperationResult result=registryApi.post(soaNodeInfo);
      logger.debug("String_Node_Str" + result.isSuccessful());
      logger.debug("String_Node_Str" + result.getMessage());
      if (result.isSuccessful()) {
        logger.info("String_Node_Str");
      }
 else {
        logger.error("String_Node_Str" + result.getMessage());
        throw new Exception("String_Node_Str" + result.getMessage());
      }
    }
 else {
      logger.info("String_Node_Str");
    }
  }
 else {
    logger.info("String_Node_Str");
  }
}

Fixed version (ground truth):
@Override public void handleMessage(InMessage inMessage,OutMessage outMessage) throws Exception {
  if (enabled && hasValidConfiguration()) {
    boolean isSoapMessage=checkForSoapMessage(inMessage);
    boolean isGetWsdlMessage=!isSoapMessage || checkForWsdlMessage(inMessage);
    if (isSoapMessage || isGetWsdlMessage) {
      if (registryClient == null) {
        RegistryJerseyClientConfiguration jerseyClient=new RegistryJerseyClientConfiguration();
        registryClient=jerseyClient.getClient();
      }
      RegistryApi registryApi=registryClient.constructRegistryApi();
      Map<String,Serializable> properties=new HashMap<String,Serializable>();
      List<SoaNodeId> parents=new ArrayList<SoaNodeId>();
      URI uriToNormalize=new URI(inMessage.buildCompleteUrl());
      String messageUrl=uriToNormalize.normalize().toString();
      String endpointUrl=isSoapMessage ? messageUrl : messageUrl.substring(0,messageUrl.length() - 5);
      String wsdlUrl=isGetWsdlMessage ? messageUrl : messageUrl + "String_Node_Str";
      properties.put(Endpoint.XPATH_URL,endpointUrl);
      properties.put(Endpoint.XPATH_TITLE,environment + "String_Node_Str" + endpointUrl);
      properties.put(Endpoint.XPATH_ENDP_ENVIRONMENT,environment);
      properties.put(Subproject.XPATH_SUBPROJECT,projectId);
      String endpointSoaName=environment + ':' + endpointUrl;
      if (isSoapMessage) {
        Map<String,Serializable> ecProperties=new HashMap<String,Serializable>();
        List<SoaNodeId> ecParents=new ArrayList<SoaNodeId>();
        String consumerHost=environment + ':' + inMessage.getRemoteHost();
        ecProperties.put(EndpointConsumption.XPATH_CONSUMER_HOST,inMessage.getRemoteHost());
        ecProperties.put(EndpointConsumption.XPATH_CONSUMER_IP,inMessage.getRemoteAddress());
        for (        Header header : inMessage.getHeaders().getHeaderList()) {
          System.out.println("String_Node_Str" + header.getName() + "String_Node_Str"+ header.getValue());
        }
        ecProperties.put(EndpointConsumption.XPATH_CONSUMED_URL,endpointUrl);
        ecProperties.put(EndpointConsumption.XPATH_CONSUMED_ENVIRONMENT,environment);
        ecProperties.put(ResourceDownloadInfo.XPATH_URL,wsdlUrl);
        String ecSoaName=consumerHost + '>' + endpointSoaName;
        SoaNodeId ecSoaNodeId=new SoaNodeId(projectId,EndpointConsumption.DOCTYPE,ecSoaName);
        SoaNodeInformation ecSoaNodeInfo=new SoaNodeInformation(ecSoaNodeId,ecProperties,ecParents);
        OperationResult ecResult=registryApi.post(ecSoaNodeInfo);
        if (!ecResult.isSuccessful()) {
          logger.warn("String_Node_Str" + ecResult.getMessage());
          throw new Exception("String_Node_Str" + ecResult.getMessage());
        }
 else {
          parents.add(ecSoaNodeId);
        }
      }
      properties.put(ResourceDownloadInfo.XPATH_URL,wsdlUrl);
      properties.put(ResourceDownloadInfo.XPATH_PROBE_TYPE,DISCOVERY_PROBE_TYPE);
      properties.put(ResourceDownloadInfo.XPATH_PROBE_INSTANCEID,getConfiguration().getId());
      properties.put(Endpoint.XPATH_ENDP_HOST,inMessage.getRemoteHost());
      SoaNodeId soaNodeId=new SoaNodeId(projectId,Endpoint.DOCTYPE,endpointSoaName);
      SoaNodeInformation soaNodeInfo=new SoaNodeInformation(soaNodeId,properties,parents);
      OperationResult result=registryApi.post(soaNodeInfo);
      logger.debug("String_Node_Str" + result.isSuccessful());
      logger.debug("String_Node_Str" + result.getMessage());
      if (result.isSuccessful()) {
        logger.info("String_Node_Str");
      }
 else {
        logger.error("String_Node_Str" + result.getMessage());
        throw new Exception("String_Node_Str" + result.getMessage());
      }
    }
 else {
      logger.info("String_Node_Str");
    }
  }
 else {
    logger.info("String_Node_Str");
  }
}