<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
  <head>
    <meta content="text/html; charset=ISO-8859-1"
      http-equiv="Content-Type">
  </head>
  <body bgcolor="#ffffff" text="#000000">
    Hi,<br>
    <br>
    On 09/09/2011 01:18 AM, Anthony Dass wrote:
    <blockquote
cite="mid:CA+rdb6Q=z5hBbeLVfa_C15-7z1-ZFBn-vti=wAMum-TTeoSZhA@mail.gmail.com"
      type="cite">
      <div class="gmail_quote">Hello Sascha and Ben,</div>
      <div class="gmail_quote"><br>
      </div>
      <div class="gmail_quote">Thank you very much for the quick and
        detailed answers. </div>
      <div class="gmail_quote"><br>
      </div>
      <div class="gmail_quote">
        In addition, when we tried to validate the message using the
        online validations - <a moz-do-not-send="true"
          href="http://www.xmlvalidation.com">http://www.xmlvalidation.com</a> we
        also see the type attribute :type="xsd:string" is not a valid
        XML attribute string and also it looks that the namespace name
        is missing here. The string should be either type="xsd:string"
        if no namespace is used(without leading colon), or this
        xmlns:type="xsd:string" if xmlns is a namespace name.</div>
      <div class="gmail_quote"><br>
      </div>
      <div class="gmail_quote">Since the method addMethodAttribute
        of QtSoapmessage is setting this, is that we need to change in
        the QtSoap module? or any other options? please advice.</div>
    </blockquote>
    <br>
    I had a look at the messages yesterday and could actually not
    reproduce your problem with the missing namespace (the messages
    between the CTK host and CTK app looked correct). I also looked at
    the QtSoap code and could not spot a problem at first sight.<br>
    <br>
    Best,<br>
    Sascha<br>
    <br>
    <blockquote
cite="mid:CA+rdb6Q=z5hBbeLVfa_C15-7z1-ZFBn-vti=wAMum-TTeoSZhA@mail.gmail.com"
      type="cite">
      <div class="gmail_quote">
        <br>
      </div>
      <div class="gmail_quote">thank you very much!</div>
      <div class="gmail_quote">/Anthony</div>
      <div class="gmail_quote"><br>
      </div>
      <br>
      <div class="gmail_quote">On Thu, Sep 8, 2011 at 6:47 AM, <span
          dir="ltr"><<a moz-do-not-send="true"
            href="mailto:ctk-developers-request@commontk.org">ctk-developers-request@commontk.org</a>></span>
        wrote:<br>
        <blockquote class="gmail_quote" style="margin: 0pt 0pt 0pt
          0.8ex; border-left: 1px solid rgb(204, 204, 204);
          padding-left: 1ex;">Send Ctk-developers mailing list
          submissions to<br>
                 <a moz-do-not-send="true"
            href="mailto:ctk-developers@commontk.org">ctk-developers@commontk.org</a><br>
          <br>
          To subscribe or unsubscribe via the World Wide Web, visit<br>
                 <a moz-do-not-send="true"
            href="http://public.kitware.com/cgi-bin/mailman/listinfo/ctk-developers"
            target="_blank">http://public.kitware.com/cgi-bin/mailman/listinfo/ctk-developers</a><br>
          or, via email, send a message with subject or body 'help' to<br>
                 <a moz-do-not-send="true"
            href="mailto:ctk-developers-request@commontk.org">ctk-developers-request@commontk.org</a><br>
          <br>
          You can reach the person managing the list at<br>
                 <a moz-do-not-send="true"
            href="mailto:ctk-developers-owner@commontk.org">ctk-developers-owner@commontk.org</a><br>
          <br>
          When replying, please edit your Subject line so it is more
          specific<br>
          than "Re: Contents of Ctk-developers digest..."<br>
          <br>
          <br>
          Today's Topics:<br>
          <br>
            1. Re: CTK based Hosted App fails when launched from Non-CTK<br>
               Host (Benoit Bleuze)<br>
          <br>
          <br>
