Loading ...
Sorry, an error occurred while loading the content.

RE: [soaplite] SOAP::Lite server with .NET client - SOAPAction woes

Expand Messages
  • Maurice McCabe
    I developed a SOAP::Lite server that works with .NET and Axis. I used WebServiceStudio from gotdotnet.com which I have attached (66k). It was useful for
    Message 1 of 4 , Jul 13, 2004
    • 0 Attachment
      Message
      I  developed a SOAP::Lite server that works with .NET and Axis. I used WebServiceStudio from gotdotnet.com which I have attached (66k). It was useful for testing the WSDL and SOAP messages from a .NET client etc...
       
      Maurice
       
       -----Original Message-----
      From: Issac Goldstand [mailto:margol@...]
      Sent: Tuesday, July 13, 2004 6:44 AM
      To: soaplite@yahoogroups.com
      Subject: [soaplite] SOAP::Lite server with .NET client - SOAPAction woes

      I'm trying to set up WSDL for a service that I wrote in SOAP::Lite, for a
      .NET client.  The client can read and compiles the WSDL, but SOAP::Lite
      doesn't like it's messages:

      If I explicitly declare the SOAPAction in the WSDL, I get:
      SOAP::Serializer::envelope: Client SOAPAction shall match 'uri#method' if
      present (got 'urn:MyApp#Method)

      If I set the WSDL to "#Method" then I get: SOAP::Serializer::envelope:
      Client Denied access to method (Method) in class (main) at
      C:/Perl/site/lib/SOAP/Lite.pm line 2159."

      Being that I'm a complete .NET newbie, I also have no idea how to set a
      proxy or otherwise spy on the XML messages (I saw one article on MSDN that
      explained exactly how to do it, but I didn't understand a word).

      While on the subject, some of my methods require no input parmaters, but
      when I define a blank input message I get a MS error complaining that there
      are no parts defined, when I don't define the input at all, it chokes,
      thinking that it's a notification - so far my best solution is just to have
      a "dummy" input variable to make everything work.  IS there a better way to
      do it?

        Issac


    • Klaus Guenter
      Hi! ... The syntax for urn: is different in .NET. AFAIR s/#/ //; But there is more to check when connecting to .NET, namely the encoding style, IIRC. The MS
      Message 2 of 4 , Jul 16, 2004
      • 0 Attachment
        Hi!

        On Tuesday 13 July 2004 15:44, Issac Goldstand wrote:
        > If I explicitly declare the SOAPAction in the WSDL, I get:
        > SOAP::Serializer::envelope: Client SOAPAction shall match 'uri#method' if
        > present (got 'urn:MyApp#Method)
        The syntax for urn: is different in .NET. AFAIR s/#/\//;

        But there is more to check when connecting to .NET, namely the encoding style,
        IIRC. The MS Knowledge Base has an article that describes connecting
        SOAP::Lite Clients to .NET Servers and vice versa.

        HTH,
        Klaus
        --
        People often find it easier to be a result of the past than a cause of
        the future.
        -
      • Maurice McCabe
        I have created a .NET client that talks to a SOAP::Lite server (using simple and complex types in either direction) ... if ... happens to be self explanatory
        Message 3 of 4 , Jul 16, 2004
        • 0 Attachment
          Message
          I have created a .NET client that talks to a SOAP::Lite server (using simple and complex types in either direction)
           
          The error message:
          > SOAP::Serializer::envelope: Client SOAPAction shall match 'uri#method' if
          > present (got
          'urn:MyApp#Method)

          happens to be self explanatory if interpreted literally. It is expecting a SOAPAction of format 'uri#method' and is getting 'urn:MyApp#Method'. This means you have to remove the 'urn:' portion.
           
          In other words in the wsdl replace
              SOAPAction="urn:MyApp#Method"
          with
              SOAPAction="MyApp#Method"
           
          This is how I have set it up in my WSDL and it works fine.
           
          BTW: The only MS Knowledge Base articles I have found describe connecting SOAP::Lite Clients to .NET Servers but not visa versa. AFAIK, you are on your own in terms of support from Microsoft if you want to go visa versa.
           
          Maurice
           
          -----Original Message-----
          From: jgr@... [mailto:jgr@...] On Behalf Of Klaus Guenter
          Sent: Friday, July 16, 2004 4:43 AM
          To: soaplite@yahoogroups.com
          Subject: Re: [soaplite] SOAP::Lite server with .NET client - SOAPAction woes

          Hi!

          On Tuesday 13 July 2004 15:44, Issac Goldstand wrote:
          > If I explicitly declare the SOAPAction in the WSDL, I get:
          > SOAP::Serializer::envelope: Client SOAPAction shall match 'uri#method' if
          > present (got 'urn:MyApp#Method)
          The syntax for urn: is different in .NET. AFAIR s/#/\//;

          But there is more to check when connecting to .NET, namely the encoding style,
          IIRC.  The MS Knowledge Base has an article  that describes connecting
          SOAP::Lite Clients to .NET Servers and vice versa.

          HTH,
          Klaus
          --
          People often find it easier to be a result of the past than a cause of
          the future.
          -

        Your message has been successfully submitted and would be delivered to recipients shortly.