in reply to Re: SOAP and .NET
in thread SOAP and .NET

Thanks for the pointers, I'll look at SOAP::WSDL. I've discovered that I have to use SOAP::Lite for my 'client' script, and SOAP::Transport::HTTP for the 'server' script. I have debug on, and in my client log get this:

SOAP::Lite::call: ()
SOAP::Serializer::envelope: ()
SOAP::Deserializer::deserialize: ()
SOAP::Parser::decode: ()
which of course helps me tremendously :)

The programmers running the .NET side are telling me that nothing is coming through, so until I get the debugging thing working I'm at their mercy.

Replies are listed 'Best First'.
Re^3: SOAP and .NET
by Trudge (Acolyte) on Sep 20, 2007 at 15:33 UTC

    I've managed to get some debugging information, but it leaves me no closer to a solution:

    mismatched tag at line 61, column 16, byte 2902:
    <p>
           </ul>
    ====^
    </span>
    at C:/usr/lib/XML/Parser.pm line 187

    Of course looking at the Parser module sheds no light on where / how that HTML code is being generated. Line #187:

    $result = $expat->parse($arg);

    I'm spiralling further away from a solution here and could really use some help.

    My code

    use SOAP::WSDL +trace => qw(dispatch); my $soap = SOAP::WSDL->new(wsdl => 'http://xxx.xxx.xxx/somedoc.asmx'); + # edited $soap -> wsdlinit(); $soap -> servicename('Web Mechanic'); my $transport = $soap -> call('Insert' => ( Firstname => $FirstName )); # previously defined
      mismatched tag at line 61, column 16, byte 2902:
      <p>
             </ul>
      ====^
      </span>
      at C:/usr/lib/XML/Parser.pm line 187
      That's not a valid XML fragment for starters.

      use SOAP::WSDL +trace => qw(dispatch); my $soap = SOAP::WSDL->;new(wsdl => 'http://xxx.xxx.xxx/somedoc.asmx') +; # edited $soap -> wsdlinit(); $soap -> servicename('Web Mechanic'); my $transport = $soap -> call('Insert' => ( Firstname => $FirstName )); # previously defined
      Why are you calling the 'call' method of SOAP::WSDL? That's SOAP::Lite silliness.
      Call the methods exposed by the remote service instead.

      -David

        Please understand - I know very little about SOAP and WSDL in general, and reading the documentation for SOAP::WSDL is like trying to learn English by reading a dictionary. Yes, it defines certain things, but what I really need is some indication as to when, why, and where I would use them to perform my task at hand.

        Maybe I'm asking too much here. I'm reading as much as I can about all this.

        I'm using 'call' because that is what several examples use in the SOAP::WSDL docs.

        As for the error message, I'm only showing you what my log file has in it.