----------------------------------------------------------------------<br>
          <br>
          Message: 1<br>
          Date: Thu, 8 Sep 2011 12:46:30 +0200 (CEST)<br>
          From: Benoit Bleuze <<a moz-do-not-send="true"
            href="mailto:benoit.bleuze@inria.fr">benoit.bleuze@inria.fr</a>><br>
          Subject: Re: [Ctk-developers] CTK based Hosted App fails when
          launched<br>
                 from Non-CTK Host<br>
          To: Sascha Zelzer <<a moz-do-not-send="true"
            href="mailto:s.zelzer@dkfz-heidelberg.de">s.zelzer@dkfz-heidelberg.de</a>><br>
          Cc: Anthony Dass <<a moz-do-not-send="true"
            href="mailto:antdass@gmail.com">antdass@gmail.com</a>>, <a
            moz-do-not-send="true"
            href="mailto:ctk-developers@commontk.org">ctk-developers@commontk.org</a><br>
          Message-ID:<br>
                 <<a moz-do-not-send="true"
            href="mailto:610925954.61455.1315478790178.JavaMail.root@zmbs4.inria.fr">610925954.61455.1315478790178.JavaMail.root@zmbs4.inria.fr</a>><br>
          Content-Type: text/plain; charset="utf-8"<br>
          <br>
          Hi Anthony, Sascha gave you all the technical answers we had
          in stock so far, but I can add a bit of context here, it may
          help. As Sascha said, the state/newState switch is due to XIP
          not following the specifications. And your change is valid. We
          started with "state", but the only other host we could use
          being XIP, we changed it. You are welcome to revert it. I
          think we notified Larry (Lawrence Tarbox) of that problem
          during the last hackfest in Chapel Hill. Eventually XIP will
          change its API there (or so I hope). Replacing the WSDL files
          doesn't change anything since we don't use them to generate
          the interface, all the messages are hard coded soap messages
          constructed from C++. Now I know nothing of the WCF
          unfortunately, so I can't tell you whether the "type:" keyword
          is misinterpreted or whatever. Sascha's suggestion of changing
          the casing sounds promising to me. I remember we used capitals
          in some actions , following the WSDL actually, and had to
          change it afterwards for<br>
           specifications and XIP compatibility. I remember Larry
          telling us the WSDL provided in the specs was not up to date,
          and thus we provide an updated (or at least it was valid last
          february) set of WSDL (and siblings) files there: <a
            moz-do-not-send="true"
            href="http://www.commontk.org/index.php/File:Wsdl_ft.zip"
            target="_blank">http://www.commontk.org/index.php/File:Wsdl_ft.zip</a>
          Note that they also have actions starting with capitals. I
          have a faint memory of Larry giving us an explanation as to
          why they were upper cased, but I can't remember the reason, my
          guess is that the .Net implementation forced them to do so.
          And it is very well possible that the XIP java implementation
          accepts both casing and the .NET or WCF are stricter, so I
          guess you'll have to choose between the proposed WSDL and the
          specifications... Keep us posted of your progress. Ben -----
          Original Message -----<br>
          > Hi Anthony,<br>
          > Welcome to the ctk-developers list.<br>
          > > We've tried adapting one of our DICOM application
          into a CTK Based<br>
          > > Hosted App. It works well when tried with the
          ctkhost - we could<br>
          > > launch the app, load the DICOM data and get through
          different states<br>
          > > as well.<br>
          > So far, good news.<br>
          > > However when tried launching the same app with
          different non-ctk<br>
          > > based<br>
          > > host, it launches our app but fails to load any
          data. This non-ctk<br>
          > > based host seems to be written using the WCF as per
          specification in<br>
          > > DICOM 118.<br>
          > Please note that we could only test our implementation
          against the XIP<br>
          > host (written in Java) so far. So the problems you are
          experiencing<br>
          > might very well relate to our implementation.<br>
          > > On investigating, we noticed that the initial ?IDLE?
          message sent by<br>
          > > the App upon launch is not getting processed by the
          Non-CTK based<br>
          > > host.<br>
          > > When traced the SOAP communication, we found out
          that the messages<br>
          > > from the plug-in are getting to the host, but then
          they are not<br>
          > > processed by WCF because of some WSDL contacts
          mismatch. Thus the<br>
          > > host<br>
          > > does not receive any messages. Here?s the log
          message:<br>
          > > < Message > The message with Action '' cannot
          be processed at the<br>
          > > receiver, due to a ContractFilter mismatch at the<br>
          > > EndpointDispatcher.<br>
          > > This may be because of either a contract mismatch
          (mismatched<br>
          > > Actions<br>
          > > between sender and receiver) or a binding/security
          mismatch between<br>
          > > the sender and the receiver. Check that sender and
          receiver have the<br>
          > > same contract and the same binding (including
          security requirements,<br>
          > > e.g. Message, Transport, None). </ Message ><br>
          > > When debugging the WCF processing of the message we
          get the<br>
          > > deserialization error:<br>
          > > "The ':' character, hexadecimal value 0x3A, cannot
          be included in a<br>
          > > name. Line 4, position 11."<br>
          > > Here?s the SOAP message braced between the
          CTK-plugin and Non-CTK<br>
          > > based Host:<br>
          > > < SOAP-ENV:Envelope xmlns:SOAP-ENV = "<br>
          > > <a moz-do-not-send="true"
            href="http://schemas.xmlsoap.org/soap/envelope/"
            target="_blank">http://schemas.xmlsoap.org/soap/envelope/</a>
          " SOAP-ENV:encodingStyle =<br>
          > > "<br>
          > > <a moz-do-not-send="true"
            href="http://schemas.xmlsoap.org/soap/encoding/"
            target="_blank">http://schemas.xmlsoap.org/soap/encoding/</a>
          " xmlns:xsd = "<br>
          > > <a moz-do-not-send="true"
            href="http://www.w3.org/1999/XMLSchema" target="_blank">http://www.w3.org/1999/XMLSchema</a>
          " ><br>
          > > < SOAP-ENV:Body xmlns:SOAP-ENV = "<br>
          > > <a moz-do-not-send="true"
            href="http://schemas.xmlsoap.org/soap/envelope/"
            target="_blank">http://schemas.xmlsoap.org/soap/envelope/</a>
          " ><br>
          > > < notifyStateChanged xmlns = " <a
            moz-do-not-send="true" href="http://wg23.dicom.nema.org/"
            target="_blank">http://wg23.dicom.nema.org/</a> " ><br>
          > > < newState :type = " xsd:string " > IDLE </
          newState ><br>
          > > </ notifyStateChanged ><br>
          > > </ SOAP-ENV:Body ><br>
          > > </ SOAP-ENV:Envelope ><br>
          > > We can see the ?:type? item in the newState element
          that?s causing<br>
          > > the<br>
          > > error in WCF. Also, per DICOM supplement 118 it
          should be called<br>
          > > ?state?, not ?newState?.<br>
          > Looking at the debug output from the CTK hosted app, the
          xml namespace<br>
          > for the "type" attribute in the "newState" tag is intact.
          So I am<br>
          > wondering it the output above has already been modified
          somehow by the<br>
          > WCF host or if it is the original message from the CTK
          hosted app.<br>
          > > Here?s the example of the SOAP message generated by
          Non-CTK based<br>
          > > HostedApp: < s:Envelope xmlns:s = "<br>
          > > <a moz-do-not-send="true"
            href="http://schemas.xmlsoap.org/soap/envelope/"
            target="_blank">http://schemas.xmlsoap.org/soap/envelope/</a>
          " > < s:Body > <<br>
          > > NotifyStateChanged xmlns = "<br>
          > > <a moz-do-not-send="true"
            href="http://dicom.nema.org/PS3.19/HostService-20100825"
            target="_blank">http://dicom.nema.org/PS3.19/HostService-20100825</a>
          " > < state > IDLE<br>
          > > </ state > </ NotifyStateChanged > </
          s:Body > </ s:Envelope ><br>
          > > Next, we tried changing ?newState? to ?state? but
          again it fails<br>
          > > when<br>
          > > tried with the non-ctk based host and producing the
          same error.<br>
          > I think it is still either related to the ":type"
          attribute or the<br>
          > error described below. Concerning state/newState, please
          also see my<br>
          > comments below.<br>
          > > ...<br>
          > > 2011-09-06 17:17:59,609 <faultstring
          xsi:type="xsd:string"<br>
          > > xmlns:xsi="<br>
          > > <a moz-do-not-send="true"
            href="http://www.w3.org/1999/XMLSchema-instance"
            target="_blank">http://www.w3.org/1999/XMLSchema-instance</a>
          ">The message with Action<br>
          > > ''<br>
          > > cannot be processed at the receiver, due to a
          ContractFilter<br>
          > > mismatch<br>
          > > at the EndpointDispatcher. This may be because of
          either a contract<br>
          > > mismatch (mismatched Actions between sender and
          receiver) or a<br>
          > > binding/security mismatch between the sender and the
          receiver. Check<br>
          > > that sender and receiver have the same contract and
          the same binding<br>
          > > (including security requirements, e.g. Message,
          Transport,<br>
          > > None).</faultstring> ...<br>
          > This actually hints at a problem concerning the action
          names. Looking<br>
          > at the WSDL, the operation names start with upper case
          latters, where<br>
          > we are using lower case (unfortunately, the text in the
          DICOM Part 19<br>
          > specs refer to the method names with starting lower case
          letters).<br>
          > > I even tried replacing the WSDL files with the one
          provided by<br>
          > > Non-CTK<br>
          > > based host, but still it doesn?t seem to work.<br>
          > Yes, that does not change the actual behavior.<br>
          > > When looked at the code, I noticed a comment in the
          CTK code (below<br>
          > > methods) ?spec would be "state", java has "newState"
          FIX<br>
          > > JAVA/STANDARD?. Could this be something we need to
          look for? If so<br>
          > > may<br>
          > > I know what would be the change in Java side.<br>
          > Unfortunately, again, the text in the specs refer to
          "newState" for<br>
          > the argument name and this is what the XIP host is using.
          So we used<br>
          > it too for testing with XIP. But I agree that the WSDL
          should be the<br>
          > definite guide and we should use "state" when not testing
          with XIP.<br>
          > My advice would be to keep your modification ("newState"
          -> "state")<br>
          > and also try to modify the action (method) names in<br>
          > ctkDicomAppService.cpp (lines 40 - 60) to use upper case
          for the first<br>
          > letter.<br>
          > I would be happy if you could keep us posted about your
          progress.<br>
          > Thanks,<br>
          > Sascha<br>
          > _______________________________________________<br>
          > Ctk-developers mailing list<br>
          > <a moz-do-not-send="true"
            href="mailto:Ctk-developers@commontk.org">Ctk-developers@commontk.org</a><br>
          > <a moz-do-not-send="true"
            href="http://public.kitware.com/cgi-bin/mailman/listinfo/ctk-developers"
            target="_blank">http://public.kitware.com/cgi-bin/mailman/listinfo/ctk-developers</a><br>
          -------------- next part --------------<br>
          An HTML attachment was scrubbed...<br>
          URL: <<a moz-do-not-send="true"
href="http://public.kitware.com/pipermail/ctk-developers/attachments/20110908/e75bdbbd/attachment.htm"
            target="_blank">http://public.kitware.com/pipermail/ctk-developers/attachments/20110908/e75bdbbd/attachment.htm</a>><br>
          <br>
          ------------------------------<br>
          <br>
          _______________________________________________<br>
          Ctk-developers mailing list<br>
          <a moz-do-not-send="true"
            href="mailto:Ctk-developers@commontk.org">Ctk-developers@commontk.org</a><br>
          <a moz-do-not-send="true"
            href="http://public.kitware.com/cgi-bin/mailman/listinfo/ctk-developers"
            target="_blank">http://public.kitware.com/cgi-bin/mailman/listinfo/ctk-developers</a><br>
          <br>
          <br>
          End of Ctk-developers Digest, Vol 26, Issue 6<br>
          *********************************************<br>
        </blockquote>
      </div>
      <br>
    </blockquote>
    <br>
  </body>
</html>