# config

name: css
value:
  /* General settings for the entire page */
  body {
    margin: 0ex 0ex;
    padding: 0px;
    background-color: #fef3bc;
    font-family: sans-serif;
  }

  /* The project logo in the upper left-hand corner of each page */
  div.logo {
    display: inline;
    text-align: center;
    vertical-align: bottom;
    font-weight: bold;
    font-size: 2.5em;
    color: #a09048;
  }

  /* The page title centered at the top of each page */
  div.title {
    display: table-cell;
    font-size: 2em;
    font-weight: bold;
    text-align: left;
    padding: 0 0 0 5px;
    color: #a09048;
    vertical-align: bottom;
    width: 100%;
  }

  /* The login status message in the top right-hand corner */
  div.status {
    display: table-cell;
    text-align: right;
    vertical-align: bottom;
    color: #a09048;
    padding: 5px 5px 0 0;
    font-size: 0.8em;
    font-weight: bold;
  }

  /* The header across the top of the page */
  div.header {
    display: table;
    width: 100%;
  }

  /* The main menu bar that appears at the top of the page beneath
  ** the header */
  div.mainmenu {
    padding: 5px 10px 5px 10px;
    font-size: 0.9em;
    font-weight: bold;
    text-align: center;
    letter-spacing: 1px;
    background-color: #a09048;
    color: black;
  }

  /* The submenu bar that *sometimes* appears below the main menu */
  div.submenu, div.sectionmenu {
    padding: 3px 10px 3px 0px;
    font-size: 0.9em;
    text-align: center;
    background-color: #c0af58;
    color: white;
  }
  div.mainmenu a, div.mainmenu a:visited, div.submenu a, div.submenu a:visited,
  div.sectionmenu>a.button:link, div.sectionmenu>a.button:visited {
    padding: 3px 10px 3px 10px;
    color: white;
    text-decoration: none;
  }
  div.mainmenu a:hover, div.submenu a:hover, div.sectionmenu>a.button:hover {
    color: #a09048;
    background-color: white;
  }

  /* All page content from the bottom of the menu or submenu down to
  ** the footer */
  div.content {
    padding: 1ex 5px;
  }
  div.content a { color: #706532; }
  div.content a:link { color: #706532; }
  div.content a:visited { color: #704032; }
  div.content a:hover { background-color: white; color: #706532; }

  /* Some pages have section dividers */
  div.section {
    margin-bottom: 0px;
    margin-top: 1em;
    padding: 3px 3px 0 3px;
    font-size: 1.2em;
    font-weight: bold;
    background-color: #a09048;
    color: white;
  }

  /* The "Date" that occurs on the left hand side of timelines */
  div.divider {
    background: #e1d498;
    border: 2px #a09048 solid;
    font-size: 1em; font-weight: normal;
    padding: .25em;
    margin: .2em 0 .2em 0;
    float: left;
    clear: left;
  }

  /* The footer at the very bottom of the page */
  div.footer {
    font-size: 0.8em;
    margin-top: 12px;
    padding: 5px 10px 5px 10px;
    text-align: right;
    background-color: #a09048;
    color: white;
  }

  /* Hyperlink colors */
  div.footer a { color: white; }
  div.footer a:link { color: white; }
  div.footer a:visited { color: white; }
  div.footer a:hover { background-color: white; color: #558195; }

  /* <verbatim> blocks */
  pre.verbatim {
     background-color: #f5f5f5;
     padding: 0.5em;
  }

  /* The label/value pairs on (for example) the ci page */
  table.label-value th {
    vertical-align: top;
    text-align: right;
    padding: 0.2ex 2ex;
  }

  /* Side-by-side diff */
  table.sbsdiff {
    background-color: #ffffc5;
    font-family: fixed, Dejavu Sans Mono, Monaco, Lucida Console, monospace;
    font-size: 8pt;
    border-collapse:collapse;
    white-space: pre;
    width: 98%;
    border: 1px #000 dashed;
  }

  table.sbsdiff th.diffhdr {
    border-bottom: dotted;
    border-width: 1px;
  }

  table.sbsdiff tr td {
    white-space: pre;
    padding-left: 3px;
    padding-right: 3px;
    margin: 0px;
  }

  table.sbsdiff tr td.lineno {
    text-align: right;
  }

  table.sbsdiff tr td.meta {
    background-color: #a09048;
    text-align: center;
  }

  table.sbsdiff tr td.added {
    background-color: rgb(210, 210, 100);
  }

  table.sbsdiff tr td.removed {
    background-color: rgb(190, 200, 110);
  }

  table.sbsdiff tr td.changed {
    background-color: rgb(200, 210, 120);
  }


name: header
value:
  <html>
  <head>
  <base href="$baseurl/$current_page" />
  <title>$<project_name>: $<title></title>
  <link rel="alternate" type="application/rss+xml" title="RSS Feed"
        href="$home/timeline.rss">
  <link rel="stylesheet" href="$home/style.css?tan" type="text/css"
        media="screen">
  </head>
  <body>
  <div class="header">
    <div class="title">$<title></div>
    <div class="status">
      <div class="logo"><nobr>$<project_name></nobr></div><br/>
      <nobr><th1>
       if {[info exists login]} {
         puts "Logged in as $login"
       } else {
         puts "Not logged in"
       }
    </th1></nobr></div>
  </div>
  <div class="mainmenu">
  <th1>
  html "<a href='$home$index_page'>Home</a>\n"
  if {[anycap jor]} {
    html "<a href='$home/timeline'>Timeline</a>\n"
  }
  if {[hascap oh]} {
    html "<a href='$home/dir?ci=tip'>Files</a>\n"
  }
  if {[hascap o]} {
    html "<a href='$home/brlist'>Branches</a>\n"
    html "<a href='$home/taglist'>Tags</a>\n"
  }
  if {[hascap r]} {
    html "<a href='$home/reportlist'>Tickets</a>\n"
  }
  if {[hascap j]} {
    html "<a href='$home/wiki'>Wiki</a>\n"
  }
  if {[hascap s]} {
    html "<a href='$home/setup'>Admin</a>\n"
  } elseif {[hascap a]} {
    html "<a href='$home/setup_ulist'>Users</a>\n"
  }
  if {[info exists login]} {
    html "<a href='$home/login'>Logout</a>\n"
  } else {
    html "<a href='$home/login'>Login</a>\n"
  }
  </th1></div>


name: project-description
value:
  The distribution provides both client side access to Web Services and server side creation of Web Services. Currently only document/literal and rpc/encoded with HTTP Soap transport are supported on the client side. The server side currently works with several web servers(see below). It provides all services as document/literal over HTTP Soap transport. Documentation for the package, including examples can be found here. The distribution consist ofseveral packages


name: ticket-table
value:
  CREATE TABLE ticket(
    -- Do not change any column that begins with tkt_
    tkt_id INTEGER PRIMARY KEY,
    tkt_uuid TEXT UNIQUE,
    tkt_mtime DATE,
    -- Add as many field as required below this line
    type TEXT,
    status TEXT,
    subsystem TEXT,
    priority TEXT,
    severity TEXT,
    foundin TEXT,
    private_contact TEXT,
    resolution TEXT,
    title TEXT,
    comment TEXT,
    assigned_to TEXT
  );


name: ticket-common
value:
  set type_choices {
     Code_Defect
     Documentation
     Feature_Request
  }
  set priority_choices {
    Immediate
    High
    Medium
    Low
    Whenever
  }
  set severity_choices {
    Critical
    Severe
    Important
    Minor
    Cosmetic
  }
  set resolution_choices {
    Open
    Fixed
    Addition_Info_Need
    Rejected
    Workaround
    Unable_To_Reproduce
    Works_As_Designed
    External_Bug
    Not_A_Bug
    Duplicate
    Misconfiguration
  }
  set status_choices {
    New
    Accepted
    Blocked
    Verified
    Review
    Deferred
    Fixed
    Tested
    Closed
  }
  set subsystem_choices {
    Server_Side
    Client_Side
    Utilities
    TclHttpd_Specific
    AOLserver_Specific
    Rivert_Specific
    Wub_Specific
    Wibble_Specific
    Embedded_Mode_Specific
  }
  set assigned_choices {
    unassigned
    aku
    andy
    bovine
    gerald
    jeffh
    rlhicks	
    wojciechka
  }


name: ticket-newpage
value:
  <th1>
    if {[info exists submit]} {
       set status Open
       set assigned_to "unassigned"
       submit_ticket
    }
  </th1>
  <h1 style="text-align: center;">Enter A New Ticket</h1>
  <table cellpadding="5">
  <tr>
  <td colspan="2">
  Enter a one-line summary of the ticket:<br />
  <input type="text" name="title" size="60" value="$<title>" />
  </td>
  </tr>

  <tr>
  <td style="text-align: center;">Type:
  <th1>combobox type $type_choices 1</th1>
  </td>
  <td>What type of ticket is this?</td>
  </tr>

  <tr>
  <td style="text-align: center;">Version:
  <input type="text" name="foundin" size="20" value="$<foundin>" />
  </td>
  <td>In what version or build number do you observe the problem?</td>
  </tr>

  <tr><td class="tktDspLabel">Subsystem:
  <th1>combobox subsystem $subsystem_choices 1</th1>
  </td><td>What part of tclws is the problem (as best as you know).
  </td></tr>

  <tr>
  <td style="text-align: center;">Severity:
  <th1>combobox severity $severity_choices 1</th1>
  </td>
  <td>How debilitating is the problem?  How badly does the problem
  affect the operation of the product?</td>
  </tr>

  <tr>
  <td style="text-align: center;">EMail:
  <input type="text" name="private_contact" value="$<private_contact>" size="30" />
  </td>
  <td><span style="text-decoration: underline;">Not publicly visible</span>.
  Used by developers to contact you with questions.</td>
  </tr>

  <tr>
  <td colspan="2">
  Enter a detailed description of the problem.
  For code defects, be sure to provide details on exactly how
  the problem can be reproduced.  Provide as much detail as
  possible.  If you are including code or a patch,
   please put <bold> &lt;verbatim&gt;</bold> before your code/patch and 
   and <bold> &lt;/verbatim&gt;</bold> after your code/patch.  
  Or even better, create the ticket then pull it up and attach the file to the ticket.
  <br />
  Lastly, if you are describing a client side problem either include the url of a WSDL that produces the problem or create the ticket then pull it up and attach the WSDL to the ticket.
  <br />
  Thank you. 
  <br />
  <th1>set nline [linecount $comment 50 10]</th1>
  <textarea name="comment" cols="80" rows="$nline"
   wrap="virtual" class="wikiedit">$<comment></textarea><br />
  <input type="submit" name="preview" value="Preview" /></td>
  </tr>

  <th1>enable_output [info exists preview]</th1>
  <tr><td colspan="2">
  Description Preview:<br /><hr />
  <th1>wiki $comment</th1>
  <hr />
  </td></tr>
  <th1>enable_output 1</th1>

  <tr>
  <td style="text-align: center;">
  <input type="submit" name="submit" value="Submit" />
  </td>
  <td>After filling in the information above, press this button to create
  the new ticket</td>
  </tr>
  <tr>
  <td style="text-align: center;">
  <input type="submit" name="cancel" value="Cancel" />
  </td>
  <td>Abandon and forget this ticket</td>
  </tr>
  </table>


name: ticket-viewpage
value:
  <table cellpadding="5">
  <tr><td class="tktDspLabel">Ticket&nbsp;UUID:</td>
  <td class="tktDspValue" colspan="3">$<tkt_uuid></td></tr>
  <tr><td class="tktDspLabel">Title:</td>
  <td class="tktDspValue" colspan="3">
  <th1>wiki $title</th1>
  </td></tr>
  <tr><td class="tktDspLabel">Status:</td><td class="tktDspValue">
  $<status>
  </td>
  <td class="tktDspLabel">Type:</td><td class="tktDspValue">
  $<type>
  </td></tr>
  <tr><td class="tktDspLabel">Severity:</td><td class="tktDspValue">
  $<severity>
  </td>
  <td class="tktDspLabel">Priority:</td><td class="tktDspValue">
  $<priority>
  </td></tr>
  <tr><td class="tktDspLabel">Subsystem:</td><td class="tktDspValue">
  $<subsystem>
  </td>
  <td class="tktDspLabel">Resolution:</td><td class="tktDspValue">
  $<resolution>
  </td></tr>
  <tr>
    <td align="right">Assigned to:</td><td bgcolor="#d0d0d0">
    $<assigned_to>
    </td>
  </tr>
  <tr><td class="tktDspLabel">Last&nbsp;Modified:</td><td class="tktDspValue">
  $<tkt_datetime>
  </td>
  <th1>enable_output [hascap e]</th1>
    <td class="tktDspLabel">Contact:</td><td class="tktDspValue">
    $<private_contact>
    </td>
  <th1>enable_output 1</th1>
  </tr>
  <tr><td class="tktDspLabel">Version&nbsp;Found&nbsp;In:</td>
  <td colspan="3" valign="top" class="tktDspValue">
  $<foundin>
  </td></tr>
  <tr><td>Description &amp; Comments:</td></tr>
  <tr><td colspan="4" class="tktDspValue">
  <th1>wiki $comment</th1>
  </td></tr>
  </table>


name: ticket-editpage
value:
  <th1>
    if {![info exists username]} {set username $login}
    if {[info exists submit]} {
      if {[info exists cmappnd]} {
        if {[string length $cmappnd]>0} {
          set ctxt "\n\n<hr /><i>[htmlize $login]"
          if {$username ne $login} {
            set ctxt "$ctxt claiming to be [htmlize $username]"
          }
          set ctxt "$ctxt added on [date] UTC:</i><br />\n$cmappnd"
          append_field comment $ctxt
        }
      }
      submit_ticket
    }
  </th1>
  <table cellpadding="5">
  <tr><td class="tktDspLabel">Title:</td><td>
  <input type="text" name="title" value="$<title>" size="60" />
  </td></tr>
  <tr><td class="tktDspLabel">Status:</td><td>
  <th1>combobox status $status_choices 1</th1>
  </td></tr>
  <tr><td class="tktDspLabel">Type:</td><td>
  <th1>combobox type $type_choices 1</th1>
  </td></tr>
  <tr><td align="right">Assigned to:</td><td>
  <th1>combobox assigned_to $assigned_choices 1</th1>
  </td></tr>
  <tr><td class="tktDspLabel">Severity:</td><td>
  <th1>combobox severity $severity_choices 1</th1>
  </td></tr>
  <tr><td class="tktDspLabel">Priority:</td><td>
  <th1>combobox priority $priority_choices 1</th1>
  </td></tr>
  <tr><td class="tktDspLabel">Resolution:</td><td>
  <th1>combobox resolution $resolution_choices 1</th1>
  </td></tr>
  <tr><td class="tktDspLabel">Subsystem:</td><td>
  <th1>combobox subsystem $subsystem_choices 1</th1>
  </td></tr>
  <th1>enable_output [hascap e]</th1>
    <tr><td class="tktDspLabel">Contact:</td><td>
    <input type="text" name="private_contact" size="40"
     value="$<private_contact>" />
    </td></tr>
  <th1>enable_output 1</th1>
  <tr><td class="tktDspLabel">Version&nbsp;Found&nbsp;In:</td><td>
  <input type="text" name="foundin" size="50" value="$<foundin>" />
  </td></tr>
  <tr><td colspan="2">
  <th1>
    if {![info exists eall]} {set eall 0}
    if {[info exists aonlybtn]} {set eall 0}
    if {[info exists eallbtn]} {set eall 1}
    if {![hascap w]} {set eall 0}
    if {![info exists cmappnd]} {set cmappnd {}}
    set nline [linecount $comment 15 10]
    enable_output $eall
  </th1>
    Description And Comments:<br />
    <textarea name="comment" cols="80" rows="$nline"
     wrap="virtual" class="wikiedit">$<comment></textarea><br />
    <input type="hidden" name="eall" value="1" />
    <input type="submit" name="aonlybtn" value="Append Remark" />
    <input type="submit" name="preview1btn" value="Preview" />
  <th1>enable_output [expr {!$eall}]</th1>
    Append Remark from
    <input type="text" name="username" value="$<username>" size="30" />:<br />
    <textarea name="cmappnd" cols="80" rows="15"
     wrap="virtual" class="wikiedit">$<cmappnd></textarea><br />
  <th1>enable_output [expr {[hascap w] && !$eall}]</th1>
    <input type="submit" name="eallbtn" value="Edit All" />
  <th1>enable_output [expr {!$eall}]</th1>
    <input type="submit" name="preview2btn" value="Preview" />
  <th1>enable_output 1</th1>
  </td></tr>

  <th1>enable_output [info exists preview1btn]</th1>
  <tr><td colspan="2">
  Description Preview:<br /><hr />
  <th1>wiki $comment</th1>
  <hr />
  </td></tr>
  <th1>enable_output [info exists preview2btn]</th1>
  <tr><td colspan="2">
  Description Preview:<br /><hr />
  <th1>wiki $cmappnd</th1>
  <hr />
  </td></tr>
  <th1>enable_output 1</th1>

  <tr><td align="right"></td><td>
  <input type="submit" name="submit" value="Submit Changes" />
  <input type="submit" name="cancel" value="Cancel" />
  </td></tr>
  </table>


name: ticket-report-template
value:
  SELECT
    CASE WHEN status IN ('Open','Verified') THEN '#f2dcdc'
         WHEN status='Review' THEN '#e8e8e8'
         WHEN status='Fixed' THEN '#cfe8bd'
         WHEN status='Tested' THEN '#bde5d6'
         WHEN status='Deferred' THEN '#cacae5'
         ELSE '#c8c8c8' END AS 'bgcolor',
    substr(tkt_uuid,1,10) AS '#',
    datetime(tkt_mtime) AS 'mtime',
    type,
    status,
    subsystem,
    title,
    assigned_to,
    comment AS '_comments'
  FROM ticket


name: ticket-key-template
value:
  #ffffff Key:
  #f2dcdc Active
  #e8e8e8 New
  #cfe8bd Fixed
  #bde5d6 Tested
  #cacae5 Deferred
  #c8c8c8 Closed


# reportfmt

owner: gwlester
title: All Tickets
cols:
  #ffffff Key:
  #f2dcdc Active
  #e8e8e8 New
  #cfe8bd Fixed
  #bde5d6 Tested
  #cacae5 Deferred
  #c8c8c8 Closed

sqlcode:
  SELECT
    CASE WHEN status IN ('Open','Verified','Accepted') THEN '#f2dcdc'
         WHEN status in ('New', 'Blocked') THEN '#e8e8e8'
         WHEN status='Fixed' THEN '#cfe8bd'
         WHEN status='Tested' THEN '#bde5d6'
         WHEN status='Deferred' THEN '#cacae5'
         ELSE '#c8c8c8' END AS 'bgcolor',
    substr(tkt_uuid,1,10) AS '#',
    datetime(tkt_mtime) AS 'Last Modified (GMT)',
    type as 'Type',
    status as 'Status',
    subsystem as 'Subsystem',
    title as 'Short Description',
    coalesce(assigned_to,'unassigned') as 'Assigned To'
  FROM ticket
  order by '#'


owner: gwlester
title: Closed Tickets
cols:
  #ffffff Key:
  #f2dcdc Active
  #e8e8e8 New
  #cfe8bd Fixed
  #bde5d6 Tested
  #cacae5 Deferred
  #c8c8c8 Closed

sqlcode:
  SELECT
    CASE WHEN status IN ('Open','Verified','Accepted') THEN '#f2dcdc'
         WHEN status in ('New', 'Blocked') THEN '#e8e8e8'
         WHEN status='Fixed' THEN '#cfe8bd'
         WHEN status='Tested' THEN '#bde5d6'
         WHEN status='Deferred' THEN '#cacae5'
         ELSE '#c8c8c8' END AS 'bgcolor',
    substr(tkt_uuid,1,10) AS '#',
    datetime(tkt_mtime) AS 'Last Modified (GMT)',
    type as 'Type',
    status as 'Status',
    resolution as 'Resolution',
    subsystem as 'Subsystem',
    title as 'Short Description'
  FROM ticket
  where status in ('Closed')
  order by '#'


owner: gwlester
title: Open Tickets
cols:
[cell repeats an earlier one in this file: 106 characters]

sqlcode:
  SELECT
    CASE WHEN status IN ('Open','Verified','Accepted') THEN '#f2dcdc'
         WHEN status in ('New', 'Blocked') THEN '#e8e8e8'
         WHEN status='Fixed' THEN '#cfe8bd'
         WHEN status='Tested' THEN '#bde5d6'
         WHEN status='Deferred' THEN '#cacae5'
         ELSE '#c8c8c8' END AS 'bgcolor',
    substr(tkt_uuid,1,10) AS '#',
    datetime(tkt_mtime) AS 'Last Modified (GMT)',
    type as 'Type',
    status as 'Status',
    subsystem as 'Subsystem',
    title as 'Short Description',
    coalesce(assigned_to,'unassigned') as 'Assigned To'
  FROM ticket
  where status not in ('Closed')
  order by 3


owner: gwlester
title: Fixed but not Closed Tickets
cols:
[cell repeats an earlier one in this file: 106 characters]

sqlcode:
  SELECT
    CASE WHEN status IN ('Open','Verified','Accepted') THEN '#f2dcdc'
         WHEN status in ('New', 'Blocked') THEN '#e8e8e8'
         WHEN status='Fixed' THEN '#cfe8bd'
         WHEN status='Tested' THEN '#bde5d6'
         WHEN status='Deferred' THEN '#cacae5'
         ELSE '#c8c8c8' END AS 'bgcolor',
    substr(tkt_uuid,1,10) AS '#',
    datetime(tkt_mtime) AS 'Last Modified (GMT)',
    type as 'Type',
    status as 'Status',
    subsystem as 'Subsystem',
    title as 'Short Description',
    coalesce(assigned_to,'unassigned') as 'Assigned To'
  FROM ticket
  where status = 'Fixed'
  order by 3


owner: gwlester
title: Workable Tickets
cols:
[cell repeats an earlier one in this file: 106 characters]

sqlcode:
  SELECT
    CASE WHEN status IN ('Open','Verified','Accepted') THEN '#f2dcdc'
         WHEN status in ('New', 'Blocked') THEN '#e8e8e8'
         WHEN status='Fixed' THEN '#cfe8bd'
         WHEN status='Tested' THEN '#bde5d6'
         WHEN status='Deferred' THEN '#cacae5'
         ELSE '#c8c8c8' END AS 'bgcolor',
    substr(tkt_uuid,1,10) AS '#',
    datetime(tkt_mtime) AS 'Last Modified (GMT)',
    type as 'Type',
    status as 'Status',
    subsystem as 'Subsystem',
    title as 'Short Description',
    coalesce(assigned_to,'unassigned') as 'Assigned To'
  FROM ticket
  where status not in ('Closed', 'Fixed', 'Deferred', 'Blocked')
  order by 3


# event

type: ci
user: gerald.lester@4eab59b1-ed42-0410-973d-ab9b78d4c8bc
comment:
  Autoversioning commit:  a non-deltaV client made a change to
  /trunk/pkgIndex.tcl

  git-svn-id: http://tclws.googlecode.com/svn/trunk@44 4eab59b1-ed42-0410-973d-ab9b78d4c8bc


type: ci
user: gerald.lester@4eab59b1-ed42-0410-973d-ab9b78d4c8bc
comment:
  Autoversioning commit:  a non-deltaV client made a change to
  /trunk/._Embedded.tcl

  git-svn-id: http://tclws.googlecode.com/svn/trunk@43 4eab59b1-ed42-0410-973d-ab9b78d4c8bc


type: t
user: gerald
brief: Ticket [0ab8229f4e]: 1 change
comment:
  Ticket [0ab8229f4e] <i>Loading a pre parsed WSDL doesn't work for simple methods</i> status still Accepted with 1 other change


type: ci
user: gerald.lester@4eab59b1-ed42-0410-973d-ab9b78d4c8bc
comment:
  Autoversioning commit:  a non-deltaV client made a change to
  /trunk/.DS_Store

  git-svn-id: http://tclws.googlecode.com/svn/trunk@23 4eab59b1-ed42-0410-973d-ab9b78d4c8bc


type: ci
user: gerald.lester@4eab59b1-ed42-0410-973d-ab9b78d4c8bc
comment:
  Autoversioning commit:  a non-deltaV client made a change to
  /trunk/.DS_Store

  git-svn-id: http://tclws.googlecode.com/svn/trunk@22 4eab59b1-ed42-0410-973d-ab9b78d4c8bc


type: ci
user: gerald.lester@4eab59b1-ed42-0410-973d-ab9b78d4c8bc
comment:
  Autoversioning commit:  a non-deltaV client made a change to
  /trunk/.DS_Store

  git-svn-id: http://tclws.googlecode.com/svn/trunk@16 4eab59b1-ed42-0410-973d-ab9b78d4c8bc


type: ci
user: gerald.lester@4eab59b1-ed42-0410-973d-ab9b78d4c8bc
comment:
  Autoversioning commit:  a non-deltaV client made a change to
  /trunk/.DS_Store

  git-svn-id: http://tclws.googlecode.com/svn/trunk@15 4eab59b1-ed42-0410-973d-ab9b78d4c8bc


type: ci
user: gerald.lester@4eab59b1-ed42-0410-973d-ab9b78d4c8bc
comment:
  Autoversioning commit:  a non-deltaV client made a change to
  /trunk/.DS_Store

  git-svn-id: http://tclws.googlecode.com/svn/trunk@13 4eab59b1-ed42-0410-973d-ab9b78d4c8bc


type: ci
user: jeff@bovine.net@4eab59b1-ed42-0410-973d-ab9b78d4c8bc
comment:
  add a simple makefile to simplify package installation.


  git-svn-id: http://tclws.googlecode.com/svn/trunk@72 4eab59b1-ed42-0410-973d-ab9b78d4c8bc


type: ci
user: jeff@bovine.net@4eab59b1-ed42-0410-973d-ab9b78d4c8bc
comment:
  sync version


  git-svn-id: http://tclws.googlecode.com/svn/trunk@71 4eab59b1-ed42-0410-973d-ab9b78d4c8bc


type: ci
user: gerald
ecomment:
  <p>
  This implements the following new features:
  <ul>
  <li>[f1d8afed96] Add Client side routine(s) to introspect and override WSDL
  </ul>
  </p>
  <br/>

  <p>
  This contains the following bug fixes:
  <ul>
  <li>[0ab8229f4e] Loading a pre parsed WSDL doesn't work for simple methods
  <li>[926b89f91e] Can not import an XSD via https
  <li>[8cd388b62a] RPC embedded complex types get wrong namespace
  <li>[1d7b578fee] Multiple Fault elements cause code failure
  <li>[8ffcf045c0] Return array not defined correctly when outside xs namespace  
  <li>[80424f3728] Does not support the same type name being defined differently in different name space  
  <li>[c51c90158b] Choice tag in schema's not handled  
  <li>[30c62d6506] WSDL not parsed correctly when import extends type defined in WSDL  
  <li>[1f1c118564] RPC wsdl not parsed correctly
  </ul>
  </p>

comment:
  This implements the following new features:

  [f1d8afed96] Add Client side routine(s) to introspect and override WSDL


  This contains the following bug fixes:

  [0ab8229f4e] Loading a pre parsed WSDL doesn't work for simple methods
  [926b89f91e] Can not import an XSD via https
  [8cd388b62a] RPC embedded complex types get wrong namespace
  [1d7b578fee] Multiple Fault elements cause code failure
  [8ffcf045c0] Return array not defined correctly when outside xs namespace  
  [80424f3728] Does not support the same type name being defined differently in different name space  
  [c51c90158b] Choice tag in schema's not handled  
  [30c62d6506] WSDL not parsed correctly when import extends type defined in WSDL  
  [1f1c118564] RPC wsdl not parsed correctly


type: ci
user: gerald.lester@4eab59b1-ed42-0410-973d-ab9b78d4c8bc
comment:
  Rebuilt for new modules.



  git-svn-id: http://tclws.googlecode.com/svn/trunk@101 4eab59b1-ed42-0410-973d-ab9b78d4c8bc


type: ci
user: gerald.lester@4eab59b1-ed42-0410-973d-ab9b78d4c8bc
comment:
  Remove bad module.

  Replaced by AOLserver.tcl



  git-svn-id: http://tclws.googlecode.com/svn/trunk@100 4eab59b1-ed42-0410-973d-ab9b78d4c8bc


type: ci
user: gerald.lester@4eab59b1-ed42-0410-973d-ab9b78d4c8bc
comment:
  Remove comment about special version since this is going main stream.


  git-svn-id: http://tclws.googlecode.com/svn/trunk@94 4eab59b1-ed42-0410-973d-ab9b78d4c8bc


type: ci
user: gerald.lester@4eab59b1-ed42-0410-973d-ab9b78d4c8bc
comment:
  Added Wub support



  git-svn-id: http://tclws.googlecode.com/svn/trunk@90 4eab59b1-ed42-0410-973d-ab9b78d4c8bc


type: ci
user: gerald.lester@4eab59b1-ed42-0410-973d-ab9b78d4c8bc
comment:
  Fix for issue 14


  git-svn-id: http://tclws.googlecode.com/svn/trunk@61 4eab59b1-ed42-0410-973d-ab9b78d4c8bc


type: ci
user: gerald.lester@4eab59b1-ed42-0410-973d-ab9b78d4c8bc
comment:
  Delete garbage files.



  git-svn-id: http://tclws.googlecode.com/svn/trunk@59 4eab59b1-ed42-0410-973d-ab9b78d4c8bc


type: ci
user: gerald.lester@4eab59b1-ed42-0410-973d-ab9b78d4c8bc
comment:
  Autoversioning commit:  a non-deltaV client made a change to
  /trunk/._ServerSide.tcl

  git-svn-id: http://tclws.googlecode.com/svn/trunk@49 4eab59b1-ed42-0410-973d-ab9b78d4c8bc


type: ci
user: gerald.lester@4eab59b1-ed42-0410-973d-ab9b78d4c8bc
comment:
  Autoversioning commit:  a non-deltaV client made a change to
  /trunk/ServerSide.tcl

  git-svn-id: http://tclws.googlecode.com/svn/trunk@48 4eab59b1-ed42-0410-973d-ab9b78d4c8bc


type: ci
user: gerald.lester@4eab59b1-ed42-0410-973d-ab9b78d4c8bc
comment:
  Autoversioning commit:  a non-deltaV client made a change to
  /trunk/.DS_Store

  git-svn-id: http://tclws.googlecode.com/svn/trunk@38 4eab59b1-ed42-0410-973d-ab9b78d4c8bc


type: ci
user: gerald.lester@4eab59b1-ed42-0410-973d-ab9b78d4c8bc
comment:
  Autoversioning commit:  a non-deltaV client made a change to
  /trunk/.DS_Store

  git-svn-id: http://tclws.googlecode.com/svn/trunk@37 4eab59b1-ed42-0410-973d-ab9b78d4c8bc


type: ci
user: gerald.lester@4eab59b1-ed42-0410-973d-ab9b78d4c8bc
comment:
  Autoversioning commit:  a non-deltaV client made a change to
  /trunk/ClientSide.tcl

  git-svn-id: http://tclws.googlecode.com/svn/trunk@19 4eab59b1-ed42-0410-973d-ab9b78d4c8bc


type: ci
user: gerald.lester@4eab59b1-ed42-0410-973d-ab9b78d4c8bc
comment:
  Autoversioning commit:  a non-deltaV client made a change to
  /trunk/.DS_Store

  git-svn-id: http://tclws.googlecode.com/svn/trunk@18 4eab59b1-ed42-0410-973d-ab9b78d4c8bc


type: t
user: gerald
brief: Accepted ticket [f1d8afed96].
comment:
  Accepted ticket [f1d8afed96]: <i>Add Client side routine(s) to introspect and override WSDL</i> plus 2 other changes


type: ci
user: jeff@bovine.net@4eab59b1-ed42-0410-973d-ab9b78d4c8bc
comment:
  comment out apparent debugging residual


  git-svn-id: http://tclws.googlecode.com/svn/trunk@108 4eab59b1-ed42-0410-973d-ab9b78d4c8bc


type: ci
user: andrew.m.goth@4eab59b1-ed42-0410-973d-ab9b78d4c8bc
comment:
  [::WS::Server::callOperation]
  Correct typo, update to match new structure of "$requestDict post" dictionary.


  git-svn-id: http://tclws.googlecode.com/svn/trunk@107 4eab59b1-ed42-0410-973d-ab9b78d4c8bc


type: ci
user: jeff@bovine.net@4eab59b1-ed42-0410-973d-ab9b78d4c8bc
comment:
  Add support for Apache Rivet (mod_rivet) server environment (Issue 9)


  git-svn-id: http://tclws.googlecode.com/svn/trunk@64 4eab59b1-ed42-0410-973d-ab9b78d4c8bc


type: ci
user: gerald.lester@4eab59b1-ed42-0410-973d-ab9b78d4c8bc
comment:
  Added fix for issue 5


  git-svn-id: http://tclws.googlecode.com/svn/trunk@63 4eab59b1-ed42-0410-973d-ab9b78d4c8bc


type: ci
user: gerald.lester@4eab59b1-ed42-0410-973d-ab9b78d4c8bc
comment:
  Deleting extra file. 

  git-svn-id: http://tclws.googlecode.com/svn/trunk@25 4eab59b1-ed42-0410-973d-ab9b78d4c8bc


type: ci
user: gerald.lester@4eab59b1-ed42-0410-973d-ab9b78d4c8bc
comment:
  Initial work toward Release 1.1.0

  git-svn-id: http://tclws.googlecode.com/svn/trunk@24 4eab59b1-ed42-0410-973d-ab9b78d4c8bc


type: t
user: gerald
brief: Accepted ticket [7c55121bce].
comment:
  Accepted ticket [7c55121bce]: <i>Server side handling for wibble not functional</i> plus 2 other changes


type: ci
user: wojciech.kocjan@4eab59b1-ed42-0410-973d-ab9b78d4c8bc
comment:
  Fix for issues 1 and 2.

  git-svn-id: http://tclws.googlecode.com/svn/trunk@36 4eab59b1-ed42-0410-973d-ab9b78d4c8bc


type: t
user: gerald
brief: Ticket [1490906b3e]: 1 change
comment:
  Ticket [1490906b3e] <i>Repeated import of an XSD raises an error</i> status still Closed with 1 other change


type: ci
user: jeff@bovine.net@4eab59b1-ed42-0410-973d-ab9b78d4c8bc
comment:
  update documentation and comments


  git-svn-id: http://tclws.googlecode.com/svn/trunk@83 4eab59b1-ed42-0410-973d-ab9b78d4c8bc


type: ci
user: jeff@bovine.net@4eab59b1-ed42-0410-973d-ab9b78d4c8bc
comment:
  Issue 16: Allow HTML in function descriptions of autogenerated documentation by adding -docFormat option.


  git-svn-id: http://tclws.googlecode.com/svn/trunk@81 4eab59b1-ed42-0410-973d-ab9b78d4c8bc


type: t
user: gerald
brief: New ticket [80424f3728].
comment:
  New ticket [80424f3728] <i>Does not support the same type name being defined differently in different name space</i>.


type: t
user: gerald
brief: Ticket [80424f3728]: 5 changes
comment:
  Ticket [80424f3728] <i>Does not support the same type name being defined differently in different name space</i> status still Open with 5 other changes


type: ci
user: gerald.lester@4eab59b1-ed42-0410-973d-ab9b78d4c8bc
comment:
  Release 1.1.2



  git-svn-id: http://tclws.googlecode.com/svn/trunk@57 4eab59b1-ed42-0410-973d-ab9b78d4c8bc


type: ci
user: wojciech.kocjan@4eab59b1-ed42-0410-973d-ab9b78d4c8bc
comment:
  Added support for SSL enabled web services.

  git-svn-id: http://tclws.googlecode.com/svn/trunk@56 4eab59b1-ed42-0410-973d-ab9b78d4c8bc


type: t
user: gerald
brief: Ticket [146662c8bd]: 3 changes
comment:
  Ticket [146662c8bd] <i>Wsdl and SOAP version check (feature request)</i> status still Open with 3 other changes


type: ci
user: gerald.lester@4eab59b1-ed42-0410-973d-ab9b78d4c8bc
comment:
  Autoversioning commit:  a non-deltaV client made a change to
  /trunk/Embedded.tcl

  git-svn-id: http://tclws.googlecode.com/svn/trunk@42 4eab59b1-ed42-0410-973d-ab9b78d4c8bc


type: ci
user: gerald.lester@4eab59b1-ed42-0410-973d-ab9b78d4c8bc
comment:
  Autoversioning commit:  a non-deltaV client made a change to
  /trunk/._ClientSide.tcl

  git-svn-id: http://tclws.googlecode.com/svn/trunk@41 4eab59b1-ed42-0410-973d-ab9b78d4c8bc


type: t
user: gerald
brief: Ticket [2031f0cb17]: 3 changes
comment:
  Ticket [2031f0cb17] <i>support for SOAP 1.2 with WSDL 1.1</i> status still Open with 3 other changes


type: t
user: gerald
brief: Accepted ticket [80424f3728].
comment:
  Accepted ticket [80424f3728]: <i>Does not support the same type name being defined differently in different name space</i> plus 1 other change


type: t
user: gerald
brief: Accepted ticket [0ab8229f4e].
comment:
  Accepted ticket [0ab8229f4e]: <i>Loading a pre parsed WSDL doesn't work for simple methods</i> plus 2 other changes


type: ci
user: jeff@bovine.net@4eab59b1-ed42-0410-973d-ab9b78d4c8bc
comment:
  change eol-style to native


  git-svn-id: http://tclws.googlecode.com/svn/trunk@65 4eab59b1-ed42-0410-973d-ab9b78d4c8bc


type: t
user: gerald
brief: Ticket [aa05504f11]: 1 change
comment:
  Ticket [aa05504f11] <i>Multiple nodes in soap body causes issues</i> status still Fixed with 1 other change


type: ci
user: gerald.lester@4eab59b1-ed42-0410-973d-ab9b78d4c8bc
comment:
  Corrects for issue #6


  git-svn-id: http://tclws.googlecode.com/svn/trunk@77 4eab59b1-ed42-0410-973d-ab9b78d4c8bc


type: ci
user: jeff@bovine.net@4eab59b1-ed42-0410-973d-ab9b78d4c8bc
comment:
  update service name to match the non-Rivet example


  git-svn-id: http://tclws.googlecode.com/svn/trunk@76 4eab59b1-ed42-0410-973d-ab9b78d4c8bc


type: ci
user: gerald.lester@4eab59b1-ed42-0410-973d-ab9b78d4c8bc
comment:
  Autoversioning commit:  a non-deltaV client made a change to
  /trunk/ServerSide.tcl

  git-svn-id: http://tclws.googlecode.com/svn/trunk@47 4eab59b1-ed42-0410-973d-ab9b78d4c8bc


type: ci
user: gerald.lester@4eab59b1-ed42-0410-973d-ab9b78d4c8bc
comment:
  Autoversioning commit:  a non-deltaV client made a change to
  /trunk/._pkgIndex.tcl

  git-svn-id: http://tclws.googlecode.com/svn/trunk@46 4eab59b1-ed42-0410-973d-ab9b78d4c8bc


type: t
user: gerald
brief: Deferred ticket [146662c8bd].
comment:
  Deferred ticket [146662c8bd]: <i>Wsdl and SOAP version check (feature request)</i> plus 1 other change


type: ci
user: jeff@bovine.net@4eab59b1-ed42-0410-973d-ab9b78d4c8bc
comment:
  Issue 13: Server Array types have extra "()" in generated WSDL


  git-svn-id: http://tclws.googlecode.com/svn/trunk@67 4eab59b1-ed42-0410-973d-ab9b78d4c8bc


type: ci
user: jeff@bovine.net@4eab59b1-ed42-0410-973d-ab9b78d4c8bc
comment:
  Issue 11: Input parameters listed in autogenerated human-readable docs should not be sorted


  git-svn-id: http://tclws.googlecode.com/svn/trunk@66 4eab59b1-ed42-0410-973d-ab9b78d4c8bc


type: ci
user: gerald.lester@4eab59b1-ed42-0410-973d-ab9b78d4c8bc
comment:
  Autoversioning commit:  a non-deltaV client made a change to
  /trunk/.DS_Store

  git-svn-id: http://tclws.googlecode.com/svn/trunk@14 4eab59b1-ed42-0410-973d-ab9b78d4c8bc


type: t
user: bovine
brief: New ticket [dadda5b3e5].
comment:
  New ticket [dadda5b3e5]: <i>Way to include custom CSS stylesheet in HTML documentation</i> plus 3 other changes


type: ci
user: jeff@bovine.net@4eab59b1-ed42-0410-973d-ab9b78d4c8bc
comment:
  Issue 17: Autogenerated HTML server-side function docs should try to be XHTML compliant


  git-svn-id: http://tclws.googlecode.com/svn/trunk@75 4eab59b1-ed42-0410-973d-ab9b78d4c8bc


type: ci
user: gerald.lester@4eab59b1-ed42-0410-973d-ab9b78d4c8bc
comment:
  Implement issue 15 via -traceEnabled option to ::WS::Server::Service



  git-svn-id: http://tclws.googlecode.com/svn/trunk@74 4eab59b1-ed42-0410-973d-ab9b78d4c8bc


type: ci
user: jeff@bovine.net@4eab59b1-ed42-0410-973d-ab9b78d4c8bc
comment:
  Issue 12: Support for legacy pySOAP (Python) rpc-encoded clients


  git-svn-id: http://tclws.googlecode.com/svn/trunk@69 4eab59b1-ed42-0410-973d-ab9b78d4c8bc


type: ci
user: jeff@bovine.net@4eab59b1-ed42-0410-973d-ab9b78d4c8bc
comment:
  consistently use trimright when removing paren pairs


  git-svn-id: http://tclws.googlecode.com/svn/trunk@68 4eab59b1-ed42-0410-973d-ab9b78d4c8bc


type: t
user: gerald
brief: Ticket [1490906b3e]: 1 change
comment:
  Ticket [1490906b3e] <i>Repeated import of an XSD raises an error</i> status still Verified with 1 other change


type: t
user: bovine
brief: Fixed ticket [dadda5b3e5].
comment:
  Fixed ticket [dadda5b3e5]: <i>Way to include custom CSS stylesheet in HTML documentation</i> plus 1 other change


type: ci
user: gerald.lester@4eab59b1-ed42-0410-973d-ab9b78d4c8bc
comment:
  Autoversioning commit:  a non-deltaV client made a change to
  /trunk/.DS_Store

  git-svn-id: http://tclws.googlecode.com/svn/trunk@54 4eab59b1-ed42-0410-973d-ab9b78d4c8bc


type: ci
user: gerald.lester@4eab59b1-ed42-0410-973d-ab9b78d4c8bc
comment:
  Autoversioning commit:  a non-deltaV client made a change to
  /trunk/.DS_Store

  git-svn-id: http://tclws.googlecode.com/svn/trunk@53 4eab59b1-ed42-0410-973d-ab9b78d4c8bc


type: t
user: gerald
brief: Ticket [dadda5b3e5]: 1 change
comment:
  Ticket [dadda5b3e5] <i>Way to include custom CSS stylesheet in HTML documentation</i> status still Closed with 1 other change


type: ci
user: jeff@bovine.net@4eab59b1-ed42-0410-973d-ab9b78d4c8bc
comment:
  partial revert of r57, which unintentionally removed urlPrefix support


  git-svn-id: http://tclws.googlecode.com/svn/trunk@70 4eab59b1-ed42-0410-973d-ab9b78d4c8bc


type: ci
user: gerald.lester@4eab59b1-ed42-0410-973d-ab9b78d4c8bc
comment:
  Autoversioning commit:  a non-deltaV client made a change to
  /trunk/._ClientSide.tcl

  git-svn-id: http://tclws.googlecode.com/svn/trunk@21 4eab59b1-ed42-0410-973d-ab9b78d4c8bc


type: ci
user: gerald.lester@4eab59b1-ed42-0410-973d-ab9b78d4c8bc
comment:
  Autoversioning commit:  a non-deltaV client made a change to
  /trunk/pkgIndex.tcl

  git-svn-id: http://tclws.googlecode.com/svn/trunk@45 4eab59b1-ed42-0410-973d-ab9b78d4c8bc


type: ci
user: gerald.lester@4eab59b1-ed42-0410-973d-ab9b78d4c8bc
comment:
  Autoversioning commit:  a non-deltaV client made a change to
  /trunk/ClientSide.tcl

  git-svn-id: http://tclws.googlecode.com/svn/trunk@20 4eab59b1-ed42-0410-973d-ab9b78d4c8bc


type: ci
user: gerald.lester@4eab59b1-ed42-0410-973d-ab9b78d4c8bc
comment:
  Updates to documentation



  git-svn-id: http://tclws.googlecode.com/svn/trunk@89 4eab59b1-ed42-0410-973d-ab9b78d4c8bc


type: ci
user: gerald.lester@4eab59b1-ed42-0410-973d-ab9b78d4c8bc
comment:
  Updates to Client side documentation.



  git-svn-id: http://tclws.googlecode.com/svn/trunk@88 4eab59b1-ed42-0410-973d-ab9b78d4c8bc


type: t
user: gerald
brief: Ticket [f1d8afed96]: 1 change
comment:
  Ticket [f1d8afed96] <i>Add Client side routine(s) to introspect and override WSDL</i> status still Accepted with 1 other change


type: t
user: gerald
brief: Ticket [7c55121bce]: 1 change
comment:
  Ticket [7c55121bce] <i>Server side handling for wibble not functional</i> status still Accepted with 1 other change


type: ci
user: tom.rmadilo@gmail.com@4eab59b1-ed42-0410-973d-ab9b78d4c8bc
comment:
  Add AOLserver to package index file, plus math example




  git-svn-id: http://tclws.googlecode.com/svn/trunk@102 4eab59b1-ed42-0410-973d-ab9b78d4c8bc


type: ci
user: gerald.lester@4eab59b1-ed42-0410-973d-ab9b78d4c8bc
comment:
  Addess issue.


  git-svn-id: http://tclws.googlecode.com/svn/trunk@111 4eab59b1-ed42-0410-973d-ab9b78d4c8bc


type: ci
user: gerald.lester@4eab59b1-ed42-0410-973d-ab9b78d4c8bc
comment:
  Autoversioning commit:  a non-deltaV client made a change to
  /trunk/.DS_Store

  git-svn-id: http://tclws.googlecode.com/svn/trunk@17 4eab59b1-ed42-0410-973d-ab9b78d4c8bc


type: ci
user: gerald.lester@4eab59b1-ed42-0410-973d-ab9b78d4c8bc
comment:
  2009 commit

  git-svn-id: http://tclws.googlecode.com/svn/trunk@55 4eab59b1-ed42-0410-973d-ab9b78d4c8bc


type: ci
user: gerald.lester@4eab59b1-ed42-0410-973d-ab9b78d4c8bc
comment:
  Autoversioning commit:  a non-deltaV client made a change to
  /trunk/ClientSide.tcl

  git-svn-id: http://tclws.googlecode.com/svn/trunk@40 4eab59b1-ed42-0410-973d-ab9b78d4c8bc


type: ci
user: gerald.lester@4eab59b1-ed42-0410-973d-ab9b78d4c8bc
comment:
  Autoversioning commit:  a non-deltaV client made a change to
  /trunk/ClientSide.tcl

  git-svn-id: http://tclws.googlecode.com/svn/trunk@39 4eab59b1-ed42-0410-973d-ab9b78d4c8bc


type: ci
user: tom.rmadilo@gmail.com@4eab59b1-ed42-0410-973d-ab9b78d4c8bc
comment:
  Fix package ifneeded/provide version mismatch

  Also removed commented out code.


  git-svn-id: http://tclws.googlecode.com/svn/trunk@99 4eab59b1-ed42-0410-973d-ab9b78d4c8bc


type: ci
user: gerald.lester@4eab59b1-ed42-0410-973d-ab9b78d4c8bc
comment:
  Make 1.4.0 release.



  git-svn-id: http://tclws.googlecode.com/svn/trunk@110 4eab59b1-ed42-0410-973d-ab9b78d4c8bc


type: ci
user: gerald.lester@4eab59b1-ed42-0410-973d-ab9b78d4c8bc
comment:
  Correction to better parse elemental types.



  git-svn-id: http://tclws.googlecode.com/svn/trunk@109 4eab59b1-ed42-0410-973d-ab9b78d4c8bc


type: ci
user: gerald.lester@4eab59b1-ed42-0410-973d-ab9b78d4c8bc
comment:
  Updates to documentation for new features.



  git-svn-id: http://tclws.googlecode.com/svn/trunk@87 4eab59b1-ed42-0410-973d-ab9b78d4c8bc


type: ci
user: gerald.lester@4eab59b1-ed42-0410-973d-ab9b78d4c8bc
comment:
  Added channel driver server.



  git-svn-id: http://tclws.googlecode.com/svn/trunk@97 4eab59b1-ed42-0410-973d-ab9b78d4c8bc


type: ci
user: gerald.lester@4eab59b1-ed42-0410-973d-ab9b78d4c8bc
comment:
  Autoversioning commit:  a non-deltaV client made a change to
  /trunk/._Utilities.tcl

  git-svn-id: http://tclws.googlecode.com/svn/trunk@52 4eab59b1-ed42-0410-973d-ab9b78d4c8bc


type: ci
user: gerald.lester@4eab59b1-ed42-0410-973d-ab9b78d4c8bc
comment:
  Autoversioning commit:  a non-deltaV client made a change to
  /trunk/Utilities.tcl

  git-svn-id: http://tclws.googlecode.com/svn/trunk@51 4eab59b1-ed42-0410-973d-ab9b78d4c8bc


type: ci
user: gerald.lester@4eab59b1-ed42-0410-973d-ab9b78d4c8bc
comment:
  Autoversioning commit:  a non-deltaV client made a change to
  /trunk/Utilities.tcl

  git-svn-id: http://tclws.googlecode.com/svn/trunk@50 4eab59b1-ed42-0410-973d-ab9b78d4c8bc


type: ci
user: gerald.lester@4eab59b1-ed42-0410-973d-ab9b78d4c8bc
comment:
  Corrections REST for client side.


  git-svn-id: http://tclws.googlecode.com/svn/trunk@103 4eab59b1-ed42-0410-973d-ab9b78d4c8bc


type: ci
user: gerald.lester@4eab59b1-ed42-0410-973d-ab9b78d4c8bc
comment:
  Add wibble server.



  git-svn-id: http://tclws.googlecode.com/svn/trunk@105 4eab59b1-ed42-0410-973d-ab9b78d4c8bc


type: ci
user: tom.rmadilo@gmail.com@4eab59b1-ed42-0410-973d-ab9b78d4c8bc
comment:
  Added AOLserver support and example of use.


  git-svn-id: http://tclws.googlecode.com/svn/trunk@98 4eab59b1-ed42-0410-973d-ab9b78d4c8bc


type: ci
user: jeff@bovine.net@4eab59b1-ed42-0410-973d-ab9b78d4c8bc
comment:
  Issue 17: Avoid misusing <ul> to indent blocks of non-list text.


  git-svn-id: http://tclws.googlecode.com/svn/trunk@79 4eab59b1-ed42-0410-973d-ab9b78d4c8bc


type: ci
user: jeff@bovine.net@4eab59b1-ed42-0410-973d-ab9b78d4c8bc
comment:
  Issue 17: add missing body tag


  git-svn-id: http://tclws.googlecode.com/svn/trunk@78 4eab59b1-ed42-0410-973d-ab9b78d4c8bc


type: ci
user: jeff@bovine.net@4eab59b1-ed42-0410-973d-ab9b78d4c8bc
comment:
  fix spelling errors


  git-svn-id: http://tclws.googlecode.com/svn/trunk@80 4eab59b1-ed42-0410-973d-ab9b78d4c8bc


type: ci
user: gerald.lester@4eab59b1-ed42-0410-973d-ab9b78d4c8bc
comment:
  Correct Issue 6



  git-svn-id: http://tclws.googlecode.com/svn/trunk@73 4eab59b1-ed42-0410-973d-ab9b78d4c8bc


type: ci
user: gerald.lester@4eab59b1-ed42-0410-973d-ab9b78d4c8bc
comment:
  Replace puts to stderr with ::log::log error



  git-svn-id: http://tclws.googlecode.com/svn/trunk@62 4eab59b1-ed42-0410-973d-ab9b78d4c8bc


type: ci
user: gerald.lester@4eab59b1-ed42-0410-973d-ab9b78d4c8bc
comment:
  New Documentation for release 1.1.2



  git-svn-id: http://tclws.googlecode.com/svn/trunk@58 4eab59b1-ed42-0410-973d-ab9b78d4c8bc


type: t
user: gwlester
brief: Accepted ticket [8cd388b62a].
comment:
  Accepted ticket [8cd388b62a]: <i>RPC embedded complex types get wrong namespace</i> plus 2 other changes


type: t
user: gwlester
brief: Ticket [926b89f91e]: 1 change
comment:
  Ticket [926b89f91e] <i>Can not import an XSD via https</i> status still Accepted with 1 other change


type: t
user: gwlester
brief: Ticket [8cd388b62a]: 1 change
comment:
  Ticket [8cd388b62a] <i>RPC embedded complex types get wrong namespace</i> status still Accepted with 1 other change


type: t
user: gwlester
brief: Accepted ticket [1d7b578fee].
comment:
  Accepted ticket [1d7b578fee]: <i>Multiple Fault elements cause code failure</i> plus 3 other changes


type: t
user: gwlester
brief: Accepted ticket [8ffcf045c0].
comment:
  Accepted ticket [8ffcf045c0]: <i>Return array not defined correctly when outside xs namespace</i> plus 3 other changes


type: t
user: gwlester
brief: Ticket [80424f3728]: 1 change
comment:
  Ticket [80424f3728] <i>Does not support the same type name being defined differently in different name space</i> status still Accepted with 1 other change


type: t
user: gwlester
brief: Accepted ticket [30c62d6506].
comment:
  Accepted ticket [30c62d6506]: <i>WSDL not parsed correctly when import extends type defined in WSDL</i> plus 3 other changes


type: t
user: gwlester
brief: Accepted ticket [ce7126364f].
comment:
  Accepted ticket [ce7126364f]: <i>Generate dictionary "template" of data types</i> plus 2 other changes


type: t
user: gwlester
brief: New ticket [50af879508].
comment:
  New ticket [50af879508]: <i>Example CallEcho client crashes during ComplexEcho</i> plus 3 other changes


type: t
user: gwlester
brief: New ticket [6eae39ab12].
comment:
  New ticket [6eae39ab12] <i>Add inbound and outbound transforms on Server side similar to what is available on Client side</i>.


type: t
user: gwlester
brief: Accepted ticket [6eae39ab12].
comment:
  Accepted ticket [6eae39ab12]: <i>Add inbound and outbound transforms on Server side similar to what is available on Client side</i> plus 3 other changes


type: ci
user: gerald
ecomment:
  Fixes for [0c30a2dcf1].  Changes to namespace eval to ensure no conflicts with globals. Roll 'build' number.

comment:
  Fixes for [e21082e7a4].  Changes to namespace eval to ensure no conflicts with globals. Roll 'build' number.


type: t
user: gwlester
brief: Closed ticket [8cd388b62a].
comment:
  Closed ticket [8cd388b62a]: <i>RPC embedded complex types get wrong namespace</i> plus 1 other change


type: t
user: gwlester
brief: Closed ticket [8ffcf045c0].
comment:
  Closed ticket [8ffcf045c0]: <i>Return array not defined correctly when outside xs namespace</i> plus 1 other change


type: t
user: gwlester
brief: Closed ticket [80424f3728].
comment:
  Closed ticket [80424f3728]: <i>Does not support the same type name being defined differently in different name space</i> plus 1 other change


type: t
user: gwlester
brief: Closed ticket [30c62d6506].
comment:
  Closed ticket [30c62d6506]: <i>WSDL not parsed correctly when import extends type defined in WSDL</i> plus 1 other change


type: t
user: gwlester
brief: Verified ticket [0c30a2dcf1].
comment:
  Verified ticket [0c30a2dcf1]: <i>Bad request generated when action present in operation</i> plus 4 other changes


type: t
user: anonymous
brief: New ticket [ebd3d46395].
comment:
  New ticket [ebd3d46395]: <i>key "type" not known in dictionary during Client::DoCall</i> plus 3 other changes


type: t
user: gwlester
brief: Ticket [ebd3d46395]: 1 change
comment:
  Ticket [ebd3d46395] <i>key "type" not known in dictionary during Client::DoCall</i> status still New with 1 other change


type: ci
user: gerald
comment:
  Implement feature request [6eae39ab12] -- Add inbound and outbound transforms on Server side similar to what is available on Client side


type: t
user: gwlester
brief: Fixed ticket [0c30a2dcf1].
comment:
  Fixed ticket [0c30a2dcf1]: <i>Bad request generated when action present in operation</i> plus 1 other change


type: t
user: gwlester
brief: Ticket [ebd3d46395]: 2 changes
comment:
  Ticket [ebd3d46395] <i>key "type" not known in dictionary during Client::DoCall</i> status still New with 2 other changes


type: t
user: gwlester
brief: Closed ticket [50af879508].
comment:
  Closed ticket [50af879508]: <i>Example CallEcho client crashes during ComplexEcho</i> plus 1 other change


type: t
user: gwlester
brief: Fixed ticket [6eae39ab12].
comment:
  Fixed ticket [6eae39ab12]: <i>Add inbound and outbound transforms on Server side similar to what is available on Client side</i> plus 1 other change


type: ci
user: gerald
comment:
  Client side fix to loading revised style of parsed WSDLs.

  Utilities fix to build RPC Encoded messages.


type: t
user: gwlester
brief: Accepted ticket [f73f1a68c5].
comment:
  Accepted ticket [f73f1a68c5]: <i>Add client side support for overloaded operations</i> plus 4 other changes


type: t
user: gwlester
brief: Ticket [50af879508]: 1 change
comment:
  Ticket [50af879508] <i>Example CallEcho client crashes during ComplexEcho</i> status still Closed with 1 other change


type: t
user: gwlester
brief: Ticket [359aeceb30]: 1 change
comment:
  Ticket [359aeceb30] <i>wsMathExample client not functional</i> status still Accepted with 1 other change


type: t
user: gwlester
brief: Accepted ticket [a52d5db004].
comment:
  Accepted ticket [a52d5db004]: <i>Namespaces local to schema are not supported</i> plus 3 other changes


type: ci
user: gerald
ecomment:
  Roll Version Numbers to 2.1 to prepare for release.

  Also fixes for:
       [a2b1add55a]	 German umlauts not working (at least with SugarCRM)
       [ced827a9da]	 Client: Convert XML to UTF-8

comment:
  Roll Version Numbers to 2.1 to prepare for release.

  Also fixes for:
       [a2b1add55a]	 German umlauts not working (at least with SugarCRM)
       [ced827a9da]	 Client: Convert XML to UTF-8


type: t
user: gwlester
brief: Accepted ticket [a2b1add55a].
comment:
  Accepted ticket [a2b1add55a]: <i>German umlauts not working (at least with SugarCRM)</i> plus 3 other changes


type: t
user: gwlester
brief: Fixed ticket [a2b1add55a].
comment:
  Fixed ticket [a2b1add55a]: <i>German umlauts not working (at least with SugarCRM)</i> plus 1 other change


type: t
user: gwlester
brief: Ticket [a2b1add55a]: 1 change
comment:
  Ticket [a2b1add55a] <i>German umlauts not working (at least with SugarCRM)</i> status still Fixed with 1 other change


type: t
user: gwlester
brief: Closed ticket [6eae39ab12].
comment:
  Closed ticket [6eae39ab12]: <i>Add inbound and outbound transforms on Server side similar to what is available on Client side</i>


type: t
user: gwlester
brief: Closed ticket [ebd3d46395].
comment:
  Closed ticket [ebd3d46395]: <i>key "type" not known in dictionary during Client::DoCall</i> plus 1 other change


type: t
user: gwlester
brief: Closed ticket [f73f1a68c5].
comment:
  Closed ticket [f73f1a68c5]: <i>Add client side support for overloaded operations</i> plus 2 other changes


type: t
user: gwlester
brief: Closed ticket [a52d5db004].
comment:
  Closed ticket [a52d5db004]: <i>Namespaces local to schema are not supported</i> plus 2 other changes


type: t
user: gwlester
brief: Closed ticket [a2b1add55a].
comment:
  Closed ticket [a2b1add55a]: <i>German umlauts not working (at least with SugarCRM)</i> plus 1 other change


type: ci
user: gerald
comment:
  Fixes for bugs:


  4a72ac4b11  Code_Defect	  Redirects not being followed
  3de47c423b  Code_Defect	  Invalid command name Tcl error when parsing WSDL xml  
  83bd219e9a  Code_Defect	  extra level in typeInfo dict	  
  35e25c0a53  Code_Defect	  typos


type: t
user: gwlester
brief: Accepted ticket [3990dc7712].
comment:
  Accepted ticket [3990dc7712]: <i>References across namespaces do not work correctly</i> plus 2 other changes


type: t
user: gwlester
brief: Ticket [3990dc7712]: 1 change
comment:
  Ticket [3990dc7712] <i>References across namespaces do not work correctly</i> status still Accepted with 1 other change


type: t
user: anonymous
brief: New ticket [3de47c423b].
comment:
  New ticket [3de47c423b]: <i>Invalid command name Tcl error when parsing WSDL xml</i> plus 3 other changes


type: t
user: gwlester
brief: Ticket [3de47c423b]: 1 change
comment:
  Ticket [3de47c423b] <i>Invalid command name Tcl error when parsing WSDL xml</i> status still New with 1 other change


type: t
user: gwlester
brief: Closed ticket [acccea2f30].
comment:
  Closed ticket [acccea2f30]: <i>Errors on parsing Hydra (a.ka. LinkSmart) WSDL</i> plus 3 other changes


type: t
user: gwlester
brief: Ticket [3de47c423b]: 1 change
comment:
  Ticket [3de47c423b] <i>Invalid command name Tcl error when parsing WSDL xml</i> status still Accepted with 1 other change


type: t
user: gwlester
brief: Fixed ticket [3de47c423b].
comment:
  Fixed ticket [3de47c423b]: <i>Invalid command name Tcl error when parsing WSDL xml</i> plus 1 other change


type: t
user: gwlester
brief: Closed ticket [3de47c423b].
comment:
  Closed ticket [3de47c423b]: <i>Invalid command name Tcl error when parsing WSDL xml</i> plus 1 other change


type: ci
user: gerald
comment:
  Fixes:
  	11674e69b0 -- syntax errors in trunk
  	7c55121bce -- Server side handling for wibble not functional

  Implements:
  	6ee947f218 --  Byte Order Marker from some servers not handled
  	fc2ccda89c --  Add support for Wibble 0.2


type: t
user: gwlester
brief: Fixed ticket [d5a1d9fa75].
comment:
  Fixed ticket [d5a1d9fa75]: <i>Invalid command name ::WS::Client::GetNameSpace</i> plus 3 other changes


type: t
user: gwlester
brief: Fixed ticket [6ee947f218].
comment:
  Fixed ticket [6ee947f218]: <i>Byte Order Marker from some servers not handled</i> plus 5 other changes


type: t
user: gwlester
brief: Fixed ticket [7c55121bce].
comment:
  Fixed ticket [7c55121bce]: <i>Server side handling for wibble not functional</i> plus 2 other changes


type: t
user: gwlester
brief: Ticket [7c55121bce]: 1 change
comment:
  Ticket [7c55121bce] <i>Server side handling for wibble not functional</i> status still Fixed with 1 other change


type: t
user: gwlester
brief: New ticket [461772a9f0].
comment:
  New ticket [461772a9f0]: <i>to include SOAP-ENC:arrayType for arrays returned</i> plus 4 other changes


type: t
user: gwlester
brief: Ticket [461772a9f0]: 2 changes
comment:
  Ticket [461772a9f0] <i>Add support for RPC/Encoded (and maybe RPC/Literal)</i> status still New with 2 other changes


type: t
user: gwlester
brief: Deferred ticket [461772a9f0].
comment:
  Deferred ticket [461772a9f0]: <i>Add support for RPC/Encoded (and maybe RPC/Literal)</i> plus 1 other change


type: t
user: gwlester
brief: Ticket [2031f0cb17]: 2 changes
comment:
  Ticket [2031f0cb17] <i>Add support for SOAP 1.2 with WSDL 1.1</i> status still Accepted with 2 other changes


type: t
user: gwlester
brief: Ticket [2042b7a4ed]: 1 change
comment:
  Ticket [2042b7a4ed] <i>Enhance error handling of http status and codes</i> status still Accepted with 1 other change


type: t
user: gwlester
brief: Ticket [2042b7a4ed]: 2 changes
comment:
  Ticket [2042b7a4ed] <i>Enhance error handling of http status and codes</i> status still Accepted with 2 other changes


type: ci
user: gerald
comment:
  Fixes for:
        [6067c10a0f] - WSDL's with XML comments fail to parse
        [323b93d3bd] - extra tns in parseComplexType


type: ci
user: gerald
comment:
  Fix for [398fcd8692] -- ::WS::Utils::geturl_followRedirects doesn't support the -headers arg

  Also rolled version numbers to 2.2.4 in advance of the next release.  Holding off for a week or two to see if anymore defects come in.


type: t
user: gwlester
brief: Closed ticket [3990dc7712].
comment:
  Closed ticket [3990dc7712]: <i>References across namespaces do not work correctly</i> plus 2 other changes


type: t
user: anonymous
brief: New ticket [398fcd8692].
comment:
  New ticket [398fcd8692] <i>::WS::Utils::geturl_followRedirects doesn't support the -headers arg</i>.


type: t
user: gwlester
brief: Accepted ticket [398fcd8692].
comment:
  Accepted ticket [398fcd8692]: <i>::WS::Utils::geturl_followRedirects doesn't support the -headers arg</i> plus 3 other changes


type: t
user: bovine
brief: New ticket [51f6196783].
comment:
  New ticket [51f6196783] <i>Invalid client requests built for complex extended types with attributes</i>.


type: t
user: bovine
brief: New ticket [51f6196783].
comment:
  New ticket [51f6196783]: <i>Invalid client requests built for complex extended types with attributes</i> plus 3 other changes


type: t
user: gwlester
brief: Closed ticket [51f6196783].
comment:
  Closed ticket [51f6196783]: <i>Invalid client requests built for complex extended types with attributes</i> plus 2 other changes


type: ci
user: gerald
comment:
  Added option of putting namespace prefixes only on changes of namespace.
  Added option of using type vs element namespace as prefix.
  Added skipping of top level element on results.


type: t
user: gwlester
brief: Closed ticket [398fcd8692].
comment:
  Closed ticket [398fcd8692]: <i>::WS::Utils::geturl_followRedirects doesn't support the -headers arg</i> plus 1 other change


type: t
user: gwlester
brief: Closed ticket [68a1cfafdc].
comment:
  Closed ticket [68a1cfafdc]: <i>Type definitions assigned to wrong namespace</i> plus 3 other changes


type: t
user: gwlester
brief: Accepted ticket [1a9a9f98e9].
comment:
  Accepted ticket [1a9a9f98e9]: <i>patch to get nsOnChangeOnly feature to work</i> plus 3 other changes


type: t
user: gwlester
brief: Ticket [1a9a9f98e9]: 1 change
comment:
  Ticket [1a9a9f98e9] <i>patch to get nsOnChangeOnly feature to work</i> status still Fixed with 1 other change


type: t
user: gwlester
brief: Ticket [1a9a9f98e9]: 2 changes
comment:
  Ticket [1a9a9f98e9] <i>patch to get nsOnChangeOnly feature to work</i> status still Fixed with 2 other changes


type: t
user: gwlester
brief: Ticket [a8de49b7c3]: 2 changes
comment:
  Ticket [a8de49b7c3] <i>extensions of non-simple types do not work</i> status still Fixed with 2 other changes


type: t
user: gwlester
brief: Ticket [8e844665cf]: 1 change
comment:
  Ticket [8e844665cf] <i>Element tags are always parsed always as arrays</i> status still Fixed with 1 other change


type: t
user: anonymous
brief: New ticket [00485c1c92].
comment:
  New ticket [00485c1c92]: <i>request xml invalid because of double header elements</i> plus 3 other changes


type: t
user: gwlester
brief: Accepted ticket [00485c1c92].
comment:
  Accepted ticket [00485c1c92]: <i>request xml invalid because of double header elements</i> plus 1 other change


type: ci
user: gerald
comment:
  Fix for bug [00485c1c92] -- request xml invalid because of double header elements
      	    		    added a new client side option, skipHeaderLevel


type: t
user: gwlester
brief: Accepted ticket [5c28604989].
comment:
  Accepted ticket [5c28604989]: <i>REFs in WSDL to Elements handled incorrectly</i> plus 3 other changes


type: t
user: gwlester
brief: Ticket [00485c1c92]: 2 changes
comment:
  Ticket [00485c1c92] <i>request xml invalid because of double header elements</i> status still Accepted with 2 other changes


type: ci
user: gerald
comment:
  Correction to handle expected, but missing reply headers (i.e. the SOAP Header element is missing enterly).

  Also made a correction to handle a complex type that extends another type but does not add any elements or attributes.


type: ci
user: gerald
comment:
  Correct handling of soap encoded arrays from complex type definition that is only a restriction making something an array.


type: t
user: anonymous
brief: New ticket [fa2d29cfaa].
comment:
  New ticket [fa2d29cfaa] <i>Pre-Parsed WSDL error: key &quot;contentType&quot; not known in dictionary</i>.


type: t
user: gwlester
brief: Accepted ticket [fa2d29cfaa].
comment:
  Accepted ticket [fa2d29cfaa]: <i>Pre-Parsed WSDL error: key "contentType" not known in dictionary</i> plus 4 other changes


type: t
user: gwlester
brief: Accepted ticket [92cd058f9a].
comment:
  Accepted ticket [92cd058f9a]: <i>Empty abstract types not handled correctly</i> plus 3 other changes


type: t
user: gwlester
brief: New ticket [f7be84f410].
comment:
  New ticket [f7be84f410] <i>Complex type definition is ignored if an element definition with the same name exists.</i>.


type: t
user: gwlester
brief: Accepted ticket [f7be84f410].
comment:
  Accepted ticket [f7be84f410]: <i>Complex type definition is ignored if an element definition with the same name exists.</i> plus 3 other changes


type: t
user: gwlester
brief: Fixed ticket [fa2d29cfaa].
comment:
  Fixed ticket [fa2d29cfaa]: <i>Pre-Parsed WSDL error: key "contentType" not known in dictionary</i> plus 2 other changes


type: ci
user: gerald
comment:
  Fixed:
  	[92cd058f9a] - Empty abstract types not handled correctly
  	[f7be84f410] - Complex type definition is ignored if an element definition with the same name exists.


type: t
user: gwlester
brief: Fixed ticket [f7be84f410].
comment:
  Fixed ticket [f7be84f410]: <i>Complex type definition is ignored if an element definition with the same name exists.</i> plus 1 other change


type: t
user: gwlester
brief: Closed ticket [f7be84f410].
comment:
  Closed ticket [f7be84f410]: <i>Complex type definition is ignored if an element definition with the same name exists.</i>


type: t
user: gwlester
brief: Ticket [22382a9828]: 2 changes
comment:
  Ticket [22382a9828] <i>Service specific simple types do not work</i> status still Verified with 2 other changes


type: t
user: oehhar
brief: New ticket [60a6c899df].
comment:
  New ticket [60a6c899df] <i>Embedding page typo: ::WS::Embeded::Start insead ::WS::Embeded::Stop</i>.


type: t
user: oehhar
brief: New ticket [003cb40b34].
comment:
  New ticket [003cb40b34] <i>Order of ::WS::Server::Service and ::WS::Embeded::Listen not respected in &quot;EchoEmbeddedService.tcl&quot;</i>.


type: t
user: oehhar
brief: New ticket [9f433089d0].
comment:
  New ticket [9f433089d0] <i>::WS::Server::ServiceProc argument &quot;NameInfo&quot; errorneously documented as 3 element list</i>.


type: t
user: oehhar
brief: New ticket [9f433089d0].
comment:
  New ticket [9f433089d0]: <i>::WS::Server::ServiceProc argument &quot;NameInfo&quot; errorneously documented as 3 element list</i> plus 3 other changes


type: t
user: oehhar
brief: New ticket [e189e76c82].
comment:
  New ticket [e189e76c82]: <i>tcllib base64 and html missing on required packages list</i> plus 4 other changes


type: t
user: oehhar
brief: Ticket [e189e76c82]: 1 change
comment:
  Ticket [e189e76c82] <i>tcllib base64 and html missing on required packages list</i> status still New with 1 other change


type: t
user: oehhar
brief: New ticket [9143f6d463].
comment:
  New ticket [9143f6d463]: <i>Missing [...] in Examples/Math/CallMathWebService.tcl</i> plus 6 other changes


type: t
user: oehhar
brief: Ticket [9143f6d463]: 1 change
comment:
  Ticket [9143f6d463] <i>Missing \[...\] in Examples/Math/CallMathWebService.tcl</i> status still New with 1 other change


type: t
user: oehhar
brief: Ticket [9143f6d463]: 1 change
comment:
  Ticket [9143f6d463] <i>Missing square brackets in Examples/Math/CallMathWebService.tcl</i> status still New with 1 other change


type: t
user: gwlester
brief: Accepted ticket [60a6c899df].
comment:
  Accepted ticket [60a6c899df]: <i>Embedding page typo: ::WS::Embeded::Start insead ::WS::Embeded::Stop</i> plus 4 other changes


type: t
user: gwlester
brief: Accepted ticket [98ce08579d].
comment:
  Accepted ticket [98ce08579d]: <i>Return socket hadle by ::WS::Embeded::Listen</i> plus 4 other changes


type: t
user: gwlester
brief: Accepted ticket [003cb40b34].
comment:
  Accepted ticket [003cb40b34]: <i>Order of ::WS::Server::Service and ::WS::Embeded::Listen not respected in &quot;EchoEmbeddedService.tcl&quot;</i> plus 4 other changes


type: t
user: gwlester
brief: Accepted ticket [9f433089d0].
comment:
  Accepted ticket [9f433089d0]: <i>::WS::Server::ServiceProc argument &quot;NameInfo&quot; errorneously documented as 3 element list</i> plus 2 other changes


type: t
user: gwlester
brief: Accepted ticket [e189e76c82].
comment:
  Accepted ticket [e189e76c82]: <i>tcllib base64 and html missing on required packages list</i> plus 2 other changes


type: t
user: gwlester
brief: Accepted ticket [9143f6d463].
comment:
  Accepted ticket [9143f6d463]: <i>Missing square brackets in Examples/Math/CallMathWebService.tcl</i> plus 2 other changes


type: t
user: gwlester
brief: Accepted ticket [66fb3aeef5].
comment:
  Accepted ticket [66fb3aeef5]: <i>Request header parse error in embedded server</i> plus 3 other changes


type: t
user: gwlester
brief: Ticket [022672166b]: 1 change
comment:
  Ticket [022672166b] <i>Generate a "stub" Sever from a WSDL</i> status still Accepted with 1 other change


type: t
user: gerald
brief: Fixed ticket [9143f6d463].
comment:
  Fixed ticket [9143f6d463]: <i>Missing square brackets in Examples/Math/CallMathWebService.tcl</i> plus 1 other change


type: t
user: gerald
brief: Fixed ticket [e189e76c82].
comment:
  Fixed ticket [e189e76c82]: <i>tcllib base64 and html missing on required packages list</i> plus 1 other change


type: t
user: gerald
brief: Fixed ticket [9f433089d0].
comment:
  Fixed ticket [9f433089d0]: <i>::WS::Server::ServiceProc argument &quot;NameInfo&quot; errorneously documented as 3 element list</i> plus 1 other change


type: t
user: gerald
brief: Fixed ticket [60a6c899df].
comment:
  Fixed ticket [60a6c899df]: <i>Embedding page typo: ::WS::Embeded::Start insead ::WS::Embeded::Stop</i> plus 1 other change


type: t
user: gerald
brief: Ticket [003cb40b34]: 1 change
comment:
  Ticket [003cb40b34] <i>Order of ::WS::Server::Service and ::WS::Embeded::Listen not respected in &quot;EchoEmbeddedService.tcl&quot;</i> status still Accepted with 1 other change


type: t
user: gerald
brief: Fixed ticket [003cb40b34].
comment:
  Fixed ticket [003cb40b34]: <i>Order of ::WS::Server::Service and ::WS::Embeded::Listen not respected in &quot;EchoEmbeddedService.tcl&quot;</i> plus 1 other change


type: t
user: gwlester
brief: Ticket [22382a9828]: 1 change
comment:
  Ticket [22382a9828] <i>Service specific simple types do not work</i> status still Fixed with 1 other change


type: ci
user: andreask
comment:
  Added require Tcl 8.4 most places, and set up more places to require dict. Could possibly use WS::Utils as central provider for the latter.


type: t
user: gwlester
brief: Verified ticket [e21082e7a4].
comment:
  Verified ticket [e21082e7a4]: <i>Bad request generated when action present in operation</i> plus 3 other changes


type: ci
user: oehhar
comment:
  Updated all docs pages from wiki.
  Not present wiki pages: clients, Downloads, Pretty Printing a Dictionary Instance


type: t
user: gwlester
brief: Verified ticket [c4a71818df].
comment:
  Verified ticket [c4a71818df]: <i>Namespaces local to elements in reply cause errors</i> plus 4 other changes


type: t
user: gwlester
brief: Closed ticket [c4a71818df].
comment:
  Closed ticket [c4a71818df]: <i>Namespaces local to elements in reply cause errors</i> plus 1 other change


type: ci
user: gerald
comment:
  Correct typo in debug statement and added code to handle a reply message that is just a simple type (e.g. a string) with no components.


type: ci
user: gerald
comment:
  Corrections on generating XML for simple types to avoid double leveling in some cases and adding name space qualifiers when it should not have.


type: ci
user: gerald
comment:
  Added option to suppress default namespace.
  Added option to generate error on service redefine and code to to unset on a redefine.


type: t
user: gwlester
brief: Fixed ticket [9fc2aafc70].
comment:
  Fixed ticket [9fc2aafc70]: <i>Target (aka default) namespace missing on client request</i> plus 4 other changes


type: t
user: gwlester
brief: Closed ticket [d89ec16caa].
comment:
  Closed ticket [d89ec16caa]: <i>Interaction of nsOnChangeOnly and skipLevelWhenActionPresent options</i>


type: t
user: gwlester
brief: Accepted ticket [d89ec16caa].
comment:
  Accepted ticket [d89ec16caa]: <i>Interaction of nsOnChangeOnly and skipLevelWhenActionPresent options</i> plus 4 other changes


type: t
user: gwlester
brief: Accepted ticket [a949d84bb5].
comment:
  Accepted ticket [a949d84bb5]: <i>Schema elements of xs:any not handled correctly</i> plus 4 other changes


type: t
user: gwlester
brief: New ticket [d89ec16caa].
comment:
  New ticket [d89ec16caa] <i>Interaction of nsOnChangeOnly and skipLevelWhenActionPresent options</i>.


type: t
user: gwlester
brief: New ticket [f6fdc489e7].
comment:
  New ticket [f6fdc489e7]: <i>automatic coding/decoding of base64 by the framework</i> plus 3 other changes


type: ci
user: gerald
comment:
  Generalization of attributes defined in "http://www.w3.org/2001/XMLSchema-instance", aka "type" and "nil" in particular.
  Also added support for ::value instead of {} for value of tag.


type: t
user: gwlester
brief: Fixed ticket [d89ec16caa].
comment:
  Fixed ticket [d89ec16caa]: <i>Interaction of nsOnChangeOnly and skipLevelWhenActionPresent options</i> plus 1 other change


type: t
user: gwlester
brief: Closed ticket [60a6c899df].
comment:
  Closed ticket [60a6c899df]: <i>Embedding page typo: ::WS::Embeded::Start insead ::WS::Embeded::Stop</i>


type: t
user: gwlester
brief: Closed ticket [9f433089d0].
comment:
  Closed ticket [9f433089d0]: <i>::WS::Server::ServiceProc argument &quot;NameInfo&quot; errorneously documented as 3 element list</i>


type: t
user: gwlester
brief: Closed ticket [003cb40b34].
comment:
  Closed ticket [003cb40b34]: <i>Order of ::WS::Server::Service and ::WS::Embeded::Listen not respected in &quot;EchoEmbeddedService.tcl&quot;</i>


type: t
user: anonymous
brief: Closed ticket [bb105148c3].
comment:
  Closed ticket [bb105148c3]: <i>values are wrapped in doubled tags in header and body</i> plus 3 other changes


type: t
user: gwlester
brief: Verified ticket [2c3ef042cf].
comment:
  Verified ticket [2c3ef042cf]: <i>Need to handle SOAP errors reported with HTTP-500 code</i> plus 3 other changes


type: t
user: anonymous
brief: New ticket [805c828c82].
comment:
  New ticket [805c828c82] <i>DoCall: ActiveTcl Version 8.6 + WS Version 2.8.6 fails to get Complete Response</i>.


type: t
user: gwlester
brief: Fixed ticket [2c3ef042cf].
comment:
  Fixed ticket [2c3ef042cf]: <i>Need to handle SOAP errors reported with HTTP-500 code</i> plus 1 other change


type: ci
user: gerald
comment:
  Change to address open vulnerability via "poodle" attack (see http://nvd.nist.gov/view/vuln/detail?vulnId=CVE-2014-3566).


# ticket

tkt_uuid: 00485c1c92bb5767d332cf4522eee9ea7b1cc8e1
type: Code_Defect
status: Closed
subsystem: Client_Side
priority: Immediate
severity: Critical
foundin: 2.2.8
private_contact: ba2f9feccc78ad8058bfc0107134860dc4fad376
resolution: Fixed
title: request xml invalid because of double header elements
assigned_to: gerald
comment:
  http://developer.ebay.com/webservices/latest/ebaySvc.wsdl

  contains operation GeteBayOfficalTime. The xml request contains element <tns1:RequesterCredentials> twice.

  tcl code:

  <verbatim>
  # get wsdl from http://developer.ebay.com/webservices/latest/ebaySvc.wsdl
  # extract GeteBayOfficialTime using ebay wsdl pruner tool http://developer.ebay.com/DevZone/codebase/wsdlpruner/pruner.zip

  package require WS::Client 2.2.8

  set dir "P:/edv/programmierung/tcl.tk/div"
  set fdWsdl [ open [ file join $dir GeteBayOfficialTime.wsdl ] r ]
  set wsdl [ read $fdWsdl ]
  close $fdWsdl

  set preparsed [ ::WS::Client::ParseWsdl $wsdl ]
  set credsDict [ ::WS::Utils::GenerateTemplateDict Client eBayAPIInterfaceService tns1:RequesterCredentials]

  ::WS::Client::Config eBayAPIInterfaceService location https://api.sandbox.ebay.com/ws/api.dll

  dict set httpParm X-EBAY-API-COMPATIBILITY-LEVEL 777
  dict set httpParm X-EBAY-API-DEV-NAME fake
  dict set httpParm X-EBAY-API-APP-NAME fake
  dict set httpParm X-EBAY-API-CERT-NAME fake
  dict set httpParm X-EBAY-API-SITEID 0
  dict set httpParm X-EBAY-API-CALL-NAME GetEbayOfficialTime

  dict unset credsDict RequesterCredentials HardExpirationWarning
  dict unset credsDict RequesterCredentials NotificationSignature

  dict set credsDict RequesterCredentials eBayAuthToken {fake}
  dict set credsDict RequesterCredentials Credentials AppId {fake}
  dict set credsDict RequesterCredentials Credentials DevId {fake}
  dict set credsDict RequesterCredentials Credentials AuthCert {fake}
  dict unset credsDict RequesterCredentials Credentials Username
  dict unset credsDict RequesterCredentials Credentials Password

  dict set body GeteBayOfficialTimeRequest ""; 

  ::log::lvSuppress info 0

  ::WS::Client::DoCall eBayAPIInterfaceService GeteBayOfficialTime "$credsDict $body" $httpParm
  </verbatim>


  Part of the response:

  <verbatim>
  info      <SOAP-ENV:Envelope xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/" xmlns:SOAP-ENC="http://schemas.xmlsoap.org/soap/encoding/" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xs="http://www.w3.org/2001/XMLSchema" xmlns:tns1="urn:ebay:apis:eBLBaseComponents" xmlns:w="http://schemas.xmlsoap.org/wsdl/" xmlns:d="http://schemas.xmlsoap.org/wsdl/soap/"><SOAP-ENV:Header><tns1:RequesterCredentials><tns1:RequesterCredentials><tns1:eBayAuthToken>fake</tns1:eBayAuthToken><tns1:Credentials><tns1:AppId>fake</tns1:AppId><tns1:DevId>fake</tns1:DevId><tns1:AuthCert>fake</tns1:AuthCert></tns1:Credentials></tns1:RequesterCredentials></tns1:RequesterCredentials></SOAP-ENV:Header>
  </verbatim>
  /tns1:RequesterCredentials

  <hr /><i>anonymous added on 2012-07-28 08:46:51 UTC:</i><br />
  the last line is from the log of course, not from the response

  <hr /><i>gwlester added on 2012-08-15 03:32:48 UTC:</i><br />
  Added new client side option: skipHeaderLevel


tkt_uuid: 018fac7c73885702461febf6fd23dfea66614e1b
type: Feature_Request
status: Deferred
subsystem: Client_Side
priority: Immediate
severity: Important
foundin: 2.1
private_contact: 582b61b01c28772572a4036587ff671d73c1245e
resolution: Open
title: Add support for RPC/Literal
assigned_to: unassigned
comment:
  <p>Please add support for RPC/Literal since this is a proper subset of Document/Literal and can "easily" be converted to Document/Literal as follows:</p>

  <p>RPC/literal turns out to be a subset of document/literal. This means for any given RPC/literal WSDL, you can create a completely equivalent document/literal WSDL that would describe the same wire messages. Here are the steps for doing this (mostly schema element declarations).</p>

  <p>For each RPC/literal operation:
  <ol>
  <li>For each part in the input and output messages of that operation, declare a type with the contents described in step 2.</li>
  <li>Declare an element with the name of the part, the type referenced by type=". The element form must be unqualified.</li>
  <li>Declare a global element with the operation name and the namespace from soap:body/@namespace in the binding. Make the type of this element the one defined in step 1 for the input message.</li>
  <li>Declare a global element with the operation name and the word Response appended to it and the namespace from soap:body/@namespace in the binding. Make the type of this element the one defined in step 1 for the output message.</li>
  <li>Change the input message to contain one part and reference the element you declared in step 3.</li>
  <li>Change the output message to contain one part and reference the element you declared in step 4.</li>
  <li>Change the style to document in the binding. </li>
  </ol>
  </p>


tkt_uuid: 022672166b095a5fcc7a7df3259b4c4f614294e6
type: Feature_Request
status: Accepted
subsystem: Utilities
priority: Immediate
severity: Minor
foundin: 1.4.1
private_contact: 582b61b01c28772572a4036587ff671d73c1245e
resolution: Open
title: Generate a "stub" Sever from a WSDL
assigned_to: unassigned
comment:
  The ability to generate a "stub" of a server side implementation of a WSDL will all for ease of implementation of test harness.


tkt_uuid: 0ab8229f4e5d0ece0bf0e17e12cd7088e5733e9a
type: Code_Defect
status: Closed
subsystem: Client_Side
priority: Immediate
severity: Severe
foundin: 1.3.0
resolution: Fixed
title: Loading a pre parsed WSDL doesn't work for simple methods
assigned_to: gerald
comment:
  What steps will reproduce the problem?
  1. Load a pre parsed WSDL
  2. Generate the stubs for its methods
  3. Simple methods requiring no arguments and returning nothing will throw an error: 

  key "xns" not known in dictionary
      while executing
  "dict get [::WS::Utils::GetServiceTypeDef Client $serviceName $msgType] xns"
      (procedure "buildDocLiteralCallquery" line 46)
      invoked from within
  "buildDocLiteralCallquery $serviceName $operationName $url $argList"
      (procedure "buildCallquery" line 10)
      invoked from within
  "buildCallquery $serviceName $operationName $url $argList"
      (procedure "::WS::Client::DoCall" line 13)

  The parsed output of GetAndParseWsdl contains neither types nor simple types dict entries for such simple methods. The results dict is not being populated for them.
   
  The WSDL entry looked like this for the method which failed
  - <xsd:element name="StartRotation">
    <xsd:complexType /> 
    </xsd:element>

  What version of the product are you using? 1.3.0 
  On what operating system? Windows


tkt_uuid: 0c30a2dcf1df5f9bce287b780acdf5e509401e4e
type: Code_Defect
status: Closed
subsystem: Client_Side
priority: Immediate
severity: Critical
foundin: 2.0.0
private_contact: f0e2312a244c99b69b66ff52a743015292c5af63
resolution: Fixed
title: Bad request generated when action present in operation
assigned_to: gerald
comment:
  Bad request generated when action present in operation. It appears to generate an extra level specifying the operation. When the action is present that level is not needed.

  <hr /><i>gwlester added on 2011-04-09 15:44:43 UTC:</i><br />
  Fixed in 2.0.1

  Added ::WS::Client::Config option skipLevelWhenActionPresent to control the behavior. This is a boolean option. When "true" the outer most level, which normally specifies the operation, is skipped.

  I chose to do it this way since I was not positive that some servers may require it. The default value is "false" to give backwardly compatible behavior.


tkt_uuid: 11674e69b0a6603f9050574eff1e06eb2a33a0a0
type: Code_Defect
status: Closed
subsystem: Utilities
priority: Immediate
severity: Critical
foundin: trunk 2011-09-08
private_contact: 5ef84f1ed636fd4b80333e656cf7dfe1164a9802
resolution: Fixed
title: syntax errors in trunk
assigned_to: gerald
comment:
  1. extra pair of braces in Utilities.tcl:2350
  2. missing close bracket in Utilities.tcl:2371

  Index: Utilities.tcl
  ===================================================================
  --- Utilities.tcl	(revision 2522)
  +++ Utilities.tcl	(working copy)
  @@ -2347,7 +2347,7 @@
   
       set lastUnknownRefCount [array size unkownRef]
       foreach {unkRef usedByTypeList} [array get unkownRef] {
  -        foreach usedByType $usedByTypeList {} {
  +        foreach usedByType $usedByTypeList {
               switch -exact -- $options(StrictMode) {
                   debug -
                   warning {
  @@ -2368,7 +2368,7 @@
                   return \
                       -code error \
                       -errorcode [list WS $mode UNKREFS [list $lastUnknownRefCount] \
  -                    "Found $lastUnknownRefCount forward type references"
  +                    "Found $lastUnknownRefCount forward type references"]
               }
           }
       }

  <hr /><i>anonymous added on 2011-10-20 12:33:08 UTC:</i><br />
  more errors:
  <verbatim>
  Index: Utilities.tcl
  ===================================================================
  --- Utilities.tcl	(revision 2524)
  +++ Utilities.tcl	(working copy)
  @@ -3190,7 +3190,7 @@
                   return \
                       -code error \
                       -errorcode [list WS $mode UNKREF [list $typeName $partType] \
  -                    "Unknown forward type reference {$partType} in {$typeName}"
  +                    "Unknown forward type reference {$partType} in {$typeName}"]
               }
           } else {
               ::log::log debug "\t\t has no ref has {[$element attributes]}"
  </verbatim>

  <hr /><i>gwlester added on 2011-12-26 15:25:58 UTC:</i><br />
  That is not where the close braces goes.

  Investigating....


tkt_uuid: 146662c8bd8b542b6813e0af9cb77bf5da96ba78
type: Feature_Request
status: Blocked
subsystem: Client_Side
priority: Immediate
severity: Minor
foundin: 1.3.0
resolution: Open
title: Wsdl and SOAP version check (feature request)
comment:
  Currently, tclws does not support all versions of the WDSL and SOAP standards. Parsing an unsupported wsdl or soap version results in an error message which is nog very descriptive.


  What steps will reproduce the problem?
  1. parse http://nationaalgeoregister.nl:80/geonetwork/xml/inspire/wsdl/DiscoveryService/2.0/DiscoveryService.wsdl 
  2. error msg: Malformed WSDL -- No SOAP address node found

  Feature request:
  Add a proc WS::Client::GetWsdlInfo 
  This proc could be modeled after Tcl's [info]. 
  [WS::Client::GetWsdlInfo version] should report the version of Wsdl and soap, regardless if the specific version is supported bij tclws or not. This proc could then als be used to give a more descriptive error message if an unsupported Wsdl service is encountered. 

  What version of the product are you using? On what operating system?
  1.3.0

  <hr /><i>gerald added on 2011-02-26 06:53:23 UTC:</i><br />
  Can you provide an example implementation?


tkt_uuid: 1490906b3e1ed8edbe1a3acbbd34b37f7214bdc2
type: Code_Defect
status: Closed
subsystem: Client_Side
priority: Immediate
severity: Severe
foundin: 1.4.0
private_contact: 582b61b01c28772572a4036587ff671d73c1245e
resolution: Fixed
title: Repeated import of an XSD raises an error
comment:
  Attempt to parse a WSDL which imports an XSD several times raises an exception.

  Suggested patch:
  <pre>
  --- Utilities.tcl
  +++ Utilities.tcl
  @@ -2146,19 +2146,21 @@
       switch [dict get [::uri::split $url] scheme] {
           file {
               upvar #0 [::uri::geturl $url] token
               set xml $token(data)
               unset token
  +            ProcessImportXml $mode $baseUrl $xml $serviceName $serviceInfoVar $tnsCountVar
           }
           http {
               set ncode -1
               catch {
                   set token [::http::geturl $url]
                   ::http::wait $token
                   set ncode [::http::ncode $token]
                   set xml [::http::data $token]
                   ::http::cleanup $token
  +                ProcessImportXml $mode $baseUrl $xml $serviceName $serviceInfoVar $tnsCountVar
               }
               if {$ncode != 200} {
                   return \
                       -code error \
                       -errorcode [list WS CLIENT HTTPFAIL $url] \
  @@ -2170,11 +2172,10 @@
                   -code error \
                   -errorcode [list WS CLIENT UNKURLTYP $url] \
                   "Unknown URL type '$url'"
           }
       }
  -    ProcessImportXml $mode $baseUrl $xml $serviceName $serviceInfoVar $tnsCountVar
   }
   
   
   ###########################################################################
   #
  </pre>

  <hr /><i>gerald added on 2011-03-16 02:30:41 UTC:</i><br />
  Fixed by [2cdc1ceb29]


tkt_uuid: 1a9a9f98e9d6d00d3fe504526b4e54d364e0dc47
type: Code_Defect
status: Closed
subsystem: Utilities
priority: Immediate
severity: Important
foundin: 2.2.5
private_contact: 5431e0393c2832a930f98fa82da52010fb0ce32d
resolution: Fixed
title: patch to get nsOnChangeOnly feature to work
assigned_to: gerald
comment:
  When using nsOnChangeOnly feature it seems the variable currentNs isn't properly initialized, leading to have namespace prefix into 2 consecutive tags instead of the first one only (considering the namespace stays the same). Here's a proposed patch to fix this problem:
  <verbatim>

  --- Utilities.tcl.orig	2012-05-02 16:24:42.000000000 +0200
  +++ Utilities.tcl	2012-05-02 16:26:26.000000000 +0200
  @@ -1622,6 +1622,7 @@
           }
       }
       ::log::log debug "\titemList is {$itemList} in $xns"
  +    set currentNs $xns
       set fieldList {}
       foreach {itemName itemDef} $itemList {
           set baseName [lindex [split $itemName {:}] end]
  </verbatim>

  <hr /><i>gwlester added on 2012-05-05 20:08:07 UTC:</i><br />
  Fixed in 2.2.6

  <hr /><i>gwlester added on 2012-05-14 16:41:38 UTC:</i><br />
  Fixed in [http://core.tcl.tk/tclws/event/6f81f69f91aa7975bc50faba0bf54cf890c2ea26|Release 2.2.6].


tkt_uuid: 1d7b578fee2cf685019e7c38bbb49cef8fa340dd
type: Code_Defect
status: Closed
subsystem: Client_Side
priority: Immediate
severity: Important
foundin: 1.4
private_contact: 1ff9f9b292034d39307dd75aab1934e80eb6881d
resolution: Fixed
title: Multiple Fault elements cause code failure
assigned_to: gerald
comment:
  If a fault is returned as a multiref, the code fails as it assumes one root node which is not correct in this case


tkt_uuid: 1f1c118564c24b1a62d8cdfa33813cbbf8117ea4
type: Code_Defect
status: Closed
subsystem: Client_Side
priority: Immediate
severity: Important
foundin: 1.4
private_contact: 1ff9f9b292034d39307dd75aab1934e80eb6881d
resolution: Fixed
title: RPC wsdl not parsed correctly
assigned_to: gerald
comment:
  Parsing of the wsdl for RPC encoded wsdl files doesn't correctly identify the namespace and complex references in all cases.


tkt_uuid: 2031f0cb17ac631f4a2aff241687272ee655c029
type: Feature_Request
status: Accepted
subsystem: Client_Side
priority: Whenever
severity: Important
foundin: 1.3.0
resolution: Open
title: Add support for SOAP 1.2 with WSDL 1.1
assigned_to: unassigned
comment:
  Currently tclws doesn't support SOAP 1.2 with WSDL 1.1.
  Feature request: support these versions.

  Rationale: these versions are use by INSPIRE, a program by the European Union. This means that wide usage is expected.

  see http://inspire.jrc.ec.europa.eu/

  <hr /><i>gerald added on 2011-02-26 06:55:37 UTC:</i><br />
  This will be implemented as part of the implementation of issue 1f408e6f86


tkt_uuid: 2042b7a4eddd0ff96e568597619881875403ad24
type: Feature_Request
status: Closed
subsystem: Client_Side
priority: Immediate
severity: Important
foundin: 2.1.0 (fossil HEAD)
private_contact: 3cb4dabca0e1e7b9d560b2ca060abb67f2a97f23
resolution: Fixed
title: Enhance error handling of http status and codes
assigned_to: gerald
comment:
  <verbatim>set wsdl http://omiotis.hua.gr/srservice/SRWS?wsdl; 
  set wsdl_info [::WS::Client::GetAndParseWsdl $wsdl]; 
  set name [[dict get $wsdl_info name]; 
  ::WS::Client::CreateStubs $name;
  ::${name}::getAllSensesForTerm cat:NOUN:0;</verbatim>

  The server returns a 415 http error, but the error message returned is empty.
  Can we added a check in DoCall to set results to the result of http::code, if http::status is ok? (and http::error returns the empty string)?

  <hr /><i>gwlester added on 2012-01-22 23:14:34 UTC:</i><br />
  Fixed in Release 2.2.1


tkt_uuid: 210b52a30706d524c69a2e2682d2bf6bb73b1eaf
type: Feature_Request
status: Closed
subsystem: Server_Side
priority: Immediate
severity: Critical
foundin: 2.0.4
private_contact: e6ab502f0f3c19b9fefdade77a8af86c5e16f138
resolution: Fixed
title: add use of include namespace
assigned_to: gerald
comment:
  TclWS actually only handles import directives. In some cases (see http://eutils.ncbi.nlm.nih.gov/soap/v2.0/efetch_seq.wsdl), directives are included to the present ones.
  This feature will extend the scope of web services hanled by TclWS


tkt_uuid: 30c62d6506b054096ec22c66dc93364f2c87face
type: Code_Defect
status: Closed
subsystem: Utilities
priority: Immediate
severity: Critical
foundin: 1.4.1
private_contact: 582b61b01c28772572a4036587ff671d73c1245e
resolution: Fixed
title: WSDL not parsed correctly when import extends type defined in WSDL
assigned_to: gerald
comment:
  When the WSDL has an import that extends a type defined in the WSDL as opposed to just defining types that will be used in the WSDL, then the WSDL is not correctly parsed.


tkt_uuid: 323b93d3bd3cef5c4f79db2f2ed3b1134331b7ed
type: Code_Defect
status: Closed
subsystem: Utilities
priority: Immediate
severity: Critical
foundin: 2.2.0
private_contact: 5ef84f1ed636fd4b80333e656cf7dfe1164a9802
resolution: Fixed
title: extra tns in parseComplexType
assigned_to: gerald
comment:
  ::WS::Utils::parseComplexType adds one extra $tns to $typeName, but which one?

  either quite at the beginning
  <verbatim>
      set typeName $tns:[$node getAttribute name] ;# either HERE ...
  </verbatim>

  or close to the end
  <verbatim>
      if {[llength $partList]} {
          dict set results types $tns:$typeName $partList ;# ... or HERE
          ::log:::log debug  "Defining $typeName"
          ::WS::Utils::ServiceTypeDef $mode $serviceName $typeName $partList $tns
      } elseif {!$nodeFound} {
          ...
      }
  </verbatim>


tkt_uuid: 359aeceb305a443765dad115103ff950880a4636
type: Feature_Request
status: Closed
subsystem: Utilities
priority: Immediate
severity: Minor
foundin: trunk, Release_1.4.1
private_contact: b12f65986726fbc690bf4cc89542182df814ff94
resolution: Fixed
title: wsMathExample client not functional
assigned_to: gerald
comment:
  Maybe it would be a good idea to provide a math client example that shows some results from the server. See attached patch for an implementation. 
  As well, all math server example seem to add instead of divide. Patch for Examples/Math/MathWebService.tcl also included.

  <verbatim>
  --- CallMathWebService.tcl
  +++ CallMathWebService.tcl
  @@ -41,6 +41,42 @@
   ::WS::Client::GetAndParseWsdl http://localhost:8015/service/wsMathExample/wsdl
   
   ##
   ## Add two numbers
   ##
  -::WS::Client::DoCall
  +puts stdout "Calling Add via DoCalls!"
  +set inputs [list N1 12 N2 34]
  +set results [::WS::Client::DoCall wsMathExample Add $inputs]
  +puts stdout "\t Received: {$results}"
  +
  +##
  +## Divide two numbers
  +##
  +puts stdout "Calling Divide via DoCalls!"
  +set inputs [list Dividend 34 Divisor 12]
  +set results [::WS::Client::DoCall wsMathExample Divide $inputs]
  +puts stdout "\t Received: {$results}"
  +
  +##
  +## Multiply two numbers
  +##
  +puts stdout "Calling Multiply via DoCalls!"
  +set inputs [list N1 12.0 N2 34]
  +set results [::WS::Client::DoCall wsMathExample Multiply $inputs]
  +puts stdout "\t Received: {$results}"
  +
  +##
  +## Subtract two numbers
  +##
  +puts stdout "Calling Subtract via DoCalls!"
  +set inputs [list Subtrahend 12 Minuend 34]
  +set results [::WS::Client::DoCall wsMathExample Subtract $inputs]
  +puts stdout "\t Received: {$results}"
  +
  +##
  +## Sqrt a number
  +##
  +puts stdout "Calling Sqrt via DoCalls!"
  +set inputs [list X 12]
  +set results [::WS::Client::DoCall wsMathExample Sqrt $inputs]
  +puts stdout "\t Received: {$results}"
  +



  --- MathWebService.tcl
  +++ MathWebService.tcl
  @@ -97,11 +97,11 @@
               -code error \
               -errorcode [list MATH DIVBYZERO] \
               "Can not divide by zero"
       }
   
  -    return [list DivideResult [expr {$Dividend + $Divisor}]]
  +    return [list DivideResult [expr {$Dividend / $Divisor}]]
   }
   
   ::WS::Server::ServiceProc \
       wsMathExample \
       {Sqrt {type string comment {Square root of a non-negative number}}} \

  </verbatim>


tkt_uuid: 35e25c0a53137ddc31e1b323e349205afd3a2708
type: Code_Defect
status: Closed
subsystem: Client_Side
priority: Immediate
severity: Cosmetic
foundin: trunk 2011-09-08
private_contact: 5ef84f1ed636fd4b80333e656cf7dfe1164a9802
resolution: Fixed
title: typos
assigned_to: gerald
comment:
  <verbatim>
  Index: ClientSide.tcl
  ===================================================================
  --- ClientSide.tcl	(revision 2522)
  +++ ClientSide.tcl	(working copy)
  @@ -924,7 +924,7 @@
   
       array set defaults $args
   
  -    ::log::log debug "Parseing WSDL {$wsdlXML}"
  +    ::log::log debug "Parsing WSDL {$wsdlXML}"
   
       dom parse $wsdlXML tmpdoc
       $tmpdoc xslt $::WS::Utils::xsltSchemaDom wsdlDoc
  Index: Examples/Math/CallMathWebService.tcl
  ===================================================================
  --- Examples/Math/CallMathWebService.tcl	(revision 2476)
  +++ Examples/Math/CallMathWebService.tcl	(working copy)
  @@ -121,6 +121,6 @@
   ##
   ## Call service
   ##
  -puts stdout "Calling EvaluatePolynomial wiht {$input}"
  +puts stdout "Calling EvaluatePolynomial with {$input}"
   set resultsDict ::WS::Client::DoCall wsMathExample EvaluatePolynomial $input
   puts stdout "Results are {$resultsDict}"
  </verbatim>

  <hr /><i>anonymous added on 2011-10-20 11:58:37 UTC:</i><br />
  <verbatim>
  Index: Utilities.tcl
  ===================================================================
  --- Utilities.tcl	(revision 2523)
  +++ Utilities.tcl	(working copy)
  @@ -2884,7 +2884,7 @@
   #               internal representation
   #
   # Arguments :
  -#    dcitVar            - The name of the results dictionary
  +#    dictVar            - The name of the results dictionary
   #    servcieName        - The service name this type belongs to
   #    node               - The root node of the type definition
   #    tns                - Namespace for this type
  </verbatim>

  <hr /><i>anonymous added on 2011-10-20 12:14:27 UTC:</i><br />
  <verbatim>
  Index: ClientSide.tcl
  ===================================================================
  --- ClientSide.tcl	(revision 2524)
  +++ ClientSide.tcl	(working copy)
  @@ -3265,7 +3265,7 @@
           set xml [$inTransform $serviceName $operationName REQUEST $xml $url $argList]
       }
   
  -    ::log::log debug "Leaving ::::WS::Client::buildRestCallquery with {$xml}"
  +    ::log::log debug "Leaving ::WS::Client::buildRestCallquery with {$xml}"
   
       return $xml
   
  </verbatim>

  <hr /><i>anonymous added on 2011-10-20 18:52:16 UTC:</i><br />
  and more esoteric stuff
  <verbatim>
  Index: Utilities.tcl
  ===================================================================
  --- Utilities.tcl	(revision 2526)
  +++ Utilities.tcl	(working copy)
  @@ -2219,8 +2219,8 @@
   #               our internal representation
   #
   # Arguments :
  -#    mode        - The mode, Client or Server
  -#    SchemaNode       - The top node of the Schema
  +#    mode           - The mode, Client or Server
  +#    schemaNode     - The top node of the Schema
   #    serviceNode    - The DOM node for the service.
   #    serviceInfoVar - The name of the dictionary containing the partially
   #                     parsed service.
  @@ -2228,7 +2228,7 @@
   #
   # Returns : Nothing
   #
  -# Side-Effects : Defines mode types for the service as specified by the Schema
  +# Side-Effects : Defines mode types for the service as specified by the schema
   #
   # Exception Conditions : None
   #
  @@ -2318,15 +2318,15 @@
   
           foreach element [$schemaNode selectNodes -namespaces $nsList xs:import] {
               catch {processImport $mode $baseUrl $element $serviceName serviceInfo tnsCount}
  -                    }
  +        }
   
  -        ::log::log debug  "Parsing Element types for $xns as $tns"
  +        ::log::log debug "Parsing Element types for $xns as $tns"
           foreach element [$schemaNode selectNodes -namespaces $nsList child::xs:element] {
               ::log::log debug "\tprocessing $element"
               catch {parseElementalType $mode serviceInfo $serviceName $element $tns}
           }
   
  -        ::log::log debug  "Parsing Attribute types for $xns as $tns"
  +        ::log::log debug "Parsing Attribute types for $xns as $tns"
           foreach element [$schemaNode selectNodes -namespaces $nsList child::xs:attribute] {
               ::log::log debug "\tprocessing $element"
               catch {parseElementalType $mode serviceInfo $serviceName $element $tns}
  @@ -2338,7 +2338,7 @@
               catch {parseSimpleType $mode serviceInfo $serviceName $element $tns}
           }
   
  -        ::log::log debug  "Parsing Complex types for $xns as $tns"
  +        ::log::log debug "Parsing Complex types for $xns as $tns"
           foreach element [$schemaNode selectNodes -namespaces $nsList child::xs:complexType] {
               ::log::log debug "\tprocessing $element"
               catch {parseComplexType $mode serviceInfo $serviceName $element $tns}
  @@ -2494,7 +2494,7 @@
           }
       }
   
  -    ::log::log debug  "Parsing Complex types for $xns as $tns"
  +    ::log::log debug "Parsing Complex types for $xns as $tns"
       foreach element [$schemaNode selectNodes -namespaces $nsList child::xs:complexType] {
           ::log::log debug "\tprocessing $element"
           if {[catch {parseComplexType $mode serviceInfo $serviceName $element $tns} msg]} {
  @@ -3177,9 +3177,9 @@
                   ##
                   ## Convert the reference to the local tns space
                   ##
  -                set partType  [getQualifiedType $results $partType $tns]
  +                set partType [getQualifiedType $results $partType $tns]
                   set refTypeInfo [GetServiceTypeDef $mode $serviceName $partType]
                   set refTypeInfo [dict get $refTypeInfo definition]
                   set tmpList [dict keys $refTypeInfo]
                   if {[llength $tmpList] == 1} {
                       set partName [lindex [dict keys $refTypeInfo] 0]
  </verbatim>

  <hr /><i>gwlester added on 2011-12-27 16:23:02 UTC:</i><br />
  Did not "correct" spacing problems.  All other changes accepted.


tkt_uuid: 398fcd8692227b57d9fbdaeb4490057d8d38f2d4
type: Code_Defect
status: Closed
subsystem: Utilities
priority: Immediate
severity: Severe
foundin: 2.2.3
private_contact: 5431e0393c2832a930f98fa82da52010fb0ce32d
resolution: Fixed
title: ::WS::Utils::geturl_followRedirects doesn't support the -headers arg
assigned_to: gerald
comment:
  While looking at a way to do Basic authentication with ::WS::Client::GetAndParseWsdl I tried to add the HTTP Authentication field as follows:

  ::WS::Client::GetAndParseWsdl https://www.microsoft.com/test?wsdl {"Authorization" "Basic dXNlcm5hbWU6cHdkCg=="}

  The answer is:

  Unknown option -headers {Authorization "Basic dXNlcm5hbWU6cHdkCg=="}, can be: -binary, -blocksize, -channel, -command, -handler, -headers, -keepalive, -method, -myaddr, -progress, -protocol, -query, -queryblocksize, -querychannel, -queryprogress, -strict, -timeout, -type, -validate


  It seems ::WS::Client::GetAndParseWsdl calls ::WS::Utils::geturl_followRedirects adding the "-headers" option. Why do I get this error message ?


tkt_uuid: 3990dc7712993d7f44e8dc7a3d12a23d99ba8588
type: Code_Defect
status: Closed
subsystem: Utilities
priority: Immediate
severity: Severe
foundin: 2.1
private_contact: 582b61b01c28772572a4036587ff671d73c1245e
resolution: Unable_To_Reproduce
title: References across namespaces do not work correctly
assigned_to: gerald
comment:
  References across namespaces do not work correctly.  When the message is built form the dictionary arguments, the wrong namespace is applied to the items.

  <hr /><i>gwlester added on 2012-01-31 12:59:58 UTC:</i><br />
  This appears to be noes working.  Several of the bug fixes over the last couple of months appear to have fixed this issue (at least the WSDLs that produced the issue no longer have the problem).

  If anyone finds a WSDL that exhibits the problem, please reopen this ticket.


tkt_uuid: 3de47c423be46ad6d3a5d91bb1952be4254b5394
type: Code_Defect
status: Closed
subsystem: Client_Side
priority: Immediate
severity: Important
foundin: 2.1
private_contact: 2aaa286f07c20b4ef15315022e1a387590051891
resolution: Fixed
title: Invalid command name Tcl error when parsing WSDL xml
assigned_to: gerald
comment:
  Web Services 2.0 and WebServices 2.1 seem to havbe a problem parsing this WSDL.
  Here is the stack trace I get in 2.1 when calling  ::WS::Client::ParseWsdl
  WebServices 1.4 has no problem 

  <verbatim>
  54 % set parsedwsdl [::WS::Client::ParseWsdl $wsdltxt]
  invalid command name ""
  55 % set errorInfo
  invalid command name ""
      while executing
  "$msg selectNodes w:part"
      (procedure "messageToType" line 11)
      invoked from within
  "messageToType $wsdlNode $serviceName $baseName $msgName serviceInfo $style"
      (procedure "parseBinding" line 128)
      invoked from within
  "parseBinding $wsdlNode $serviceName $bindingName serviceInfo"
      (procedure "parseService" line 50)
      invoked from within
  "parseService $wsdlNode $serviceNode $serviceAlias $tnsDict"
      (procedure "buildServiceInfo" line 20)
      invoked from within
  "buildServiceInfo $wsdlNode $nsDict $serviceInfo $serviceAlias"
      (procedure "::WS::Client::ParseWsdl" line 70)
      invoked from within
  "::WS::Client::ParseWsdl $wsdltxt"
      ("uplevel" body line 1)
      invoked from within
  "uplevel #0 {set parsedwsdl [::WS::Client::ParseWsdl $wsdltxt]}"
      invoked from within
  "interp eval $::tkcon::OPT(exec) $args"
      (procedure "::tkcon::EvalSlave" line 2)
      invoked from within
  "EvalAttached $cmd"
  </verbatim>


tkt_uuid: 461772a9f02f450c0f41182f835ada0bd6a5ce0c
type: Feature_Request
status: Deferred
subsystem: Server_Side
priority: Immediate
severity: Important
foundin: 2.1.0
private_contact: 38228df7c678bdf17f25bd6075f88ea8cd65fad5
resolution: Open
title: Add support for RPC/Encoded (and maybe RPC/Literal)
assigned_to: unassigned
comment:
  Patch included for Utilities.tcl
  <verbatim>
  --- tclws.2.1.0/Utilities.tcl   2011-12-09 16:04:29.514753000 -0800
  +++ /usr/share/tclwspkg/Utilities.tcl   2012-01-17 17:05:13.000000000 -0800
  @@ -1675,12 +1675,20 @@
                   ## Simple array
                   ##
                   set dataList [dict get $dict $useName]
  +                set tmpType [string trimright $itemType ()]
                   ::log::log debug "\t\t [llength $dataList] rows {$dataList}"
  +                if {[string equal $xns $options(suppressNS)]} {
  +                    $parent appendChild [$doc createElement $itemName arrNode]
  +                    $arrNode setAttribute SOAP-ENC:arrayType [format {%s[%d]} $tmpType [llength $dataList]]
  +                } else {
  +                    $parent appendChild [$doc createElement  $xns:$itemName arrNode]
  +                    $arrNode setAttribute SOAP-ENC:arrayType [format {%s[%d]} $xns:$tmpType [llength $dataList]]
  +                }
                   foreach row $dataList {
                       if {[string equal $xns $options(suppressNS)]} {
  -                        $parent appendChild [$doc createElement $itemName retNode]
  +                        $arrNode appendChild [$doc createElement $tmpType retNode]
                       } else {
  -                        $parent appendChild [$doc createElement $xns:$itemName retNode]
  +                        $arrNode appendChild [$doc createElement $xns:$tmpType retNode]
                       }
                       if {$options(genOutAttr)} {
                           set dictList [dict keys $row]
  @@ -1733,11 +1741,18 @@
                   set dataList [dict get $dict $useName]
                   set tmpType [string trimright $itemType ()]
                   ::log::log debug "\t\t [llength $dataList] rows {$dataList}"
  +                if {[string equal $xns $options(suppressNS)]} {
  +                    $parent appendChild [$doc createElement $itemName arrNode]
  +                    $arrNode setAttribute SOAP-ENC:arrayType [format {%s[%d]} $tmpType [llength $dataList]]
  +                } else {
  +                    $parent appendChild [$doc createElement  $xns:$itemName arrNode]
  +                    $arrNode setAttribute SOAP-ENC:arrayType [format {%s[%d]} $xns:$tmpType [llength $dataList]]
  +                }
                   foreach row $dataList {
                       if {[string equal $xns $options(suppressNS)]} {
  -                        $parent appendChild [$doc createElement $itemName retNode]
  +                        $arrNode appendChild [$doc createElement $tmpType retNode]
                       } else {
  -                        $parent appendChild [$doc createElement $xns:$itemName retNode]
  +                        $arrNode appendChild [$doc createElement $xns:$tmpType retNode]
                       }
                       if {$options(genOutAttr)} {
                           set dictList [dict keys $row]
  </verbatim>

  <hr /><i>gwlester added on 2012-01-19 05:46:41 UTC:</i><br />
  This appears to be a feature request.  In particular it appears to be a to add server side support for RPC/Encoded -- but not a complete implementation.

  The following will also need to be done:
  <ol>
  <li>Make this a option so the user can specify on a per service basis what the style and encoding should be.
  <li>Make all parts of the generated XML obey the specified style and encoding.
  <li>Have the WSDL generated correspond to the style and encoding specified.
  </ol>

  <hr /><i>gwlester added on 2012-01-19 07:10:13 UTC:</i><br />
  Retitled from: "to include SOAP-ENC:arrayType for arrays returned"

  <hr /><i>gwlester added on 2012-01-19 07:11:11 UTC:</i><br />
  Deferred until a patch is supplied to implement requested feature in a general way.


tkt_uuid: 48739870798d1bdc07d9c19e04d8bdb2d47c0cbf
type: Code_Defect
status: Closed
subsystem: Utilities
priority: Immediate
severity: Important
foundin: 1.4.1, 2.0.0, 2.1.0
private_contact: 5ef84f1ed636fd4b80333e656cf7dfe1164a9802
resolution: Unable_To_Reproduce
title: Echo example is broken (crash)
assigned_to: unassigned
comment:
  What steps will reproduce the problem?
  1. download tclws2.1.0 and run server (~/tclws/Examples$ httpd.tcl  -docRoot ./tclhttpd/htdocs -port 8015 -library ./tclhttpd/custom/ &)
  2. tclsh Echo/CallEchoWebService.tcl |or| expect Echo/CallEchoWebService.tcl ([info tclversion] yields 8.5)
  3.

  What is the expected output? What do you see instead?

  Expecting some communication between the client and the Example, but parsing fails:

  key "Client" not known in dictionary
      while executing
  "dict get $typeInfo $mode $service"
      (procedure "::WS::Utils::GetServiceTypeDef" line 7)
      invoked from within
  "::WS::Utils::GetServiceTypeDef Client $serviceName"
      (procedure "ParseWsdl" line 74)
      invoked from within
  "ParseWsdl [::http::data $token] -headers $headers -serviceAlias $serviceAlias"
      (procedure "::WS::Client::GetAndParseWsdl" line 19)
      invoked from within
  "::WS::Client::GetAndParseWsdl http://localhost:8015/service/wsEchoExample/wsdl
      (file "Echo/CallEchoWebService.tcl" line 41)
      invoked from within
  "source Echo/CallEchoWebService.tcl"

  What version of the product are you using? On what operating system?

  2.1.0 with tcl8.5 on debian squeeze

  Please provide any additional information below.

  debug     Entering ::WS::Client::buildServiceInfo with doc domNode0x88c4670
  debug     Setting targetNamespae for http://TAFF.frequentis.frq:8015/service/wsEchoExample
  debug     Setting targetNamespae for http://schemas.xmlsoap.org/wsdl/http/
  debug     Setting targetNamespae for http://schemas.xmlsoap.org/wsdl/mime/
  debug     Setting targetNamespae for http://www.w3.org/2001/XMLSchema
  debug     Setting targetNamespae for http://schemas.xmlsoap.org/wsdl/soap/
  debug     Setting targetNamespae for http://schemas.xmlsoap.org/soap/encoding/
  debug     Entering parseTypes domNode0x88c4670 wsEchoExample serviceInfo
  debug     Leaving parseTypes
  debug     Entering parseBinding domNode0x88c4670 wsEchoExample wsEchoExampleSoap serviceInfo
  debug     	 Processing binding 'wsEchoExampleSoap' on port 'wsEchoExampleSoap'
  debug     	 Processing operation 'ComplexEcho'
  debug     Enteringing getTypesForPort domNode0x88c4670 wsEchoExample ComplexEcho wsEchoExampleSoap {} serviceInfo document/literal
  debug     Enteringing messageToType domNode0x88c4670 wsEchoExample ComplexEcho ComplexEchoIn serviceInfo document/literal
  debug     Leaving messageToType with {tns1:ComplexEchoRequest}
  debug     Enteringing messageToType domNode0x88c4670 wsEchoExample ComplexEcho ComplexEchoOut serviceInfo document/literal
  debug     Leaving messageToType with {tns1:ComplexEchoResults}
  debug     Leaving getTypesForPort with tns1:ComplexEchoRequest tns1:ComplexEchoResults
  debug     Enteringing getTypesForPort domNode0x88c4670 wsEchoExample ComplexEcho wsEchoExampleSoap {} serviceInfo document/literal
  debug     Enteringing messageToType domNode0x88c4670 wsEchoExample ComplexEcho ComplexEchoIn serviceInfo document/literal
  debug     Leaving messageToType with {tns1:ComplexEchoRequest}
  debug     Enteringing messageToType domNode0x88c4670 wsEchoExample ComplexEcho ComplexEchoOut serviceInfo document/literal
  debug     Leaving messageToType with {tns1:ComplexEchoResults}
  debug     Leaving getTypesForPort with tns1:ComplexEchoRequest tns1:ComplexEchoResults
  debug     	 Messages are {tns1:ComplexEchoRequest tns1:ComplexEchoResults}
  debug     	 Processing operation 'SimpleEcho'
  debug     Enteringing getTypesForPort domNode0x88c4670 wsEchoExample SimpleEcho wsEchoExampleSoap {} serviceInfo document/literal
  debug     Enteringing messageToType domNode0x88c4670 wsEchoExample SimpleEcho SimpleEchoIn serviceInfo document/literal
  debug     Leaving messageToType with {tns1:SimpleEchoRequest}
  debug     Enteringing messageToType domNode0x88c4670 wsEchoExample SimpleEcho SimpleEchoOut serviceInfo document/literal
  debug     Leaving messageToType with {tns1:SimpleEchoResults}
  debug     Leaving getTypesForPort with tns1:SimpleEchoRequest tns1:SimpleEchoResults
  debug     Enteringing getTypesForPort domNode0x88c4670 wsEchoExample SimpleEcho wsEchoExampleSoap {} serviceInfo document/literal
  debug     Enteringing messageToType domNode0x88c4670 wsEchoExample SimpleEcho SimpleEchoIn serviceInfo document/literal
  debug     Leaving messageToType with {tns1:SimpleEchoRequest}
  debug     Enteringing messageToType domNode0x88c4670 wsEchoExample SimpleEcho SimpleEchoOut serviceInfo document/literal
  debug     Leaving messageToType with {tns1:SimpleEchoResults}
  debug     Leaving getTypesForPort with tns1:SimpleEchoRequest tns1:SimpleEchoResults
  debug     	 Messages are {tns1:SimpleEchoRequest tns1:SimpleEchoResults}
  debug     Leaving parseBinding
  ERROR: tcl error sourcing /home/frq/workspace/PTPE14/testrun.proj/msls.test/msls.exp.
  ERROR: key "Client" not known in dictionary
      while executing
  "dict get $typeInfo $mode $service"
      (procedure "::WS::Utils::GetServiceTypeDef" line 7)
      invoked from within
  "::WS::Utils::GetServiceTypeDef Client $serviceName"
      (procedure "ParseWsdl" line 74)
      invoked from within
  "ParseWsdl [::http::data $token] -headers $headers -serviceAlias $serviceAlias"
      (procedure "::WS::Client::GetAndParseWsdl" line 19)
      invoked from within
  "::WS::Client::GetAndParseWsdl http://localhost:8015/service/wsEchoExample/wsdl
      (file "~/workspace/tclws/Examples/Echo/CallEchoWebService.tcl" line 41)

  <hr /><i>anonymous added on 2011-10-20 11:12:37 UTC:</i><br />
  works as expected in the trunk 2011-09-08


tkt_uuid: 4a72ac4b1169aa99ba739fc84c75bb669b2eb1c5
type: Code_Defect
status: Closed
subsystem: Utilities
priority: Immediate
severity: Important
foundin: 2.1.1
private_contact: 80c750eb938b31c65027fd1f2fcefaddc91bfe3d
resolution: Fixed
title: Redirects not being followed
assigned_to: gerald
comment:
  Under some situations WebSphere can redirect the WSDL request, for example from: 
      http://our_server:9082/webservice/services/UserAuthentication?WSDL 
  To: 
        http://our_server:9082/webservice/services/UserAuthentication/UserAuthenticationService.wsdl

  This fails in the GetAndParseWsdl phase of processing. Even when I manually enter the redirected URL, GetAndParseWsdl then failed on the XSDs. 

  Gerald Lester noted that he uses WebSphere-hosted services regularly and doesn't have this issue, so it may be specific to how we have it deployed.

  I found a clue to a potential solution at:

  http://wiki.tcl.tk/11831

  And have some modifications which at least initially appear to work.

  I have updated our Clientside.tcl with the following (::WS::Utils::geturl_followRedirects calls):

  <verbatim>
  proc ::WS::Client::GetAndParseWsdl {url {headers {}} {serviceAlias {}}} {
      ::log::log debug [info level 0]
      variable currentBaseUrl

      set currentBaseUrl $url
      switch [dict get [::uri::split $url] scheme] {
          file {
              upvar #0 [::uri::geturl $url] token
              set wsdlInfo [ParseWsdl $token(data) -headers $headers -serviceAlias $serviceAlias]
              unset token
          }
          http -
          https {
              if {[llength $headers]} {
                  #set token [::http::geturl $url -headers $headers]
                  set token [::WS::Utils::geturl_followRedirects $url -headers $headers]
              } else {
                  #set token [::http::geturl $url]
                  set token [::WS::Utils::geturl_followRedirects $url]
              }
              ::http::wait $token
              set wsdlInfo [ParseWsdl [::http::data $token] -headers $headers -serviceAlias $serviceAlias]
              ::http::cleanup $token
          }
          default {
              return \
                  -code error \
                  -errorcode [list WS CLIENT UNKURLTYP $url] \
                  "Unknown URL type '$url'"
          }
      }
      set currentBaseUrl {}

      return $wsdlInfo
  }
  </verbatim>

  And Utilities.tcl with a new proc and ::WS::Utils::redirectArray references:

  <verbatim>
  proc ::WS::Utils::geturl_followRedirects {url {args ""}} {
      ::log::log debug "[info level 0]"
      #global redirectArray
      set initialUrl $url
      set finalUrl $url
      array set URI [::uri::split $url] ;# Need host info from here
      while {1} {
          ifmatch "$args" "" {
              set token [::http::geturl $url]
          } else {
              #set token [eval [list http::geturl $url] $args]
              set token [::http::geturl $url $args]
          }
          set ncode [::http::ncode $token]
          ::log::log debug "ncode = $ncode"
          if {![string match {30[1237]} $ncode]} {
              ::log::log debug "initialUrl = $initialUrl, finalUrl = $finalUrl"
              ifnotmatch "$finalUrl" "" {
                  ::log::log debug "Getting initial URL directory"
                  set lastPos [string last / $initialUrl]
                  set initialUrlDir [string range $initialUrl 0 [expr $lastPos - 1]]
                  set lastPos [string last / $finalUrl]
                  set finalUrlDir [string range $finalUrl 0 [expr $lastPos - 1]]
                  ::log::log debug "initialUrlDir = $initialUrlDir, finalUrlDir = $finalUrlDir"
                  set ::WS::Utils::redirectArray($initialUrlDir) $finalUrlDir
              }
              return $token
          }
          array set meta [set ${token}(meta)]
          if {![info exist meta(Location)]} {
              return $token
          }
          array set uri [::uri::split $meta(Location)]
          unset meta
          array unset meta
          if {$uri(host) == ""} { set uri(host) $URI(host) }
          # problem w/ relative versus absolute paths
          set url [eval ::uri::join [array get uri]]
          ::log::log debug "url = $url"
          set finalUrl $url
      }
  }


  proc ::WS::Utils::processImport {mode baseUrl importNode serviceName serviceInfoVar tnsCountVar} {
      upvar $serviceInfoVar serviceInfo
      upvar $tnsCountVar tnsCount
      variable currentSchema
      variable importedXref

      ::log::log debug "Entering [info level 0]"
      ##
      ## Get the xml
      ##
      set attrName schemaLocation
      if {![$importNode hasAttribute $attrName]} {
          set attrName namespace
          if {![$importNode hasAttribute $attrName]} {
              ::log::log debug "\t No schema location, existing"
              return \
                  -code error \
                  -errorcode [list WS CLIENT MISSCHLOC $baseUrl] \
                  "Missing Schema Location in '$baseUrl'"
          }
      }
      set url [::uri::resolve $baseUrl  [$importNode getAttribute $attrName]]

      set lastPos [string last / $url]
      set testUrl [string range $url 0 [expr $lastPos - 1]]
      if { [info exists ::WS::Utils::redirectArray($testUrl)] } {
          set newUrl $::WS::Utils::redirectArray($testUrl)
          append newUrl [string range $url $lastPos end]
          ::log::log debug "newUrl = $newUrl"
          set url $newUrl
      }

      ::log::log debug "\t Importing {$url}"
      ##
      ## Short-circuit infinite loop on inports
      ##
      if { [info exists importedXref($mode,$serviceName,$url)] } {
          ::log::log debug "$mode,$serviceName,$url was already imported: $importedXref($mode,$serviceName,$url)"
          return
      }
      set importedXref($mode,$serviceName,$url) [list $mode $serviceName $tnsCount]
      switch [dict get [::uri::split $url] scheme] {
          file {
              upvar #0 [::uri::geturl $url] token
              set xml $token(data)
              unset token
          }
          http {
              #set token [::http::geturl $url]
              set token [geturl_followRedirects $url]
              ::http::wait $token
              set ncode [::http::ncode $token]
              set xml [::http::data $token]
              ::http::cleanup $token
              if {$ncode != 200} {
                  return \
                      -code error \
                      -errorcode [list WS CLIENT HTTPFAIL $url] \
                      "HTTP get of import file failed '$url'"
              }
          }
          default {
              return \
                  -code error \
                  -errorcode [list WS CLIENT UNKURLTYP $url] \
                  "Unknown URL type '$url'"
          }
      }
      ProcessImportXml $mode $baseUrl $xml $serviceName $serviceInfoVar $tnsCountVar
  }
  </verbatim>


tkt_uuid: 50af8795084a2da0a3c5cfbc47af0720b543908c
type: Code_Defect
status: Closed
subsystem: Utilities
priority: Immediate
severity: Important
foundin: trunk, Release_1.4.1
private_contact: b12f65986726fbc690bf4cc89542182df814ff94
resolution: Unable_To_Reproduce
title: Example CallEcho client crashes during ComplexEcho
assigned_to: unassigned
comment:
  The array handling in ::WS::Utils::convertTypeToDict misses items with name $serviceName:$partName. During SimpleEcho, only one element is returned during processing of the "Trying #4..." statement, but during ComplexEcho, multiple (two) elements are returned. Possible fix is attached, but in no way i can tell something about side effects regarding WSDL/SOAP standards.

  <pre>
  --- Utilities.tcl
  +++ Utilities.tcl
  @@ -1150,10 +1150,12 @@
           ##
           ## Try for fully qualified name
           ##
           ::log::log debug "Trying #1 [list $node selectNodes $partXns:$partName]"
           if {[catch {llength [set item [$node selectNodes $partXns:$partName]]} len] || ($len == 0)} {
  +          ::log::log debug "Trying #1.1 [list $node selectNodes $serviceName:$partName]"
  +          if {[catch {llength [set item [$node selectNodes $serviceName:$partName]]} len] || ($len == 0)} {
               ::log::log debug "Trying #2 [list $node selectNodes $xns:$partName]"
               if {[catch {llength [set item [$node selectNodes $xns:$partName]]} len] || ($len == 0)} {
                   ##
                   ## Try for unqualified name
                   ##
  @@ -1177,10 +1179,11 @@
                           ::log::log debug "\tSkipping"
                           continue
                       }
                   }
               }
  +          }
           }
           set origItemList $item
           set newItemList {}
           foreach item $origItemList {
               if {[$item hasAttribute href]} {
  </pre>

  <hr /><i>gwlester added on 2011-04-11 21:00:28 UTC:</i><br />
  Fixed in release 2.0.0.

  At least it no longer happens.


tkt_uuid: 51df6d685a7276cea9b740b8b02b08fead5dc806
type: Feature_Request
status: Closed
subsystem: Client_Side
priority: Immediate
severity: Important
foundin: 2.2.3
private_contact: 5431e0393c2832a930f98fa82da52010fb0ce32d
resolution: Not_A_Bug
title: Basic authentication with HTTPS
assigned_to: unassigned
comment:
  I'd like to use tclws Client package to do some RPCs on a secure web server which is user/password protected. It is using the Basic auth scheme.
  It seems with the ::WS::Client::GetAndParseWsdl I can't provide user name and password. Could this feature be added to the Tcl WS package ?

  <hr /><i>gwlester added on 2012-02-02 20:10:13 UTC:</i><br />
  It is already supported via the <i>headers</i> argument to <b>::WS::Client::DoCall</b>.  Please see [http://core.tcl.tk/tclws/wiki?name=WSClient+Client+Side#Synchronous_Call_returning_a_dictionary_object|Synchronous Call returning a dictionary object]


tkt_uuid: 51f6196783662b9874a5a9a41e095ea8642c4707
type: Code_Defect
status: Closed
subsystem: Client_Side
priority: Immediate
severity: Severe
foundin: 2.2
private_contact: f0e2312a244c99b69b66ff52a743015292c5af63
resolution: Rejected
title: Invalid client requests built for complex extended types with attributes
assigned_to: unassigned
comment:
  I'm using ClientSide to make requests against a third-party SOAP literal service.

  1) The generated XML SOAP request body is missing the "account" and "password" attributes that should be on the "get-flight-summary" element.  In earlier versions of TclWS (about 1.4) these two values were correctly parsed but were still incorrectly included as new children elements inside of the get-flight-summary tag, rather than attributes on it.

  2) The "state" argument does not get included under the "template" element at all.  In earlier versions of TclWS (about 1.4), it was recognized but incorrectly doubly-nested within itself.

  I'm attaching: a) sample program, b) the correct request, c) the incorrect request made by TclWS 1.4, d) the incorrect request made by TclWS 2.2

  <hr /><i>bovine added on 2012-02-22 21:04:47 UTC:</i><br />
  There seems to be at least three issues here, but I was unable to diagnose it much further than this:

  There may be a regression caused somewhere between 1.4 and 2.2 that prevents it from processing "extension" types properly, since the "account" and "password" elements are part of the "AbstractRequest" type that "GetFlightSummary" inherits from.  (Those two elements are missing under the 2.2 debug log after "Entering ::WS::Utils::convertDictToType", but they were previously listed under 1.4)

  The placement of those values as elements instead of as attributes seems to be a bug in the handling of "xsd:attribute" type.

  The occurrence of the doubly-nested "state" tag is some oddity of literal wrapping maybe?  Not nesting the argument twice under 1.4 caused TclWS to unable to find the dictionary entry.


  <hr /><i>gwlester added on 2012-02-29 03:35:14 UTC:</i><br />
  To pass/receive attributes you need to do:

  <pre>
  ::WS::Utils::SetOption parseInAttr 1
  ::WS::Utils::SetOption genOutAttr 1
  </pre>

  That being said, there was a documentation bug that this exposed.  The documentation said <b>::WS::Utils::SetOption</b> instead of <b>::WS::Client::SetOption</b>.

  Please add a feature request to support xsd:list


tkt_uuid: 5b81742685e84616deaf9fef14b484c5ea1729ff
type: Code_Defect
status: Closed
subsystem: Client_Side
priority: Immediate
severity: Minor
foundin: 2.2.3
private_contact: d40e039140fe2c6545a5d69e1a94f89e012686b0
resolution: Not_A_Bug
title: Async Call Example
assigned_to: unassigned
comment:
  I am having issues with a DoAsyncCall.  My code is the following, and I am able to test the async call using other clients and it works, but I have getting 0 response from TCL.  The code never executes the RequestDone or the RequestError.  I didn't know if you could offer any assistance.

  <verbatim>
  package require WS::Client

  proc RequestDone {} {
  puts "Done"
  }

  proc RequestError {errorCode errorInfo} {
   puts "Error during remote API invocation: $errorInfo"
   }

  WS::Client::GetAndParseWsdl \
  "http://localhost:54282/RadiusService.asmx?WSDL"

  set test [dict create message "Test" username "user"]

  WS::Client::DoAsyncCall RadiusService SendMessage $test \
  	RequestDone \
  	RequestError
  </verbatim>

  <hr /><i>gwlester added on 2012-02-07 21:20:17 UTC:</i><br />
  In your example, you do not enter the event loop -- did you?

  <hr /><i>gwlester added on 2012-02-09 21:06:21 UTC:</i><br />
  Emails from user indicated that he was not entering the event loop -- callbacks only happen in the event loop.  He was expecting them to act like interrupts.


tkt_uuid: 5c28604989d5504507863c00fa320581eed73070
type: Code_Defect
status: Closed
subsystem: Utilities
priority: Immediate
severity: Critical
foundin: 2.2.7
private_contact: 3d2eb859bc343d125b06c9a33cd8ef8d11fd9cfd
resolution: Fixed
title: REFs in WSDL to Elements handled incorrectly
assigned_to: gerald
comment:
  A reference to an Element in a XSD/WSDL is handled incorrectly.  It is treated like a reference to a ComplexType and thus a "level" in the generated/expected structure is lost.

  For example, the following skips the GBSet tag:
  <verbatim>
  <xs:element name="GBSeq">
    <xs:complexType>
      <xs:sequence>
        <xs:element name="GBSeq_locus" type="xs:string"/>
        <xs:element name="GBSeq_length" type="xs:integer"/>
      </xs:sequence>
    </xs:complexType>
  </xs:element>


  <xs:element name="GBSet">
    <xs:complexType>
      <xs:sequence minOccurs="0" maxOccurs="unbounded">
        <xs:element ref="tns:GBSeq"/>
      </xs:sequence>
    </xs:complexType>
  </xs:element>

    <xs:element name="eFetchResult">
      <xs:complexType>
        <xs:sequence>
          <xs:element minOccurs="0" maxOccurs="1" name="ERROR" type="xs:string" />
          <xs:element minOccurs="0" maxOccurs="1" ref="tns:GBSet" />
        </xs:sequence>
      </xs:complexType>
    </xs:element>

  </verbatim>

  <hr /><i>gwlester added on 2012-08-15 13:11:24 UTC:</i><br />
  Fixed in 2.2.8.


tkt_uuid: 668852fcac1281c8262e7e7b12406eef805f3a1c
type: Code_Defect
status: Closed
subsystem: Client_Side
priority: Immediate
severity: Important
foundin: 1.4
private_contact: 1ff9f9b292034d39307dd75aab1934e80eb6881d
resolution: Fixed
title: Incorrect action when no namespace present
comment:
  In proc ::WS::Client::buildRpcEncodedCallquery, if no namespace is present the code still uses the : character causing an invalid operation definition.

  Suggested change: 

  Present code
      set callXns [dict get $serviceInfo operation $operationName xns]
      $bod appendChild [$doc createElement $callXns:$operationNam

  Modified:

      set callXns [dict get $serviceInfo operation $operationName xns]
      if {![string is space $callXns]} {
          $bod appendChild [$doc createElement $callXns:$operationNam
      } else {
          $bod appendChild [$doc createElement $operationNam
      }


tkt_uuid: 6eae39ab126564ee194f0c0ec3e21288de269b0f
type: Feature_Request
status: Closed
subsystem: Server_Side
priority: Immediate
severity: Important
foundin: 1.4.1
private_contact: 582b61b01c28772572a4036587ff671d73c1245e
resolution: Fixed
title: Add inbound and outbound transforms on Server side similar to what is available on Client side
assigned_to: gerald
comment:
  Add inbound and outbound transforms on Server side similar to what is available on Client side.  This will allow, among other things, for the server to sign and verify signed messages.


tkt_uuid: 6ee947f2183675ac8cf38076749931be3dd53e77
type: Feature_Request
status: Closed
subsystem: Client_Side
priority: Immediate
severity: Important
foundin: 2.1.3
private_contact: 2aaa286f07c20b4ef15315022e1a387590051891
resolution: Fixed
title: Byte Order Marker from some servers not handled
assigned_to: gerald
comment:
  My program has to deal with a MS .net based server. This always has a 3 byte BOM (Byte Order Marker) at the start of the XML which is not handled by the WebServices code. At the moment my workaround is to add the following code to ::WS::Client::parseResults (it removes the BOM when detected)
  <verbatim> 
      # Check for BOM
      # 0xEF 0xBB 0xBF
      if {[scan $inXML "%c%c%c" a b c]} {
          if {($a == 239) && ($b == 187) && ($c == 191)} {
              set inXML [string range $inXML 3 end]
          }
      }
  </verbatim>

  If I don't throw away the first 3 bytes I get the following error as expected:
  <verbatim>
  error "not well-formed (invalid token)" at line 1 character 1 "ïÂ <--Error-- ?¿<?xml version="1.0" encoding="utf-8""     
  while executing "dom parse $inXML doc"     (procedure "parseResults" line 11)     
  invoked from within "parseResults $serviceName $operationName $body"    
  invoked from within "::WS::Client::DoCall $serviceName $operationName $argList"
  </verbatim>


tkt_uuid: 70a5c5c435cc4f503755e6115d4384b219baf170
type: Feature_Request
status: Open
subsystem: Server_Side
severity: Important
foundin: df85e4e49c
private_contact: 0f366eb3e9e2fcab52b8ebacd197db9047186a5f
title: support https protocol in server mode
assigned_to: unassigned
comment:
  The currently generated wsdl-file uses the hard-coded protocol "http:" in all generated URLs.
  IMHO, the server should use "https:" as protocol, if ssl/tls is used.


tkt_uuid: 7787af31cf86af2e974e4806e2c915a5baf98803
type: Feature_Request
status: Deferred
subsystem: Utilities
priority: Low
severity: Important
foundin: 1.4.0
resolution: Open
title: UNIONS not supported
assigned_to: unassigned
comment:
  What steps will reproduce the problem?
  1. Attempt to parse a WSDL with a UNION

  <hr /><i>gerald added on 2011-02-26 06:51:16 UTC:</i><br />
  No good idea how to implement this so it just "works" without special code (i.e.use of  ::WS::Utils::MutableTypeDef).


tkt_uuid: 7c55121bcea3ab8333b0d7f7bc1455fed67a9cd3
type: Code_Defect
status: Closed
subsystem: Server_Side
priority: Immediate
severity: Severe
foundin: trunk, Release_1.4.1
private_contact: b12f65986726fbc690bf4cc89542182df814ff94
resolution: Fixed
title: Server side handling for wibble not functional
assigned_to: andy
comment:
  With wibble v. 24:
  - The wibble zone handler now needs leading "::"
  - var "xml" was not initialized within the wibble section
  - Typo fixed (inXml-> inXML)

  Patch attached:
  <pre>
  --- ServerSide.tcl
  +++ ServerSide.tcl
  @@ -233,11 +233,11 @@
           }
           wibble {
               ##
               ## Define zone handler - get code from andy
               ##
  -            proc wibble::webservice {state} {
  +            proc ::wibble::webservice {state} {
                   dict with state options {}
                   switch $suffix {
                       "" - \
                       / {
                           ::WS::Server::generateInfo $name 0 response
  @@ -738,10 +738,11 @@
           aolserver {
               set xml [GetWsdl $serviceName]
               ::WS::AOLserver::ReturnData $sock text/xml $xml 200
           }
           wibble  {
  +            set xml [GetWsdl $serviceName]
               upvar 1 [lindex $args 0] responseDict
               dict set responseDict header content-type text/xml
               dict set responseDict status 200
               dict set responseDict content $xml
           }
  @@ -1054,11 +1055,11 @@
   
       switch -exact $mode {
           wibble {
               set requestDict [lindex $args 0]
               upvar 1 [lindex $args 1] responseDict
  -            set inXml [dict get $requestDict post xml ""]
  +            set inXML [dict get $requestDict post xml ""]
           }
           default {
               upvar #0 Httpd$sock data
               set inXML $data(query)
           }
  </pre>

  <hr /><i>andy added on 2012-01-16 01:33:55 UTC:</i><br />
  Incorporated patch into upcoming 2.2.0 release.  Not yet checked in.


tkt_uuid: 7eb636dce189ec768cfd37398f8c892f609eeff7
type: Code_Defect
status: Closed
subsystem: Client_Side
priority: Immediate
severity: Important
foundin: 1.4
private_contact: 1ff9f9b292034d39307dd75aab1934e80eb6881d
resolution: Fixed
title: incorrect variables used in parseResults
comment:
  In the proc ::WS::Client::parseResults, for the headerRootNode the variable $rootNode is used when it should be $top so the ENV:Header can be located.

  In the same proc, last call to convertTypeToDict uses $rootNode for XML message and the node. The latter one should be $body so the complete XML is available.


tkt_uuid: 80424f3728d0807e8ae7ab44cdb703b47ec71c78
type: Code_Defect
status: Closed
subsystem: Client_Side
priority: Medium
severity: Important
foundin: 1.4.0
resolution: Fixed
title: Does not support the same type name being defined differently in different name space
assigned_to: gerald
comment:
  What steps will reproduce the problem?
  1. Attempt to parse a WSDL that uses the same name for a type in two different name spaces where the type is defined differently in the name spaces

  What is the expected output? What do you see instead?
  Correct type definition used based on what namespace the element being processed is in.

  What version of the product are you using? On what operating system?
  1.2.0

  Please provide any additional information below.
  N/A

  <hr /><i>gerald added on 2011-02-26 06:46:29 UTC:</i><br />
  Requires delicate rewrite of type storage and lookups using name space (alias?) and type.


tkt_uuid: 83bd219e9a2cdf560d3be2e80a73166daf7f6d2a
type: Code_Defect
status: Closed
subsystem: Utilities
priority: Immediate
severity: Critical
foundin: trunk 2011-09-08
private_contact: 5ef84f1ed636fd4b80333e656cf7dfe1164a9802
resolution: Fixed
title: extra level in typeInfo dict
assigned_to: gerald
comment:
  I have a .wsdl file that works with this patch only. Can you confirm, this is a bug? Otherwise, the (configuration-)bug is on my side ...

  <verbatim>
  Index: Utilities.tcl
  ===================================================================
  --- Utilities.tcl       (revision 2526)
  +++ Utilities.tcl       (working copy)
  @@ -2996,8 +2996,8 @@
                           set partTypeInfo [::WS::Utils::GetServiceTypeDef $mode $serviceName $partType]
                           set partName [lindex [split $partName {:}] end]
                           ::log::log debug "\t\t\t part name is {$partName} type is {$partTypeInfo}"
  -                        set partType [dict get $partTypeInfo definition $partName type]
  -                        ::log::log debug "\t\t\t part name is {$partName} type is {$partType}"
  +                        #set partType [dict get $partTypeInfo definition $partName type]
  +                        #::log::log debug "\t\t\t part name is {$partName} type is {$partType}"
                       } else {
                           ##
                           ## See if really a complex definition
  @@ -3177,9 +3177,9 @@
                   ##
                   ## Convert the reference to the local tns space
                   ##
                   set partType [getQualifiedType $results $partType $tns]
                   set refTypeInfo [GetServiceTypeDef $mode $serviceName $partType]
  -                set refTypeInfo [dict get $refTypeInfo definition]
  +                #set refTypeInfo [dict get $refTypeInfo definition]
                   set tmpList [dict keys $refTypeInfo]
                   if {[llength $tmpList] == 1} {
                       set partName [lindex [dict keys $refTypeInfo] 0]
  </verbatim>

  <hr /><i>gwlester added on 2011-12-26 15:20:47 UTC:</i><br />
  This is a duplicate of [3de47c423b].


tkt_uuid: 8cd388b62a0d1b43e110f7efde4691db7a1ccb71
type: Code_Defect
status: Closed
subsystem: Client_Side
priority: Immediate
severity: Important
foundin: 1.4
private_contact: 1ff9f9b292034d39307dd75aab1934e80eb6881d
resolution: Fixed
title: RPC embedded complex types get wrong namespace
assigned_to: gerald
comment:
  When using the client code for an RPC encoded call, any complex types are given the XS namespace and not the one specific to the complex type


tkt_uuid: 8e844665cf427f75ca11133619f53102ee445461
type: Code_Defect
status: Closed
subsystem: Client_Side
priority: Immediate
severity: Critical
foundin: 2.2.6
private_contact: 10cacc6925e1ad5ab498b780e2c95f3a1e42e729
resolution: Fixed
title: Element tags are always parsed always as arrays
assigned_to: gerald
comment:
  When a type definition is done using *just* a Element tag (i.e. not also done using a Complex Type tag) TclWs appears to be always defining it as an array even if the Element tag has a Max Occurs attribute of 1!

  <hr /><i>gwlester added on 2012-06-04 15:07:28 UTC:</i><br />
  Fixed in 2.2.7


tkt_uuid: 9254392138ddd18436f21bc6ae2fa5bd955bd32d
type: Feature_Request
status: Accepted
subsystem: Server_Side
priority: Immediate
severity: Minor
foundin: trunk, Release_1.4.1
private_contact: b12f65986726fbc690bf4cc89542182df814ff94
resolution: Open
title: Add wibble examples
assigned_to: andy
comment:
  I think it would be a good idea to add the following examples, so wibble can operate out of the box. This was tested with wibble.tcl v.24

  - Put tclws.tcl, wibble.tcl and the adjusted EchoWebService.tcl into the same directory
  - Check if all required libraries are present (adjust tclws.tcl)
  - launch tclws.tcl with tcl 8.6 (needed for wibble)

  <verbatim>
  ############# tclws.tcl, start script for wibble 24 (not included) ########
  # Adjust auto_path to your needs
  lappend auto_path [file dir [info script]] lib
  source wibble.tcl
  # Set the root directory.
  set root html
  set ::Config(host) 127.0.0.1
  set ::Config(port) 8015

  source EchoWebService.tcl

  # Define zone handlers.
  ::wibble::handle /vars vars
  ::wibble::handle / dirslash root $root
  ::wibble::handle / indexfile root $root indexfile index.html
  ::wibble::handle / static root $root
  ::wibble::handle / template root $root
  ::wibble::handle / script root $root
  ::wibble::handle / dirlist root $root
  ::wibble::handle / notfound


  # Start a server and enter the event loop.
  catch {
    ::wibble::listen 8015
    vwait forever
  }
  #########################################################################

  ################### Adjustment for EchoWebService.tcl (-mode wibble needed)
  *** Echo/EchoWebService.tcl	2011-03-18 19:19:15.071363422 +0100
  --- wibble/EchoWebService.tcl	2011-03-18 19:55:00.000000000 +0100
  *************** package require WS::Utils
  *** 42,47 ****
  --- 42,48 ----
    ::WS::Server::Service \
        -service wsEchoExample \
        -description  {Echo Example - Tcl Web Services} \
  +     -mode wibble \
        -host         $::Config(host):$::Config(port)
    
    ##
  </verbatim>


tkt_uuid: 926b89f91e30e6726bab2780ebf9120ab1a7d31b
type: Code_Defect
status: Closed
subsystem: Utilities
priority: Immediate
severity: Critical
foundin: 1.4.1
private_contact: 582b61b01c28772572a4036587ff671d73c1245e
resolution: Fixed
title: Can not import an XSD via https
assigned_to: gerald
comment:
  If the WSDL attempts to import a namespace (aka  XSD) and the import requires https as opposed to http, then the import fails with an "Unknown URL type" error.


tkt_uuid: 92cd058f9a003d444b2f5615ec5408ef7320f295
type: Code_Defect
status: Closed
subsystem: Utilities
priority: Immediate
severity: Critical
foundin: 2.2.8
private_contact: 582b61b01c28772572a4036587ff671d73c1245e
resolution: Open
title: Empty abstract types not handled correctly
assigned_to: gerald
comment:
  An abstract type with an empty definition, or one containing only attributes, is treated as a simple type instead of a regular type.

  Such abstract types are frequently used as a root or base type in a type hierarchy.

  <hr /><i>gwlester added on 2012-10-10 01:12:45 UTC:</i><br />
  Fixed in 2.2.9


tkt_uuid: a2b1add55ae2170731a9c2e43f0d753acdfec995
type: Code_Defect
status: Closed
subsystem: Client_Side
priority: Immediate
severity: Important
foundin: 2.0.0
private_contact: 3e066188763e3242a530cef2ab38310a1af5fd89
resolution: Fixed
title: German umlauts not working (at least with SugarCRM)
assigned_to: gerald
comment:
  To reproduce the problem use at least one umlaut (ÄÖÜ) in the value of a parameter passed to ::WS::Client::DoCall. The query will be formatted correctly but not converted from TCL's internal representation to utf-8 before passing it to ::http::geturl which in turn transmits it using binary encoding. This makes the server (SugarCRM in my case) complaining "invalid character".

  After changing <verbatim>return $xml</verbatim>  in the end of ::WS::Client::buildCallquery to:
  <verbatim>return [ encoding convertto utf-8 $xml ]</verbatim>
   everything is fine for me but I don't know if this is the correct way to fix this.


tkt_uuid: a52d5db004bb256699678ddcddd27caee7198c61
type: Code_Defect
status: Closed
subsystem: Client_Side
priority: Immediate
severity: Critical
foundin: 2.0.0
private_contact: e6ab502f0f3c19b9fefdade77a8af86c5e16f138
resolution: Fixed
title: Namespaces local to schema are not supported
assigned_to: gerald
comment:
      When attempting to parse the URL http://eutils.ncbi.nlm.nih.gov/soap/v2.0/eutils.wsdl, the following error occurs:
  <verbatim>
  error     Could not find tns 'tns' in 'url {http://www.ncbi.nlm.nih.gov/soap/eutils/ tns1 
  http://schemas.xmlsoap.org/wsdl/ w http://www.w3.org/2001/XMLSchema xs 
  http://schemas.xmlsoap.org/wsdl/http/ tns2 http://schemas.xmlsoap.org/wsdl/mime/ tns3 
  http://schemas.xmlsoap.org/wsdl/soap/ d http://schemas.xmlsoap.org/soap/encoding/ tns4 
  http://www.ncbi.nlm.nih.gov/soap/eutils/egquery tns5
  http://www.ncbi.nlm.nih.gov/soap/eutils/einfo tns6
  http://www.ncbi.nlm.nih.gov/soap/eutils/elink tns7 
  http://www.ncbi.nlm.nih.gov/soap/eutils/esearch tns8 http://www.ncbi.nlm.nih.gov/soap/eutils/esummary tns9 http://www.ncbi.nlm.nih.gov/soap/eutils/espell tns10 
  http://www.ncbi.nlm.nih.gov/soap/eutils/epost tns11} 
  tns {wsdl w xs xs http tns2 mime tns3 soap d soapenc tns4 s0 tns1 nseg tns5 nsei tns6 nsel tns7 nsese tns8 nsesu tns9 nsesp tns10 nseps tns11}
  </verbatim>


tkt_uuid: a8de49b7c37c7c83dc1f9342f57518c0f2e1b723
type: Code_Defect
status: Closed
subsystem: Client_Side
priority: Immediate
severity: Important
foundin: 2.2.5
private_contact: ba2f9feccc78ad8058bfc0107134860dc4fad376
resolution: Fixed
title: extensions of non-simple types do not work
assigned_to: gerald
comment:
  Parsing ebay wsdl yields errors

  Best regards,

  Gerhard

  http://developer.ebay.com/webservices/latest/eBaySvc.wsdl

  Platform: Windows 7 Home, 64 Bit, Active State tcl 8.6.0b2 (32 Bit)

  <verbatim>
  (Gerhard) 1 % package require WS::Client
   2.2.5
   (Gerhard) 2 % WS::Client::GetAndParseWsdl http://developer.ebay.com/webservices/latest/eBaySvc.wsdl
   error     Could not parse:
   error      <xs:complexType name="GetBidderListRequestType">
   error         <xs:annotation>
   error             <xs:documentation>
   error                                   Retrieves all items the user is currently bidding on, and the ones they have won
   error                                   or purchased.
   error                           </xs:documentation>
   error             <xs:appinfo>
   error                 <RelatedCalls>AddItem, GetItem, GetSellerList, RelistItem, ReviseItem</RelatedCalls>
   error             </xs:appinfo>
   error         </xs:annotation>
   error         <xs:complexContent>
   error             <xs:annotation>
   error                 <xs:documentation>
   error                                           Retrieves all items the user is currently bidding on, and the ones they have won
   error                                           or purchased.
   error                                   </xs:documentation>
   error             </xs:annotation>
   error             <xs:extension base="ns:AbstractRequestType">
   error                 <xs:sequence>
   error                     <xs:element name="ActiveItemsOnly" type="xs:boolean" minOccurs="0">
   error                         <xs:annotation>
   error                             <xs:documentation>
   error                                                                   Indicates whether or not to limit the result set to active items. If true, only
   error                                                                   active items are returned and the EndTimeFrom and EndTimeTo filters are
   error                                                                   ignored. If false (or not sent), both active and ended items are returned.
   error                                                           </xs:documentation>
   error                             <xs:appinfo>
   error                                 <CallInfo>
   error                                     <CallName>GetBidderList</CallName>
   error                                     <RequiredInput>No</RequiredInput>
   error                                 </CallInfo>
   error                             </xs:appinfo>
   error                         </xs:annotation>
   error                     </xs:element>
   error                     <xs:element name="EndTimeFrom" type="xs:dateTime" minOccurs="0">
   error                         <xs:annotation>
   error                             <xs:documentation>
   error                                                                   Used in conjunction with EndTimeTo. Limits returned items to only those for
   error                                                                   which the item's end date is on or after the date-time specified. Specify an
   error                                                                   end date within 30 days prior to today. Items that ended more than 30 days
   error                                                                   ago are omitted from the results. If specified, EndTimeTo must also be
   error                                                                   specified. Express date-time in the format YYYY-MM-DD HH:MM:SS, and in GMT.
   error                                                                   (For information on how to convert between your local time zone and GMT, see
   error                                                                   Time Values Note.) This field is ignored if ActiveItemsOnly is true.
   error                                                           </xs:documentation>
   error                             <xs:appinfo>
   error                                 <CallInfo>
   error                                     <CallName>GetBidderList</CallName>
   error                                     <RequiredInput>Conditionally</RequiredInput>
   error                                 </CallInfo>
   error                             </xs:appinfo>
   error                         </xs:annotation>
   error                     </xs:element>
   error                     <xs:element name="EndTimeTo" type="xs:dateTime" minOccurs="0">
   error                         <xs:annotation>
   error                             <xs:documentation>
   error                                                                   Used in conjunction with EndTimeFrom. Limits returned items to only those for
   error                                                                   which the item's end date is on or before the date-time specified. If
   error                                                                   specified, EndTimeFrom must also be specified. Express date-time in the format
   error                                                                   YYYY-MM-DD HH:MM:SS, and in GMT. This field is ignored if ActiveItemsOnly is
   error                                                                   true. Note that for GTC items, whose end times automatically increment by 30
   error                                                                   days every 30 days, an EndTimeTo within in the first 30 days of a listing will
   error                                                                   refer to the listing's initial end time.
   error                                                           </xs:documentation>
   error                             <xs:appinfo>
   error                                 <CallInfo>
   error                                     <CallName>GetBidderList</CallName>
   error                                     <RequiredInput>Conditionally</RequiredInput>
   error                                 </CallInfo>
   error                             </xs:appinfo>
   error                         </xs:annotation>
   error                     </xs:element>
   error                     <xs:element name="UserID" type="ns:UserIDType" minOccurs="0">
   error                         <xs:annotation>
   error                             <xs:documentation>
   error                                                                   The user for whom information should be returned. If
   error                                                                   provided, overrides user defined via RequesterCredentials
   error                                                                   in header.
   error                                                           </xs:documentation>
   error                             <xs:appinfo>
   error                                 <CallInfo>
   error                                     <CallName>GetBidderList</CallName>
   error                                     <RequiredInput>No</RequiredInput>
   error                                 </CallInfo>
   error                             </xs:appinfo>
   error                         </xs:annotation>
   error                     </xs:element>
   error                     <xs:element name="GranularityLevel" type="ns:GranularityLevelCodeType" minOccurs="0">
   error                         <xs:annotation>
   error                             <xs:documentation>
   error                                                                   You can control some of the fields returned in the response by specifying one
   error                                                                   of two values in the GranularityLevel field: Fine or Medium. Fine returns
   error                                                                   more fields than the default, while setting this field to Medium returns an
   error                                                                   abbreviated set of results.
   error                                                           </xs:documentation>
   error                             <xs:appinfo>
   error                                 <PresentDetails>Yes</PresentDetails>
   error                                 <CallInfo>
   error                                     <CallName>GetBidderList</CallName>
   error                                     <RequiredInput>No</RequiredInput>
   error                                 </CallInfo>
   error                             </xs:appinfo>
   error                         </xs:annotation>
   error                     </xs:element>
   error                 </xs:sequence>
   error             </xs:extension>
   error         </xs:complexContent>
   error     </xs:complexType>
   error     
   error            error was: invalid command name "domNode04B8D518 domNode04B8D588"
   error            error info: invalid command name "domNode04B8D518 domNode04B8D588"
   error         while executing
   error     "[$node childNodes] localName"
   error         (procedure "partList" line 141)
   error         invoked from within
   error     "partList $mode $parent $serviceName results $tns"
   error         (procedure "parseComplexType" line 126)
   error         invoked from within
   error     "parseComplexType $mode serviceInfo $serviceName $element $tns"
   error            error in: ::WS::Utils::parseScheme
   error            error code: NONE
   invalid command name "domNode04B8D518 domNode04B8D588"
   (Gerhard) 3 %  </verbatim> minOccurs=GetBidderListxs:appinfo

  <hr /><i>gwlester added on 2012-05-14 16:41:52 UTC:</i><br />
  Fixed in [http://core.tcl.tk/tclws/event/6f81f69f91aa7975bc50faba0bf54cf890c2ea26|Release 2.2.6].


tkt_uuid: aa05504f1159280ba6d3934e1372312c9d53794d
type: Code_Defect
status: Closed
subsystem: Client_Side
priority: Immediate
severity: Important
foundin: 1.4
private_contact: 1ff9f9b292034d39307dd75aab1934e80eb6881d
resolution: Fixed
title: Multiple nodes in soap body causes issues
comment:
  In the proc ::WS::Client::parseResults, if there are multiple child nodes in the ENV:body element and the localName call returns blank, the code throws an error later in the proc as rootNode is a list and not a single item.

  Problem is in this bit of code:

  foreach tmp $rootNode {
      #puts "\t Got {[$tmp localName]} looking for {$expectedMsgType}"
      if {[string equal [$tmp localName] $expectedMsgType]} {
          set rootNode $tmp
          break
      }
  }

  If the check was to look for the localName and the nodeName this would increase the chance of it locating a value and prevent the code from failing later.


tkt_uuid: acccea2f30d8b09eb043308620bcbcda22f2c79d
type: Code_Defect
status: Closed
subsystem: Client_Side
priority: Immediate
severity: Critical
foundin: 2.0 and 2.1 beta
private_contact: 759ab61b9936788c061ef76c800ecbd540359286
resolution: Rejected
title: Errors on parsing Hydra (a.ka. LinkSmart) WSDL
assigned_to: unassigned
comment:
  The following
  snippet returns errors on both the 2.0 and 2.1 (beta) downloads from
  the web site.

  set disco_wsdl "http://hydra.cnet.se:8080/8/PlugWiseSwitchWS?wsdl"
  set p_svc [WS::Client::GetAndParseWsdl $disco_wsdl]
  puts $p_svc

  On 2.1 (as of website download at http://core.tcl.tk/tclws/wiki?name=Downloads)
  I get the following:


  key "Client" not known in dictionary
       while executing
  "dict get $typeInfo $mode $service"
       (procedure "::WS::Utils::GetServiceTypeDef" line 7)
       invoked from within
  "::WS::Utils::GetServiceTypeDef Client $serviceName"
       (procedure "ParseWsdl" line 74)
       invoked from within
  "ParseWsdl [::http::data $token] -headers $headers -serviceAlias
  $serviceAlias"
       (procedure "::WS::Client::GetAndParseWsdl" line 19)
       invoked from within
  "::WS::Client::GetAndParseWsdl $disco_wsdl"
       invoked from within
  "set p_svc [::WS::Client::GetAndParseWsdl $disco_wsdl]"
       (file "threshold.tcl" line 8)


  Using the 2.0 release, I get the following instead:


  missing value to go with key
       while executing
  "dict set serviceInfo targetNamespace $tns $xns"
       (procedure "::WS::Utils::parseScheme" line 18)
       invoked from within
  "::WS::Utils::parseScheme Client $baseUrl $schemaNode $serviceName
  serviceInfo tnsCount"
       (procedure "parseTypes" line 10)
       invoked from within
  "parseTypes $wsdlNode $serviceName serviceInfo"
       (procedure "parseService" line 39)
       invoked from within
  "parseService $wsdlNode $serviceNode $serviceAlias $tnsDict"
       (procedure "buildServiceInfo" line 20)
       invoked from within
  "buildServiceInfo $wsdlNode $nsDict $serviceInfo $serviceAlias"
       (procedure "ParseWsdl" line 59)
       invoked from within
  "ParseWsdl [::http::data $token] -headers $headers -serviceAlias
  $serviceAlias"
       (procedure "::WS::Client::GetAndParseWsdl" line 19)
       invoked from within
  "::WS::Client::GetAndParseWsdl $disco_wsdl"
       invoked from within
  "set p_svc [::WS::Client::GetAndParseWsdl $disco_wsdl]"
       (file "threshold.tcl" line 8)


  The WSDL sent back by Hydra is as follows:
  <wsdl:definitions name="BasicSwitchWS" targetNamespace="http://tempuri.org/"><wsdl:types><xsd:schema targetNamespace="http://tempuri.org/Imports"><xsd:import schemaLocation="http://192.168.9.15:8080/8/PlugWiseSwitchWS?xsd=xsd0" namespace="http://tempuri.org/"/><xsd:import schemaLocation="http://192.168.9.15:8080/8/PlugWiseSwitchWS?xsd=xsd1" namespace="http://schemas.microsoft.com/2003/10/Serialization/"/></xsd:schema></wsdl:types><wsdl:message name="IHydraBasicSwitchWSService_TurnOn_InputMessage"><wsdl:part name="parameters" element="tns:TurnOn"/></wsdl:message><wsdl:message name="IHydraBasicSwitchWSService_TurnOn_OutputMessage"><wsdl:part name="parameters" element="tns:TurnOnResponse"/></wsdl:message><wsdl:message name="IHydraBasicSwitchWSService_TurnOff_InputMessage"><wsdl:part name="parameters" element="tns:TurnOff"/></wsdl:message><wsdl:message name="IHydraBasicSwitchWSService_TurnOff_OutputMessage"><wsdl:part name="parameters" element="tns:TurnOffResponse"/></wsdl:message><wsdl:message name="IHydraBasicSwitchWSService_GetSwitchStatus_InputMessage"><wsdl:part name="parameters" element="tns:GetSwitchStatus"/></wsdl:message><wsdl:message name="IHydraBasicSwitchWSService_GetSwitchStatus_OutputMessage"><wsdl:part name="parameters" element="tns:GetSwitchStatusResponse"/></wsdl:message><wsdl:message name="IHydraBasicSwitchWSService_GetCurrentPowerConsumption_InputMessage"><wsdl:part name="parameters" element="tns:GetCurrentPowerConsumption"/></wsdl:message><wsdl:message name="IHydraBasicSwitchWSService_GetCurrentPowerConsumption_OutputMessage"><wsdl:part name="parameters" element="tns:GetCurrentPowerConsumptionResponse"/></wsdl:message><wsdl:message name="IHydraBasicSwitchWSService_GetMaxPowerConsumption_InputMessage"><wsdl:part name="parameters" element="tns:GetMaxPowerConsumption"/></wsdl:message><wsdl:message name="IHydraBasicSwitchWSService_GetMaxPowerConsumption_OutputMessage"><wsdl:part name="parameters" element="tns:GetMaxPowerConsumptionResponse"/></wsdl:message><wsdl:message name="IHydraBasicSwitchWSService_GetCurrentEnergyConsumption_InputMessage"><wsdl:part name="parameters" element="tns:GetCurrentEnergyConsumption"/></wsdl:message><wsdl:message name="IHydraBasicSwitchWSService_GetCurrentEnergyConsumption_OutputMessage"><wsdl:part name="parameters" element="tns:GetCurrentEnergyConsumptionResponse"/></wsdl:message><wsdl:portType name="IHydraBasicSwitchWSService"><wsdl:operation name="TurnOn"><wsdl:input wsaw:Action="http://tempuri.org/IHydraBasicSwitchWSService/TurnOn" message="tns:IHydraBasicSwitchWSService_TurnOn_InputMessage"/><wsdl:output wsaw:Action="http://tempuri.org/IHydraBasicSwitchWSService/TurnOnResponse" message="tns:IHydraBasicSwitchWSService_TurnOn_OutputMessage"/></wsdl:operation><wsdl:operation name="TurnOff"><wsdl:input wsaw:Action="http://tempuri.org/IHydraBasicSwitchWSService/TurnOff" message="tns:IHydraBasicSwitchWSService_TurnOff_InputMessage"/><wsdl:output wsaw:Action="http://tempuri.org/IHydraBasicSwitchWSService/TurnOffResponse" message="tns:IHydraBasicSwitchWSService_TurnOff_OutputMessage"/></wsdl:operation><wsdl:operation name="GetSwitchStatus"><wsdl:input wsaw:Action="http://tempuri.org/IHydraBasicSwitchWSService/GetSwitchStatus" message="tns:IHydraBasicSwitchWSService_GetSwitchStatus_InputMessage"/><wsdl:output wsaw:Action="http://tempuri.org/IHydraBasicSwitchWSService/GetSwitchStatusResponse" message="tns:IHydraBasicSwitchWSService_GetSwitchStatus_OutputMessage"/></wsdl:operation><wsdl:operation name="GetCurrentPowerConsumption"><wsdl:input wsaw:Action="http://tempuri.org/IHydraBasicSwitchWSService/GetCurrentPowerConsumption" message="tns:IHydraBasicSwitchWSService_GetCurrentPowerConsumption_InputMessage"/><wsdl:output wsaw:Action="http://tempuri.org/IHydraBasicSwitchWSService/GetCurrentPowerConsumptionResponse" message="tns:IHydraBasicSwitchWSService_GetCurrentPowerConsumption_OutputMessage"/></wsdl:operation><wsdl:operation name="GetMaxPowerConsumption"><wsdl:input wsaw:Action="http://tempuri.org/IHydraBasicSwitchWSService/GetMaxPowerConsumption" message="tns:IHydraBasicSwitchWSService_GetMaxPowerConsumption_InputMessage"/><wsdl:output wsaw:Action="http://tempuri.org/IHydraBasicSwitchWSService/GetMaxPowerConsumptionResponse" message="tns:IHydraBasicSwitchWSService_GetMaxPowerConsumption_OutputMessage"/></wsdl:operation><wsdl:operation name="GetCurrentEnergyConsumption"><wsdl:input wsaw:Action="http://tempuri.org/IHydraBasicSwitchWSService/GetCurrentEnergyConsumption" message="tns:IHydraBasicSwitchWSService_GetCurrentEnergyConsumption_InputMessage"/><wsdl:output wsaw:Action="http://tempuri.org/IHydraBasicSwitchWSService/GetCurrentEnergyConsumptionResponse" message="tns:IHydraBasicSwitchWSService_GetCurrentEnergyConsumption_OutputMessage"/></wsdl:operation></wsdl:portType><wsdl:binding name="BasicHttpBinding_IHydraBasicSwitchWSService" type="tns:IHydraBasicSwitchWSService"><soap:binding transport="http://schemas.xmlsoap.org/soap/http"/><wsdl:operation name="TurnOn"><soap:operation soapAction="http://tempuri.org/IHydraBasicSwitchWSService/TurnOn" style="document"/><wsdl:input><soap:body use="literal"/></wsdl:input><wsdl:output><soap:body use="literal"/></wsdl:output></wsdl:operation><wsdl:operation name="TurnOff"><soap:operation soapAction="http://tempuri.org/IHydraBasicSwitchWSService/TurnOff" style="document"/><wsdl:input><soap:body use="literal"/></wsdl:input><wsdl:output><soap:body use="literal"/></wsdl:output></wsdl:operation><wsdl:operation name="GetSwitchStatus"><soap:operation soapAction="http://tempuri.org/IHydraBasicSwitchWSService/GetSwitchStatus" style="document"/><wsdl:input><soap:body use="literal"/></wsdl:input><wsdl:output><soap:body use="literal"/></wsdl:output></wsdl:operation><wsdl:operation name="GetCurrentPowerConsumption"><soap:operation soapAction="http://tempuri.org/IHydraBasicSwitchWSService/GetCurrentPowerConsumption" style="document"/><wsdl:input><soap:body use="literal"/></wsdl:input><wsdl:output><soap:body use="literal"/></wsdl:output></wsdl:operation><wsdl:operation name="GetMaxPowerConsumption"><soap:operation soapAction="http://tempuri.org/IHydraBasicSwitchWSService/GetMaxPowerConsumption" style="document"/><wsdl:input><soap:body use="literal"/></wsdl:input><wsdl:output><soap:body use="literal"/></wsdl:output></wsdl:operation><wsdl:operation name="GetCurrentEnergyConsumption"><soap:operation soapAction="http://tempuri.org/IHydraBasicSwitchWSService/GetCurrentEnergyConsumption" style="document"/><wsdl:input><soap:body use="literal"/></wsdl:input><wsdl:output><soap:body use="literal"/></wsdl:output></wsdl:operation></wsdl:binding><wsdl:service name="BasicSwitchWS"><wsdl:port name="BasicHttpBinding_IHydraBasicSwitchWSService" binding="tns:BasicHttpBinding_IHydraBasicSwitchWSService"><soap:address location="http://192.168.9.15:8080/8/PlugWiseSwitchWS"/></wsdl:port></wsdl:service></wsdl:definitions>

  <hr /><i>gwlester added on 2011-12-27 15:56:41 UTC:</i><br />
  I need to rejected Tclws bug http://core.tcl.tk/tclws/tktview?name=acccea2f30.

  The problem is with the WSDL.  It attempts to import the following Xschema files:

  <ul>
  <li>http://192.168.9.15:8080/8/PlugWiseSwitchWS?xsd=xsd0
  <li>http://192.168.9.15:8080/8/PlugWiseSwitchWS?xsd=xsd1
  </ul>

  The problem is that the locations are not routable, so the code can not download the type definitions.

  Please complain to the WSDL provider.


tkt_uuid: b15d09a403b0a3edd1e0f130999d4d395d3f6a7a
type: Documentation
status: Closed
subsystem: Server_Side
priority: Immediate
severity: Cosmetic
private_contact: 406c91ba5368ba20faaaa060306e8f8c3d6be282
resolution: Fixed
title: Grammar change
assigned_to: gerald
comment:
  http://core.tcl.tk/tclws/wiki?name=WSServer+Server+Side

  but rather is designed be a "module" of TclHttpd

  should be:

  but rather is designed to be a "module" of TclHttpd

  <hr /><i>gwlester added on 2012-09-27 03:06:02 UTC:</i><br />
  Fixed in version 2.2.9


tkt_uuid: ce7126364f69ce35b32dd1e8b65c29e9f56a59ea
type: Feature_Request
status: Closed
subsystem: Utilities
priority: Immediate
severity: Minor
foundin: 1.4.1
private_contact: 582b61b01c28772572a4036587ff671d73c1245e
resolution: Fixed
title: Generate dictionary "template" of data types
assigned_to: gerald
comment:
  Ad a call that will generate a "template" dictionary for a data type.  This will make it easier for people to understand the dictionary structure they have to generate or process.


tkt_uuid: ced827a9da85531303509476f60a20ddd91e3458
type: Code_Defect
status: Closed
subsystem: Client_Side
priority: Immediate
severity: Important
foundin: 2.0.0
private_contact: b6ad0939900a5ce2264118edb286f607cff895a2
resolution: Fixed
title: Client: Convert XML to UTF-8
assigned_to: gerald
comment:
  It's not better when the header in the xml is set to utf-8 then also convert the xml-data to utf-8?
  in the ClientSide.tcl there it hav 3 parts where this line:

  <verbatim>
  [$doc asXML -indent none -doctypeDeclaration 0]
  </verbatim>

  must be replaced with this line:

  <verbatim>
  [encoding convertto utf-8 [$doc asXML -indent none -doctypeDeclaration 0]]
  </verbatim>

  Best wishes Marc Ziegenhagen


tkt_uuid: d24ff9273b3fa9ae364117c655339f0cf6dc35be
type: Code_Defect
status: Closed
subsystem: Client_Side
priority: Immediate
severity: Cosmetic
foundin: trunk 2011-09-08
private_contact: 5ef84f1ed636fd4b80333e656cf7dfe1164a9802
resolution: Fixed
title: cannot source echo example
assigned_to: unassigned
comment:
  Please do not "exit" from the examples.
  (Found in Examples/Echo/CallEchoWebService.tcl)

  This prevents sourcing from another context.
  Use return (or nothing) instead.

  <hr /><i>gwlester added on 2012-01-06 03:56:27 UTC:</i><br />
  Fixed in 2.1.3


tkt_uuid: d5a1d9fa759a376989c8863f6cf53c5d9eec3540
type: Code_Defect
status: Closed
subsystem: Client_Side
priority: Immediate
severity: Severe
foundin: 2.1.2
private_contact: 2aaa286f07c20b4ef15315022e1a387590051891
resolution: Fixed
title: Invalid command name ::WS::Client::GetNameSpace
assigned_to: unassigned
comment:
  Procedure GetNameSpace used in Utils.tcl is missing...

  <hr /><i>gwlester added on 2012-01-06 03:57:15 UTC:</i><br />
  Fixed in 2.1.3


tkt_uuid: dadda5b3e53b04510404b09aab6181702f321397
type: Feature_Request
status: Closed
subsystem: Server_Side
priority: Immediate
severity: Minor
resolution: Fixed
title: Way to include custom CSS stylesheet in HTML documentation
comment:
  To improve the appearance of visual consistency of the auto-generated HTML documentation, there should be a new configuration parameter to allow a custom CSS stylesheet to be emitted in the HTML head section.

  <hr /><i>bovine added on 2011-03-10 01:10:23 UTC:</i><br />
  Proposed patch at http://pastebin.com/rHTct7KN

  <hr /><i>bovine added on 2011-03-16 22:39:32 UTC:</i><br />
  committed


tkt_uuid: ebd3d463958367924a32077d6c0aa6d59f17505f
type: Code_Defect
status: Closed
subsystem: Utilities
priority: Immediate
severity: Important
foundin: 2.0
private_contact: a097d22e4f35ccca4620f07af027140f683f58a9
resolution: Addition_Info_Need
title: key "type" not known in dictionary during Client::DoCall
assigned_to: gerald
comment:
  I am using the WS::Client 2.0.0 version. Tcl 8.6b1 on linux.

  I get the following error attempting to use the DoCall. I am not use if I am doing something wrong or there is an issue with the lib. 

  <verbatim>
  package require WS::Client
  set url "http://s3.amazonaws.com/ec2-downloads/2011-02-28.ec2.wsdl"
  set x [::WS::Client::GetAndParseWsdl $url]
  ::WS::Client::LoadParsedWsdl $x
  ::WS::Client::DoCall AmazonEC2 DescribeImages {}

  [ec2-user@ip-10-122-234-141 ~]$ bin/tclsh ec2_parse_wdsl2.tcl
  key "type" not known in dictionary
      while executing
  "dict get $itemDef type"
      (procedure "::WS::Utils::convertDictToType" line 36)
      invoked from within
  "::WS::Utils::convertDictToType Client $serviceName $doc $reply $argList $xns:$msgType"
      (procedure "buildDocLiteralCallquery" line 58)
      invoked from within
  "buildDocLiteralCallquery $serviceName $operationName $url $argList"
      (procedure "buildCallquery" line 10)
      invoked from within
  "buildCallquery $serviceName $operationName $url $argList"
      (procedure "::WS::Client::DoCall" line 13)
      invoked from within
  "::WS::Client::DoCall AmazonEC2 DescribeImages {}"
      (file "ec2_parse_wdsl2.tcl" line 5)
  </verbatim>

  <hr /><i>anonymous added on 2011-04-09 22:22:02 UTC:</i><br />
  I also attempted with version 2.0.1.


tkt_uuid: f1d8afed96c8b1ac9d8d830907cee24f93eedb3e
type: Feature_Request
status: Closed
subsystem: Server_Side
priority: Immediate
severity: Important
foundin: 1.4.0
private_contact: 582b61b01c28772572a4036587ff671d73c1245e
resolution: Fixed
title: Add Client side routine(s) to introspect and override WSDL
assigned_to: gerald
comment:
  Add the ability to introspect and change features of a WSDL after it is parsed.  In particular the location URL of the server needs to be able to be queried and overridden.  Also the ability to see the namespace settings should prove useful.


tkt_uuid: f73f1a68c5593b254f16ba4c3ff97f911053ecbd
type: Feature_Request
status: Closed
subsystem: Client_Side
priority: Immediate
severity: Important
foundin: 2.0.0
private_contact: 582b61b01c28772572a4036587ff671d73c1245e
resolution: Fixed
title: Add client side support for overloaded operations
assigned_to: gerald
comment:
  WSDL 1.1 allows for operations to be overloaded but WS::Client does not support this.  Please add support for operations to be overloaded.

  Note -- WSDL 1.2/2.0 does not allow for this.

  <hr /><i>gwlester added on 2011-04-28 03:16:59 UTC:</i><br />
  Will add support for overloaded operations along with an option to forbid operation overloading.


tkt_uuid: f7be84f4102cfe02758508e8449d21cc6f01f530
type: Code_Defect
status: Closed
subsystem: Utilities
priority: Immediate
severity: Critical
foundin: 2.2.8
private_contact: 582b61b01c28772572a4036587ff671d73c1245e
resolution: Open
title: Complex type definition is ignored if an element definition with the same name exists.
assigned_to: gerald
comment:
  Complex type definition is ignored if an element definition with the same name exists.

  <hr /><i>gwlester added on 2012-10-10 01:13:22 UTC:</i><br />
  Fixed in 2.2.9.


tkt_uuid: f883d429385d3483b83666ea46e736edbd71766c
type: Feature_Request
status: Closed
subsystem: Utilities
priority: Immediate
severity: Important
foundin: trunk 2011-09-08
private_contact: 5ef84f1ed636fd4b80333e656cf7dfe1164a9802
resolution: Rejected
title: add support for utf-16
assigned_to: unassigned
comment:
  currently parsing of <verbatim><?xml version="1.0" encoding="UTF-16"?></verbatim> fails

  <hr /><i>gwlester added on 2012-01-19 05:07:39 UTC:</i><br />
  Tcl does not support UTF-16 in 8.6 and below.


tkt_uuid: fa2d29cfaadec0398b6edea11f4514da2a639dcd
type: Code_Defect
status: Closed
subsystem: Client_Side
priority: Immediate
severity: Minor
foundin: 2.2.7 / 2.2.8
private_contact: 2aaa286f07c20b4ef15315022e1a387590051891
resolution: Fixed
title: Pre-Parsed WSDL error: key "contentType" not known in dictionary
assigned_to: gerald
comment:
  After loading a pre-parsed wsdl file, which I believe was created using an earlier version of the WebServices package, the error message:
  <verbatim>key "contentType" not known in dictionary     
  while executing "dict get $serviceInfo contentType"     (procedure "buildDocLiteralCallquery" line 79)     
  invoked from within "buildDocLiteralCallquery $serviceName $operationName $url $argList"     (procedure "buildCallquery" line 16)     
  invoked from within "buildCallquery $serviceName $operationName $url $argList"     (procedure "::WS::Client::DoCall" line 16)     
  invoked from within "::WS::Client::DoCall $serviceName $operationName $argList"
  </verbatim>appears. If I use the following config calls I can workaround this.
  <verbatim>
  ::WS::Client::Config $servicename contentType "text/xml;charset=utf-8"
  ::WS::Client::Config $servicename skipLevelOnReply  0
  </verbatim>
  It would appear dictionary items are not being initialized. 
  Thanks, Mark

  <hr /><i>gwlester added on 2012-09-27 02:54:57 UTC:</i><br />
  Fixed in 2.2.9.


tkt_uuid: e21082e7a4d3a39e9e605188a56b867db18c9585
type: Code_Defect
status: Verified
subsystem: Client_Side
priority: Immediate
severity: Critical
foundin: 2.0.0
private_contact: f0e2312a244c99b69b66ff52a743015292c5af63
resolution: Open
title: Bad request generated when action present in operation
assigned_to: unassigned
comment:
  Bad request generated when action present in operation.  It appears to generate an extra level specifying the operation.  When the action is present that level is not needed.

  <hr /><i>gwlester added on 2011-04-09 15:33:52 UTC:</i><br />
  Added ::WS::Client::Config option skipLevelWhenActionPresent to control the behavior.  This is a boolean option.  When "true" the outer most level, which normally specifies the operation, is skipped.

  I chose to do it this way since I was not positive that some servers may require it.  The default value is "false" to give backwardly compatible behavior.


tkt_uuid: 003cb40b34bc70d0a15e5207387457af7ef2f3b9
type: Documentation
status: Closed
subsystem: Embedded_Mode_Specific
priority: Immediate
severity: Cosmetic
foundin: 18c310afd8
private_contact: 0f366eb3e9e2fcab52b8ebacd197db9047186a5f
resolution: Fixed
title: Order of ::WS::Server::Service and ::WS::Embeded::Listen not respected in "EchoEmbeddedService.tcl"
assigned_to: gerald
comment:
  I feel like moaning all the time to this great package.
  And it is my first use.

  On page
  [http://core.tcl.tk/tclws/wiki?name=WSServer+Server+Side]
  at the command parameters of ::WS::Server::Service, it is stated:
  <verbatim>
              -ports          - List of ports for embedded mode. Default: 80
                                      NOTE -- a call should be to
                                              ::WS::Embedded::Listen for each port
                                              in this list prior to this call
  </verbatim>

  In the example file "EchoEmbeddedService.tcl", the call to ::WS::Embedded::Listen is done ater the call to ::WS::Server::Service.

  What is the correct order of the calls ?

  I suppose, the example should be corrected...

  Thank you,
  Harald

  <hr /><i>gwlester added on 2012-10-30 22:16:14 UTC:</i><br />
  <p>Example is correct - documentation is wrong</p>

  <p>Scheduled for 2.3.0 (pre-conference) release.</p>


tkt_uuid: 22382a98289383bf87a5cc28686fe287352e1013
type: Code_Defect
status: Closed
subsystem: Utilities
priority: Immediate
severity: Critical
foundin: 2.2.9
private_contact: f050d6145061c01800e7334d1d9e09f65874f81a
resolution: Fixed
title: Service specific simple types do not work
assigned_to: gerald
comment:
  Service specific simple types do not work.  They are treated as complex types.

  <hr /><i>gwlester added on 2012-10-16 22:11:43 UTC:</i><br />
  Fixed in 2.3.0


tkt_uuid: 4d55a803fd05091bdd764d1738ce02c33bd13b34
type: Feature_Request
status: Closed
subsystem: Client_Side
priority: Immediate
severity: Important
foundin: 2.3.0
private_contact: f050d6145061c01800e7334d1d9e09f65874f81a
resolution: Fixed
title: Make namespace options client side specific
assigned_to: gerald
comment:
  Have the various namespace options that are "global" in the WS::Utils package be specific to a service in the WS::Client package.


tkt_uuid: 56a3f0004940e8baaae18770f77027f84f9872d5
type: Documentation
status: New
subsystem: Utilities
priority: Immediate
severity: Important
foundin: 2.*
private_contact: 2ccc20c12d68b9687ccb299dd85d4c164ff874ac
resolution: Open
title: Correct public/private tagging
assigned_to: unassigned
comment:
  Correct public/private tagging in code and document all public procedures in the HTML documentation.

  <hr /><i>gwlester added on 2013-01-04 17:55:15 UTC:</i><br />
  This will be scheduled for the 3.0 release.


tkt_uuid: 60a6c899dfcd4b75eb4aafab5289d05bc3239657
type: Documentation
status: Closed
subsystem: Embedded_Mode_Specific
priority: Immediate
severity: Cosmetic
foundin: 18c310afd8
private_contact: 0f366eb3e9e2fcab52b8ebacd197db9047186a5f
resolution: Fixed
title: Embedding page typo: ::WS::Embeded::Start insead ::WS::Embeded::Stop
assigned_to: gerald
comment:
  On page
  http://core.tcl.tk/tclws/wiki?name=Embedding
  paragraph "Stop Listening for Requests",

  the text "::WS::Embeded::Start"
  should be replaced by "::WS::Embeded::Stop"

  <hr /><i>gwlester added on 2012-10-30 22:14:38 UTC:</i><br />
  Scheduled for 2.3.0 (pre-conference) release.


tkt_uuid: 66fb3aeef5977ed3d7d527b48433e81520608104
type: Code_Defect
status: Closed
subsystem: Embedded_Mode_Specific
priority: Immediate
severity: Critical
foundin: 1ba41a6993
private_contact: 0f366eb3e9e2fcab52b8ebacd197db9047186a5f
resolution: Fixed
title: Request header parse error in embedded server
assigned_to: gerald
comment:
  A client reported an error with C# and the embedded web-server.
  I looked to the code and hot-fixed it. But I don't understand was is
  original intended by the current code.

  Here is the error message:
  <verbatim>
  Error Info: unmatched open quote in list
      while executing
  "join $data :"
  </verbatim>
  in Embedded.tcl line 648.

  The routine should read the header fields of a http request.
  <verbatim>
          for {set c 0} {[gets $sock temp]>=0 && $temp ne "\r" && $temp
  ne ""} {incr c} {
              lassign [split $temp :] key data
              dict set request header [string tolower $key] [string trim
  [join $data :]]
          }
  </verbatim>
  O.k., a header is read, key and data is split on ":" and then, the
  data is joined with ":".
  What is the "join $data :" for ?

  I looked to
  [http://en.wikipedia.org/wiki/List_of_HTTP_header_fields]
  and did not find any header in list form. Anything is ","-separated.

  I looked to the following code. There apears to be no usage of a ":"-
  joined list.
  There are 2 uses of the subdict "request header":
  <verbatim>
  1. [dict get $request header transfer-encoding] eq "chunked"
  2. [dict get $request header content-length]
  </verbatim>
  The first compares a string to a value, so no ":".
  The second must result in an entier, so no space for ":" neither.

  In case of a POST request, the dict "request" is assiged to the array
  query:
  <verbatim>
  set query(headers) $request
  </verbatim>
  which is then passed to the handler procedure:
  <verbatim>
  handler $port $sock $ip [array get query] $auth
  </verbatim>
  Within handler, it is assigned to the array req:
  <verbatim>
  array set req $reqstring
  </verbatim>
  The subarray "headers" is never used here.

  But the array query was also saved to a namespace variable
  <verbatim>
  upvar #0 ::WS::Embeded::Httpd$sock query
  </verbatim>
  There, the array index "headers" is never used neither
  ---
  Well, my hotfix is to just replace
  <verbatim>
  [join $data :"]
  </verbatim>
  by
  <verbatim>
  $data
  </verbatim>
  , leading
  in line 648
  <verbatim>
              dict set request header [string tolower $key] [string trim $data] 
  </verbatim>


tkt_uuid: 68310fe3bd7b6228983f30eaf2d071624e154599
type: Code_Defect
status: Closed
subsystem: Embedded_Mode_Specific
priority: Immediate
severity: Critical
foundin: 1ba41a6993
private_contact: 0f366eb3e9e2fcab52b8ebacd197db9047186a5f
resolution: Fixed
title: Content Length wrong
assigned_to: gerald
comment:
  The transmitted Content-length is not the length of the utf-8 binary data but the utf-8 character count. Also, translated line-endings \n -> \r\n are only counted as one byte.

  The issue arised with Internet Explorer or MS-Visual Studio as client which resulted in a truncated wsdl.xml and gave spurious parsing errors like "unclosed string".

  When calling the wsdl with firefox, the file is not truncated.

  The following patch uses <verbatim>string length [encoding convertto $data]</verbatim> to get the data length and sends it in binary translation.
  <verbatim>
  --- C:/Users/oehhar/AppData/Local/Temp/Embedded.tcl-rev1992.svn000.tmp.tcl	Sun Oct 28 14:35:20 2012
  +++ C:/oehhar/elmicron/projekte/el1043_elmiprint/elmiprint.vfs/ilib/tclws/Embedded.tcl	Tue Oct 30 10:51:44 2012
  @@ -570,14 +570,16 @@
               $portInfo($port,logger) [list 404 b $msg]
               respond $sock 404 Error $msg
           } else {
  -            set data [dict get $req(reply) data]
  -            set reply "HTTP/1.0 [dict get $req(reply) code] ???\n"
  -            append reply "Content-Type: [dict get $req(reply) type]; charset=UTF-8\n"
  -            append reply "Connection: close\n"
  -            append reply "Content-length: [string length $data]\n"
  -            append reply "\n"
  +            set data [encoding convertto utf-8 [dict get $req(reply) data]]
  +            set reply "HTTP/1.0 [dict get $req(reply) code] ???\r\n"
  +            append reply "Content-Type: [dict get $req(reply) type]; charset=UTF-8\r\n"
  +            append reply "Connection: close\r\n"
  +            append reply "Content-length: [string length $data]\r\n"
  +            append reply "\r\n"
               append reply $data
  +            chan configure $sock -translation binary
               puts -nonewline $sock $reply
  +            chan configure $sock -translation crlf
               $portInfo($port,logger) ok
           }
       } else {
  </verbatim>

  <hr /><i>gwlester added on 2012-10-30 22:13:25 UTC:</i><br />
  Scheduled for 2.3.0 (pre-conference) release.


tkt_uuid: 9143f6d463cf3ee20a3e7b84ecf90a3d9eb4bd14
type: Code_Defect
status: Closed
subsystem: Client_Side
priority: Whenever
severity: Minor
foundin: 1ba41a6993
private_contact: 0f366eb3e9e2fcab52b8ebacd197db9047186a5f
resolution: Fixed
title: Missing square brackets in Examples/Math/CallMathWebService.tcl
assigned_to: gerald
comment:
  File "Examples/Math/CallMathWebService.tcl" line 125 says:
  <verbatim>
  set resultsDict ::WS::Client::DoCall wsMathExample EvaluatePolynomial $input
  </verbatim>

  There are "[]" missing around the function. This should be:
  <verbatim>
  set resultsDict [::WS::Client::DoCall wsMathExample EvaluatePolynomial $input]
  </verbatim>

  <hr /><i>gwlester added on 2012-10-30 22:19:37 UTC:</i><br />
  Scheduled for 2.3.0 (pre-conference) release.


tkt_uuid: 98ce08579d9b6831675c55c2bc19c23b345a6e32
type: Feature_Request
status: Closed
subsystem: Embedded_Mode_Specific
priority: Immediate
severity: Minor
foundin: 1ba41a6993
private_contact: 0f366eb3e9e2fcab52b8ebacd197db9047186a5f
resolution: Fixed
title: Return socket hadle by ::WS::Embeded::Listen
assigned_to: gerald
comment:
  I would find it useful, if ::WS::Embeded::Listen could return the socket id of the opened listening socket.

  Then, the socket might be closed if no listening required and reopened by a second call.

  I use this when the user reconfigures any parameters like the listening port.

  Proposed patch:
  <verbatim>
  --- C:/Users/oehhar/AppData/Local/Temp/Embedded.tcl-revBASE.svn000.tmp.tcl	Thu Oct 25 11:28:41 2012
  +++ C:/oehhar/elmicron/projekte/el1043_elmiprint/elmiprint.vfs/ilib/tclws/Embedded.tcl	Thu Oct 25 13:27:04 2012
  @@ -37,7 +37,7 @@
   package require base64
   package require html
   
  -package provide WS::Embeded 2.1.3
  +package provide WS::Embeded 2.1.4
   
   namespace eval ::WS::Embeded {
   
  @@ -165,7 +165,7 @@
   #       realm    -- The security realm
   #       logger   -- A logging routines for errors
   #
  -# Returns :     Nothing
  +# Returns :     socket handle
   #
   # Side-Effects :
   #       None
  @@ -214,10 +214,10 @@
               -tls1 0 \
               -require 0 \
               -request 0
  -        ::tls::socket -server [list ::WS::Embeded::accept $port] $port
  +        return [::tls::socket -server [list ::WS::Embeded::accept $port] $port]
       } else {
           $portInfo($port,logger) [list socket -server [list ::WS::Embeded::accept $port] $port]
  -        socket -server [list ::WS::Embeded::accept $port] $port
  +        return [socket -server [list ::WS::Embeded::accept $port] $port]
       }
   }

  </verbatim>

  Thank you for the brilliant package,
  Harald

  <hr /><i>gwlester added on 2012-10-30 22:15:21 UTC:</i><br />
  Scheduled for 2.3.0 (pre-conference) release.


tkt_uuid: 9f433089d007b1951df1b356b008e2ffd3c41150
type: Documentation
status: Closed
subsystem: Server_Side
priority: Immediate
severity: Minor
foundin: 18c310afd8
private_contact: 0f366eb3e9e2fcab52b8ebacd197db9047186a5f
resolution: Fixed
title: ::WS::Server::ServiceProc argument "NameInfo" errorneously documented as 3 element list
assigned_to: gerald
comment:
  Page [http://core.tcl.tk/tclws/wiki?name=WSServer+Server+Side] defines the paremeter "NameInfo" of command "::WS::Server::ServiceProc" as a 3 element list:

  <verbatim>
       NameInfo        -- List of three elements:
                               1) OperationName -- the name of the operation
                               2) ReturnType    -- the type of the procedure return,
                                                   this can be a simple or complex type
                               3) Description   -- description of the return method
  </verbatim>

  The example in "EchoEmbeddedService.tcl" and source code inspection seams to lead to the following definition:
  <verbatim>
       NameInfo        -- List of two elements:
                               1) OperationName -- the name of the operation
                               2) ReturnType    -- A list of:
                                      {type typeName comment commentString}
                                           typeName can be any simple or defined type.
                                           commentString is a quoted string describing the field
  </verbatim>

  <hr /><i>gwlester added on 2012-10-30 22:17:59 UTC:</i><br />
  Scheduled for 2.3.0 (pre-conference) release.


tkt_uuid: 9fc2aafc700ba58d73d5313f99490fce53e7655c
type: Code_Defect
status: Closed
subsystem: Client_Side
priority: Immediate
severity: Critical
foundin: 2.3.3
private_contact: f050d6145061c01800e7334d1d9e09f65874f81a
resolution: Fixed
title: Target (aka default) namespace missing on client request
assigned_to: gerald
comment:
  Target (aka default) namespace missing on client request.

  <hr /><i>gwlester added on 2013-04-25 20:20:52 UTC:</i><br />
  Fixed in 2.3.4


tkt_uuid: a949d84bb5792f0f448fbe988d243f217f2debaa
type: Code_Defect
status: Closed
subsystem: Utilities
priority: Immediate
severity: Critical
foundin: 2.3.3
private_contact: f050d6145061c01800e7334d1d9e09f65874f81a
resolution: Fixed
title: Schema elements of xs:any not handled correctly
assigned_to: gerald
comment:
  The following construct is not handled correctly:
  <verbatim> 
  <xs:complexType name="MyType" mixed="true">
  		<xs:complexContent mixed="true">
  			<xs:extension base="xacml:EmptyBaseType">
  				<xs:sequence>
  					<xs:any namespace="##any" processContents="lax" minOccurs="0" maxOccurs="unbounded"/>
  				</xs:sequence>
  				<xs:attribute name="DataType" type="xs:anyURI" use="required"/>
  				<xs:anyAttribute namespace="##any" processContents="lax"/>
  			</xs:extension>
  		</xs:complexContent>
  	</xs:complexType>
  </verbatim> 

  When this occurs in a message, it should pass the contents of the MyType tag as XML without quoting.

  <hr /><i>gwlester added on 2013-05-27 23:44:30 UTC:</i><br />
  Fixed in version 2.3.4.


tkt_uuid: c4a71818df9b2c9e4137176724106189cde26f7f
type: Code_Defect
status: Closed
subsystem: Client_Side
priority: Immediate
severity: Critical
foundin: 2.3.5
private_contact: f050d6145061c01800e7334d1d9e09f65874f81a
resolution: Fixed
title: Namespaces local to elements in reply cause errors
assigned_to: gerald
comment:
  Namespaces local to elements in reply cause errors if parseInAttr is set to true.  For example:

  <verbatim> 
  <SomeElement xmlns:test="http:/some.where.net/a_namespace">
      This is the value
  </SomeElement>
  </verbatim>

  <hr /><i>gwlester added on 2013-06-01 20:02:17 UTC:</i><br />
  To be fixed in 2.3.6.


tkt_uuid: d89ec16caab1eada43a40981930392546bd2f3d3
type: Code_Defect
status: Closed
subsystem: Client_Side
priority: Immediate
severity: Critical
foundin: 2.3.2
private_contact: d8fa679182d399d26865731a52c39b2ba5a0bf14
resolution: Fixed
title: Interaction of nsOnChangeOnly and skipLevelWhenActionPresent options
assigned_to: gerald
comment:
  When both nsOnChangeOnly and skipLevelWhenActionPresent options are set, the "top" level is not tagged with the namespace alias nor is a default target namespace specified.

  <hr /><i>gwlester added on 2013-04-20 16:09:49 UTC:</i><br />
  To be fixed in 2.3.3


tkt_uuid: e189e76c82a751b4d18c8168373e74466114ddbc
type: Documentation
status: Closed
subsystem: Embedded_Mode_Specific
priority: Whenever
severity: Cosmetic
foundin: 18c310afd8
private_contact: 0f366eb3e9e2fcab52b8ebacd197db9047186a5f
resolution: Fixed
title: tcllib base64 and html missing on required packages list
assigned_to: gerald
comment:
  On page:
  http://core.tcl.tk/tclws/index
  paragraph "Packages Required"
  the tcllib package "base64" is missing as it is required in "Embedded.tcl".

  <hr /><i>oehhar added on 2012-10-27 13:50:33 UTC:</i><br />
  Also, tcllib html package is required

  <hr /><i>oehhar added on 2012-10-27 13:59:43 UTC:</i><br />
  The tcllib "html" package requires the tcllib packages "ncgi" and "fileutil".

  <hr /><i>gwlester added on 2012-10-30 22:19:10 UTC:</i><br />
  Scheduled for 2.3.0 (pre-conference) release.


tkt_uuid: e79b9ae0399a80edc552e78c2e432e887dca9df6
type: Feature_Request
status: Closed
subsystem: Utilities
priority: Immediate
severity: Important
foundin: 2.3.1
private_contact: 582b61b01c28772572a4036587ff671d73c1245e
resolution: Fixed
title: Handle polymorphic elements
assigned_to: gerald
comment:
  When an element has a xsi:type attribute (where xsi is http://www.w3.org/2001/XMLSchema-instance) the type specified by the attribute value should be used instead of the type defined for that element.

  <hr /><i>gwlester added on 2013-04-05 17:26:25 UTC:</i><br />
  Scheduled for fix in version 2.3.2

  <hr /><i>gwlester added on 2013-04-10 03:24:27 UTC:</i><br />
  Fixed in Release 2.3.2.  See documentation on handling of casting abstract to concrete types.


tkt_uuid: f6fdc489e738a378c2dc055ed01ef97ee86ca0d5
type: Feature_Request
status: New
subsystem: Utilities
priority: Immediate
severity: Critical
foundin: df85e4e49c
private_contact: 0f366eb3e9e2fcab52b8ebacd197db9047186a5f
resolution: Open
title: automatic coding/decoding of base64 by the framework
assigned_to: unassigned
comment:
  After this discussion on this clt thread:

  http://groups.google.com/group/comp.lang.tcl/browse_thread/thread/ebc5f76a126d58df#

  It would IMHO be helpful, if the framework would encode/decode variables of type binbase64 and binhex.

  <hr /><i>gwlester added on 2012-12-11 20:33:11 UTC:</i><br />
  The framework currently does not touch the format of anything elements.  If this is implemented it could be argued that other "types", e.g. date time, should also be passed/encoded according to the standards.  I have serious concerns about taking this step due to:
  <ol>
  <li>Concerns about impact on performance
  <li>Observed non-compliance by existing non-TclWs servers/clients with passed/encoded according to the standards.
  </ol>


tkt_uuid: ff67c5356f463a510d531032f07f3170e560a4cb
type: Code_Defect
status: Closed
subsystem: Utilities
priority: Immediate
severity: Critical
foundin: 1ba41a6993
private_contact: 0f366eb3e9e2fcab52b8ebacd197db9047186a5f
resolution: Fixed
title: Enter missing in checkin 1ba41a6993
assigned_to: gerald
comment:
  There is a newline character missin in fix 1ba41a6993 in file "Utilities.tcl" in row 933. Two lines are concatinated resulting in a runtime error.

  <hr /><i>gwlester added on 2012-10-30 22:20:01 UTC:</i><br />
  Scheduled for 2.3.0 (pre-conference) release.


tkt_uuid: bb105148c39909b424c4a4f8f5ab901f7006e68c
type: Code_Defect
status: Closed
subsystem: Client_Side
priority: Immediate
severity: Critical
foundin: 2.3.7
private_contact: bbed3cb3518c8d32ea417f8dadaddc953891d592
resolution: Open
title: values are wrapped in doubled tags in header and body
assigned_to: unassigned
comment:
  This is the WSDL:

  https://soap.easybill.de/soap.easybill.php?wsdl


  This is how the request should look like:
  <verbatim>
  <soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/" xmlns:web="http://www.easybill.de/webservice/" xmlns:cus="http://www.easybill.de/webservice/customer/">
     <soapenv:Header>
        <web:UserAgent>myUserAgent</web:UserAgent>
        <web:UserAuthKey>blablabla</web:UserAuthKey>
     </soapenv:Header>
     <soapenv:Body>
        <cus:SearchCustomersRequest></cus:SearchCustomersRequest>
     </soapenv:Body>
  </soapenv:Envelope>
  </verbatim>

  This is the generated request:

  <verbatim>
  <SOAP-ENV:Envelope xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/" xmlns:SOAP-ENC="http://schemas.xmlsoap.org/soap/encoding/" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xs="http://www.w3.org/2001/XMLSchema" xmlns="http://www.easybill.de/webservice/" xmlns:tns1="http://www.easybill.de/webservice/" xmlns:w="http://schemas.xmlsoap.org/wsdl/" xmlns:d="http://schemas.xmlsoap.org/wsdl/soap/" xmlns:tns2="http://www.easybill.de/webservice/customer/" xmlns:tns3="http://www.easybill.de/webservice/companyposition/" xmlns:tns4="http://www.easybill.de/webservice/document/">
    <SOAP-ENV:Header>
      <tns1:UserAuthKey>
        <tns1:UserAuthKey>blablabla</tns1:UserAuthKey>
      </tns1:UserAuthKey>
    </SOAP-ENV:Header>
    <SOAP-ENV:Body>
      <tns2:SearchCustomersRequest>
        <tns2:SearchCustomersRequest/>
      </tns2:SearchCustomersRequest>
    </SOAP-ENV:Body>
  </SOAP-ENV:Envelope>
  </verbatim>

  <hr /><i>anonymous added on 2014-09-11 08:36:35 UTC:</i><br />
  Resolved it with:

  ::WS::Client::Config $serviceName skipLevelWhenActionPresent 1
  ::WS::Client::Config $serviceName skipHeaderLevel 1


tkt_uuid: c06272a2f74b8850cb4e2e7d13474f4b55b250ac
type: Documentation
status: Fixed
subsystem: Client_Side
priority: Immediate
severity: Important
foundin: 2.3.5
private_contact: 3df9d284a4fe65c339f74d12d3ce7082a9e73ca0
resolution: Misconfiguration
title: namespace problems
assigned_to: gerald
comment:
  Hi.. I'm new to the SOAP Stuff so you might excuse the questions if the problem is trivial.. it is not to me.

  attached you can find a log from the WS Server comparing a call from soapUI and the non working code from tclws.

  how can I configure the client to make the calls as sopaUI?
  I guess the mai problem is the parameter which also contains the tns1:

  <tns1:projectName>MQB_B_XB16</tns1:projectName>
  should be
  <projectName>MQB_B_XB16</projectName>


  ######
  RIGHT:
  ######

  <inbound>
  <v3:setVehicleProject xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/" xmlns:v3="http://automation.vehiclefunction.vaudas.odis.volkswagen.de/V3.4">
           <projectName>MQB_B_XB16</projectName>
        </v3:setVehicleProject>
  </inbound>

  ######
  Wrong:
  ######

  <inbound>
  <tns1:setVehicleProject xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/" xmlns:tns8="http://localhost:8085/OdisAutomationService" xmlns:xs="http://www.w3.org/2001/XMLSchema" xmlns:tns5="http://www.w3.org/2007/05/addressing/metadata" xmlns:tns4="http://schemas.xmlsoap.org/ws/2004/09/policy" xmlns:tns3="http://www.w3.org/ns/ws-policy" xmlns:tns2="http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-wssecurity-utility-1.0.xsd" xmlns:tns1="http://automation.vehiclefunction.vaudas.odis.volkswagen.de/V3.4" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:d="http://schemas.xmlsoap.org/wsdl/soap/" xmlns:SOAP-ENC="http://schemas.xmlsoap.org/soap/encoding/">
  <tns1:projectName>MQB_B_XB16</tns1:projectName>
  </tns1:setVehicleProject>
  </inbound>

  <hr /><i>anonymous added on 2013-09-17 09:18:11 UTC:</i><br />
  found suppressTargetNS

  but also had to comment out the following lines that added the xmlns which was missinterpreted by the server and lead to problems

  ClientSide.tcl 2158ff:

  if {[dict exists $serviceInfo noTargetNs] && ![dict get $serviceInfo noTargetNs]} {
       $env setAttribute "xmlns" [dict get $xnsList tns1]
   }


tkt_uuid: 2b16ac75c53fe5745351a3f2ffa6bc4961e49fe3
type: Documentation
status: New
subsystem: Client_Side
priority: Immediate
severity: Important
foundin: 2.3.4
private_contact: b7af7a170b80670dd3b3cb10f3e833370282e1ae
resolution: Open
title: Making nested soap requests
assigned_to: unassigned
comment:
  This is the sample request I would like to make, to get the matching results from TABLE1 & TABLE2

  <verbatim>
  <soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/" xmlns:urn="urn:my:functions">
     <soapenv:Header/>
     <soapenv:Body>
        <urn:MY_TABLES>
           <!--You may enter the following 50 items in any order-->
           <TABLE1>
              <!--Zero or more repetitions:-->
              <item>
                 <!--Optional:-->
                 <FIELD1>%</FIELD1>
              </item>
           </TABLE1>

           <TABLE2>
              <!--Zero or more repetitions:-->
              <item>
                 <!--Optional:-->
                 <FIELD1>%</FIELD1>
              </item>
           </TABLE2>

           <TABLE1_FLAG>Y</TABLE1_FLAG>
           <TABLE2_FLAG>Y</TABLE2_FLAG>
        </urn:MY_TABLES>
     </soapenv:Body>
  </soapenv:Envelope>


  package require WS::Client
  package require WS::Utils

  set wsdlInfo [::WS::Client::GetAndParseWsdl "https://mytablesurl.com"]
  # The parsing happens successfully

  # But making a request as below throws me errors
  set argList {TABLE1 {item {FIELD1 %}} TABLE1_FLAG Y TABLE2 {item {FIELD1 %}} TABLE2_FLAG Y}
  puts [::WS::Client::DoCall MY_TABLESService MY_TABLES $argList]
  </verbatim>

  Error thrown
  <verbatim>
  can't read "simpleTypes(Client,Z_OSS_RFC_TABLESService,TABLE1)": no such element in array
      while executing
  "set xns $simpleTypes($mode,$service,$typeName)"
      (procedure "convertDictToType" line 30)
      invoked from within
  "convertDictToType $mode $service $doc $retNode $resultValue $itemType"
      (procedure "::WS::Utils::convertDictToType" line 196)
      invoked from within
  "::WS::Utils::convertDictToType Client $serviceName $doc $reply $argList $xns:$msgType $forceNs"
      (procedure "buildDocLiteralCallquery" line 81)
      invoked from within
  "buildDocLiteralCallquery $serviceName $operationName $url $argList"
      (procedure "buildCallquery" line 16)
      invoked from within
  "buildCallquery $serviceName $operationName $url $argList"
      invoked from within
  "::WS::Client::DoCall MY_TABLESService MY_TABLES $argList"
      invoked from within
  </verbatim>

  Please could you detail on how to make such nested SOAP requests?

  <hr /><i>gwlester added on 2014-01-08 23:05:04 UTC:</i><br />
  This has nothing to do with "nested tables" but rather it looks like something is not being understood in the WSDL (actually in the schema/type definition part of it).

  Please provide the WSDL so I can debug it.


tkt_uuid: 4765424bdf9f18e129106e34522eb7ca10e67a41
type: Feature_Request
status: Accepted
subsystem: Utilities
priority: Immediate
severity: Critical
foundin: 2.*
private_contact: 2ccc20c12d68b9687ccb299dd85d4c164ff874ac
resolution: Open
title: Drop support for Tcl 8.4
assigned_to: gerald
comment:
  Now that 8.6 is out, drop support for Tcl 8.4.

  This will require a roll of the major version number.

  <hr /><i>gwlester added on 2014-05-10 21:24:36 UTC:</i><br />
  With the next release support for 8.4 will be dropped. 

  This will likely cause the version to jump to 3.0.0


tkt_uuid: 805c828c82775cd5e4a2b400f1c43191cb426c95
type: Code_Defect
status: Open
subsystem: Client_Side
severity: Critical
foundin: 2.8.6
private_contact: 3f26b671025f94d592bebee5350534c4c7c9f992
title: DoCall: ActiveTcl Version 8.6 + WS Version 2.8.6 fails to get Complete Response
assigned_to: unassigned
comment:
  Gerald, 
  I am providing the Email content as the Bug Description. Email sent to you has complete details with all the trace files. 
  If you need any further help in this regards, please feel free to ping me at ln@ikanos.com


  Excerpt from Email:
  ------------------------------------
  From: Lakshminarayana Murthy 
  Sent: Wednesday, May 28, 2014 12:40 PM
  To: 'Gerald.Lester@KnG-Consulting.net'
  Cc: gerald.lester@gmail.com
  Subject: RE: Need help - Stuck with WSDL response parsing

  Gerald,
  Please find the update

  1.	8.6 + 8.3.4 – Works as per expectation
  2.	8.6 + ws2.3.8_Check-in [342697b2e8] – Fails with same error code reported
  3.	8.5.15.0 + ws2.3.8_Check-in [342697b2e8] – Fails with same error code reported

  Attachment contains the log for your reference.

  Thanks
  Lakshmi


