in reply to Re: SOAP::WSDL::Manual and WebLogic authentication
in thread SOAP::WSDL::Manual and WebLogic authentication

Thanks for the XML::Compile pointer. XML::Pastor also looks promising, at least from the standpoint of my handing it an XSD for generating Perl code for me. As for SOAP::Lite -- I stopped looking at it when it failed to generate an envelope that the server liked. The envelope was sufficiently different from what does work, I set it aside. I think you are right, however, that the authentication problem is probably easier to solve with SOAP::Lite. Perhaps the envelope problem is worth look at in more detail.
# Handcraft XML -- works. my $SOAP_UI_MIN = <<'END_SOAP_UI_MIN'; <soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/" xmlns:ser="http://mysrv.xyz.foo.edu/"> <soapenv:Body> <ser:userSearch> <firstName>John</firstName> <lastName>Smith</lastName> </ser:userSearch> </soapenv:Body> </soapenv:Envelope> END_SOAP_UI_MIN # Generated by SOAP::WSDL -- works. my $PSOAP_WSDL_MIN = <<'END_PSOAP_WSDL_MIN'; <SOAP-ENV:Envelope xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/" > <SOAP-ENV:Body> <userSearch xmlns="http://mysrv.xyz.foo.edu/"> <firstName xmlns="">John</firstName> <lastName xmlns="">Smith</lastName> </userSearch> </SOAP-ENV:Body> </SOAP-ENV:Envelope> END_PSOAP_WSDL_MIN # Generated by SOAP::Lite -- doesn't work. my $PSOAP_LITE_MIN = <<'END_PSOAP_LITE_MIN'; <soap:Envelope xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:soapenc="http://schemas.xmlsoap.org/soap/encoding/" xmlns:xsd="http://www.w3.org/2001/XMLSchema" soap:encodingStyle="http://schemas.xmlsoap.org/soap/encoding/" xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/"> <soap:Body> <userSearch xmlns="https://mysrv.xyz.foo.edu/idService/userSearchReq +uest"> <c-gensym3> <firstName xsi:type="xsd:string">John</firstName> <lastName xsi:type="xsd:string">Smith</lastName> </c-gensym3> </userSearch> </soap:Body> </soap:Envelope> END_PSOAP_LITE_MIN
The last is rejected with...
Cannot find dispatch method for {https://mysrv.xyz.foo.edu/idService/u +serSearchRequest}userSearch
I'm clueless about why SOAP::Lite generates what it does from the WSDL or how to coerce it to generate an acceptable envelope.

Replies are listed 'Best First'.
Re^3: SOAP::WSDL::Manual and WebLogic authentication
by runrig (Abbot) on Jul 15, 2013 at 23:42 UTC
    The namespaces and other attributes in the SOAP body should be coming from the wsdl, so I can't comment on what's supposed be there.