Greetings,

I currently have a SOAP::Lite web service and client that are working fine together. We now want to add a .net client. I used Pod::WSDL to create a WSDL file, but it doesn't seem to be pointing to the correct things. The web service lives at http://my.domain.com/cgi-bin/web_svc.pl. It contains one package (foo) and several functions, only one of which (bar) I want available to the .net client. The web service looks like this:

use SOAP::Transport::HTTP; SOAP::Transport::HTTP::CGI -> dispatch_to('foo') -> handle; package foo; . . . =begin WSDL _IN usr_nm $string User Name _IN pwd $string Password _IN ext_id $string External ID _IN bar_cd $string Bar Code _RETURN $int Number of passes inserted (should be one) =end WSDL sub bar { my (undef, $usr_nm, $pwd, $ext_id, $bar_cd) = @_; do stuff; return(1); }

The WSDL file, generated by Pod:WSDL, seems to point only to the package, foo. I don't see any mention in here of web_svc.pl. So far, we've been unable to get anything meaningful out of it for .net. I found some web pages that talk about tweaking the Pod::WSDL output as routine. Unfortunately, they don't give any specifics. The WSDL file looks like this:

<?xml version="1.0" encoding="UTF-8"?> <!-- WSDL for http://my.domain.com/cgi-bin created by Pod::WSDL versio +n: 0.061 on Mon May 9 14:28:55 2011 --> <wsdl:definitions targetNamespace="http://my.domain.com/foo" xmlns:imp +l="http://my.domain.com/foo" xmlns:wsdlsoap="http://schemas.xmlsoap.o +rg/wsdl/soap/" xmlns:wsdl="http://schemas.xmlsoap.org/wsdl/" xmlns:so +apenc="http://schemas.xmlsoap.org/soap/encoding/" xmlns:xsd="http://w +ww.w3.org/2001/XMLSchema" xmlns:tns1="http://my.domain.com/foo"> <wsdl:types> <schema targetNamespace="http://my.domain.com/foo" xmlns="http +://www.w3.org/2001/XMLSchema"> <import namespace="http://schemas.xmlsoap.org/soap/encodin +g/" /> <complexType name="Integer"> <sequence> </sequence> </complexType> </schema> </wsdl:types> <wsdl:message name="barRequest"> <wsdl:part name="usr_nm" type="xsd:string"> <wsdl:documentation>User Name</wsdl:documentation> </wsdl:part> <wsdl:part name="pwd" type="xsd:string"> <wsdl:documentation>Password</wsdl:documentation> </wsdl:part> <wsdl:part name="ext_id" type="xsd:string"> <wsdl:documentation>External Garage ID</wsdl:documentation +> </wsdl:part> <wsdl:part name="bar_cd" type="xsd:string"> <wsdl:documentation>Pass Bar Code</wsdl:documentation> </wsdl:part> </wsdl:message> <wsdl:message name="barResponse"> <wsdl:part name="barReturn" type="tns1:Integer"> <wsdl:documentation>Number of passes inserted (should be o +ne)</wsdl:documentation> </wsdl:part> </wsdl:message> <wsdl:portType name="fooHandler"> <wsdl:operation name="bar" parameterOrder="usr_nm pwd ext_id b +ar_cd"> <wsdl:input message="impl:barRequest" name="barRequest" /> <wsdl:output message="impl:barResponse" name="barResponse" + /> </wsdl:operation> </wsdl:portType> <wsdl:binding name="fooSoapBinding" type="impl:fooHandler"> <wsdlsoap:binding style="rpc" transport="http://schemas.xmlsoa +p.org/soap/http" /> <wsdl:operation name="bar"> <wsdlsoap:operation soapAction="" /> <wsdl:input name="barRequest"> <wsdlsoap:body encodingStyle="http://schemas.xmlsoap.o +rg/soap/encoding/" namespace="http://my.domain.com/foo" use="encoded" + /> </wsdl:input> <wsdl:output name="barResponse"> <wsdlsoap:body encodingStyle="http://schemas.xmlsoap.o +rg/soap/encoding/" namespace="http://my.domain.com/foo" use="encoded" + /> </wsdl:output> </wsdl:operation> </wsdl:binding> <wsdl:service name="fooHandlerService"> <wsdl:port binding="impl:fooSoapBinding" name="foo"> <wsdlsoap:address location="http://my.domain.com/cgi-bin" +/> </wsdl:port> </wsdl:service> </wsdl:definitions>

In reply to Issues with soap::lite server, .net client, and pod::wsdl output by cerian

Title:
Use:  <p> text here (a paragraph) </p>
and:  <code> code here </code>
to format your post, it's "PerlMonks-approved HTML":



  • Posts are HTML formatted. Put <p> </p> tags around your paragraphs. Put <code> </code> tags around your code and data!
  • Titles consisting of a single word are discouraged, and in most cases are disallowed outright.
  • Read Where should I post X? if you're not absolutely sure you're posting in the right place.
  • Please read these before you post! —
  • Posts may use any of the Perl Monks Approved HTML tags:
    a, abbr, b, big, blockquote, br, caption, center, col, colgroup, dd, del, details, div, dl, dt, em, font, h1, h2, h3, h4, h5, h6, hr, i, ins, li, ol, p, pre, readmore, small, span, spoiler, strike, strong, sub, summary, sup, table, tbody, td, tfoot, th, thead, tr, tt, u, ul, wbr
  • You may need to use entities for some characters, as follows. (Exception: Within code tags, you can put the characters literally.)
            For:     Use:
    & &amp;
    < &lt;
    > &gt;
    [ &#91;
    ] &#93;
  • Link using PerlMonks shortcuts! What shortcuts can I use for linking?
  • See Writeup Formatting Tips and other pages linked from there for more info.