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

SOAP::Lite server with .NET client - SOAPAction woes

Expand Messages
  • Issac Goldstand
    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
    Message 1 of 4 , Jul 13, 2004
    • 0 Attachment
      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
    • 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 2 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 3 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 4 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.