code: public void run()
      {
          Record record = this.getMainRecord();
          try {
              Writer out = new StringWriter();
              MessageDetailTarget messageDetailTarget = (MessageDetailTarget)this.getMainRecord();
              String strSite = messageDetailTarget.getProperty(TrxMessageHeader.DESTINATION_PARAM);
              String strWSDLPath = messageDetailTarget.getProperty(TrxMessageHeader.WSDL_PATH);
              strWSDLPath = this.getFullPath(strSite, strWSDLPath);
              //x strWSDLPath = "http://www.tourloco.com:8181/tour/apphtml?datatype=wsdl&version=b2007";
              Utility.transferURLStream(strWSDLPath, null, null, out);
              out.flush();
              out.close();
          
              record.edit();
              this.processWSDLXML(out.toString());
              record.set();
              
              if (this.getProperty(TrxMessageHeader.REGISTRY_ID) != null)    // The return Queue ID
              {
                  Application app = (Application)this.getTask().getApplication();
              
                  Integer intFilterID = new Integer(this.getProperty(TrxMessageHeader.REGISTRY_ID));
                  TrxMessageHeader messageHeader = new TrxMessageHeader(MessageConstants.TRX_RECEIVE_QUEUE, MessageConstants.INTERNET_QUEUE, null);
                  messageHeader.setRegistryIDMatch(intFilterID);
                  Map<String,Object> map = new Hashtable<String,Object>();
                  map.put(DBConstants.OBJECT_ID, this.getProperty(DBConstants.OBJECT_ID));
                  BaseMessage message = new MapMessage(messageHeader, map);
                  // Tell the sender that I've finished (not required)
                  app.getMessageManager().sendMessage(message);
              }
          } catch (IOException e) {
              e.printStackTrace();
          } catch (DBException e) {
              e.printStackTrace();
              return;
          }
      }
docs: Run Method.