CGI/Perl Guide | Learning Center | Forums | Advertise | Login
Site Search: in

  Main Index MAIN
INDEX
Search Posts SEARCH
POSTS
Who's Online WHO'S
ONLINE
Log in LOG
IN

Home: Perl Programming Help: Intermediate:
SOAP::Lite error - WSDL question

 



casey0999
New User

Oct 18, 2014, 10:32 AM

Post #1 of 1 (9094 views)
SOAP::Lite error - WSDL question Can't Post

Good morning

I'm a reasonably experienced Perl programmer, but new to accessing SOAP methods. Specifically, I'm trying to pull out the proper parameters from a customer-supplied WSDL file, and determine the arguments to supply to a SOAP::Lite call, as follows:

In my subroutine to execute a SOAP method, supplying the method name (StartTransaction) and arguments, I use something like: (see below for WSDL source)

my $func = shift @_;

$soap = SOAP::Lite
-> uri('urn:company-com:gateway:v1/ITokenServiceContract/')
-> proxy('http://xxxxx.test.hatchlab.fr/201303')
-> $func(@_);


if($soap->fault) {
print "Debug: Soap Error: Code: ", $soap->faultcode, ", String: ", $soap->faultstring,
", Detail: ", $soap->faultdetail, "\n";
return(-1);
}

------------------------------------------
The above executes, but produces an error in the SOAP-Lite log:
"IIS 7.5 Detailed Error - 405.0 - Method Not Allowed"

...probably because the uri and proxy fields above are not correct, therefore I'm probably not getting to the SOAP dispatcher. Am I interpreting the WSDL correctly to set URI and PROXY? (WSDL port and binding excerpt below - full WSDL attached)



THANKS!
Casey

-------------------------------------------
WSDL excerpts

PORT:
<wsdl:portType name="ITokenServiceContract">
<wsdl:operation name="StartTransaction">
<wsdl:input wsaw:Action="urn:company-com:gateway:v1/ITokenServiceContract/StartTransaction"

message="tns:ITokenServiceContract_StartTransaction_InputMessage"/>
<wsdl:output wsaw:Action="urn:company-com:gateway:v1/ITokenServiceContract/StartTransactionResponse"
message="tns:ITokenServiceContract_StartTransaction_OutputMessage"/>
</wsdl:operation>
</wsdl:portType>


BINDING:
<wsdl:binding name="BasicHttpBinding_ITokenServiceContract" type="tns:ITokenServiceContract">
<soap:binding transport="http://schemas.xmlsoap.org/soap/http"/>
<wsdl:operation name="StartTransaction">
<soap:operation soapAction="urn:company-com:gateway:v1/ITokenServiceContract/StartTransaction"

style="document"/>
<wsdl:input>
<soap:body use="literal"/>
</wsdl:input>
<wsdl:output>
<soap:body use="literal"/>
</wsdl:output>
</wsdl:operation>
</wsdl:binding>

SERVICE:
<wsdl:service name="TokenService">
<wsdl:port name="BasicHttpBinding_ITokenServiceContract"
binding="tns:BasicHttpBinding_ITokenServiceContract">
<soap:address location="http://xxxxx.test.hatchlab.fr/201303/services/TokenService.svc"/>
</wsdl:port>
</wsdl:service>

Attachments: WSDL redacted V2.xml (4.29 KB)

 
 


Search for (options) Powered by Gossamer Forum v.1.2.0

Web Applications & Managed Hosting Powered by Gossamer Threads
Visit our Mailing List Archives