siramitsharma has asked for the wisdom of the Perl Monks concerning the following question:

I have a wsdl file at server & want to access the method using the same. Following is the code

#!/usr/bin/perl use SOAP::Lite +trace => 'all'; use warnings; my $address = 'http://10.130.9.79:7782/services/CBSInterfaceBusinessMg +rService?wsdl'; my $action = "http://10.130.9.79:7782/services/common"; my $namespace = 'http://www.huawei.com/bme/cbsinterface/cbs/businessmg +rmsg'; my $call = "QueryBasicInfoRequestMsg"; my $soap = SOAP::Lite ->uri($namespace) ->on_action(sub { $action } ) ->proxy($address); my $arg = SOAP::Data->name(RequestHeader => "", CommandId => "QueryBas +icInfo", Version =>"1", TransactionId =>"1", SequenceId =>"1", Reques +tType => "Event", SubscriberNo => "9136006473", QueryType => "4"); $soap->call($call => $arg);

Following is the error which is coming, also request going towards server doesnt seems to be correct. Can you please suggest on this.

SOAP::Transport::new: () SOAP::Serializer::new: () SOAP::Deserializer::new: () SOAP::Parser::new: () SOAP::Lite::new: () SOAP::Transport::HTTP::Client::new: () SOAP::Data::new: () SOAP::Lite::call: () SOAP::Serializer::envelope: () SOAP::Serializer::envelope: QueryBasicInfoRequestMsg SOAP::Data=HASH(0 +x2601888) SOAP::Data::new: () SOAP::Data::new: () SOAP::Data::new: () SOAP::Data::new: () SOAP::Data::new: () SOAP::Transport::HTTP::Client::send_receive: HTTP::Request=HASH(0x260f +558) SOAP::Transport::HTTP::Client::send_receive: POST http://10.130.9.79:7 +782/services/CBSInterfaceBusinessMgrService?wsdl HTTP/1.1 Accept: text/xml Accept: multipart/* Accept: application/soap Content-Length: 1357 Content-Type: text/xml; charset=utf-8 SOAPAction: http://10.130.9.79:7782/services/common <?xml version="1.0" encoding="UTF-8"?><soap:Envelope xmlns:xsi="http:/ +/www.w3.org/2001/XMLSchema-instance" xmlns:soapenc="http://schemas.xm +lsoap.org/soap/encoding/" xmlns:xsd="http://www.w3.org/2001/XMLSchema +" soap:encodingStyle="http://schemas.xmlsoap.org/soap/encoding/" xmln +s:soap="http://schemas.xmlsoap.org/soap/envelope/"><soap:Body><QueryB +asicInfoRequestMsg xmlns="http://www.huawei.com/bme/cbsinterface/cbs/ +businessmgrmsg"><RequestHeader xsi:type="xsd:string" /><RequestHeader + xsi:type="xsd:string">CommandId</RequestHeader><RequestHeader xsi:ty +pe="xsd:string">QueryBasicInfo</RequestHeader><RequestHeader xsi:type +="xsd:string">Version</RequestHeader><RequestHeader xsi:type="xsd:int +">1</RequestHeader><RequestHeader xsi:type="xsd:string">TransactionId +</RequestHeader><RequestHeader xsi:type="xsd:int">1</RequestHeader><R +equestHeader xsi:type="xsd:string">SequenceId</RequestHeader><Request +Header xsi:type="xsd:int">1</RequestHeader><RequestHeader xsi:type="x +sd:string">RequestType</RequestHeader><RequestHeader xsi:type="xsd:st +ring">Event</RequestHeader><RequestHeader xsi:type="xsd:string">Subsc +riberNo</RequestHeader><RequestHeader xsi:type="xsd:long">9136006473< +/RequestHeader><RequestHeader xsi:type="xsd:string">QueryType</Reques +tHeader><RequestHeader xsi:type="xsd:int">4</RequestHeader></QueryBas +icInfoRequestMsg></soap:Body></soap:Envelope> SOAP::Transport::HTTP::Client::send_receive: HTTP::Response=HASH(0x283 +6098) SOAP::Transport::HTTP::Client::send_receive: HTTP/1.1 500 Internal Ser +ver Error Connection: close Date: Mon, 12 Oct 2015 09:40:47 GMT Server: Apache-Coyote/1.1 Content-Type: text/xml;charset=utf-8 Client-Date: Mon, 12 Oct 2015 09:40:47 GMT Client-Peer: 10.130.9.79:7782 Client-Response-Num: 1 Set-Cookie: JSESSIONID=5D8F24823784A396353DEAF0AF12124A.server1; Path= +/ X-Powered-By: Servlet 2.4; JBoss-4.0.5.GA (build: CVSTag=Branch_4_0 da +te=200610162339)/Tomcat-5.5 X-UA-Compatible: IE=EmulateIE7 <?xml version='1.0' encoding='utf-8'?><soapenv:Envelope xmlns:soapenv= +"http://schemas.xmlsoap.org/soap/envelope/"><soapenv:Header /><soapen +v:Body><soapenv:Fault><faultcode>soapenv:Client</faultcode><faultstri +ng>Operation Not found EPR is http://10.130.9.79:7782/services/CBSInt +erfaceBusinessMgrService and WSA Action = http://10.130.9.79:7782/se +rvices/common</faultstring><detail /></soapenv:Fault></soapenv:Body>< +/soapenv:Envelope> SOAP::Deserializer::deserialize: () SOAP::Parser::decode: () SOAP::SOM::new: () SOAP::SOM::DESTROY: () SOAP::Lite::DESTROY: () SOAP::Serializer::DESTROY: () SOAP::Data::DESTROY: () SOAP::Data::DESTROY: () SOAP::Data::DESTROY: () SOAP::Data::DESTROY: () SOAP::Data::DESTROY: () SOAP::Data::DESTROY: () SOAP::Deserializer::DESTROY: () SOAP::Parser::DESTROY: () SOAP::Transport::DESTROY: () SOAP::Transport::HTTP::Client::DESTROY: ()

Replies are listed 'Best First'.
Re: Soap Lite & WSDL Issues
by NetWallah (Canon) on Oct 12, 2015 at 16:04 UTC
    This part of the error message:
    <faultcode>soapenv:Client</faultcode> <faultstring> Operation Not found EPR is http://10.130.9.79:7782/services/CBSInterf +aceBusinessMgrService and WSA Action = http://10.130.9.79:7782/services/common </faultstring>
    Seems to point to a problem in the CBSInterfaceBusinessMgrService service, or an incorrect call to the service.

    From the evidence provided, this does not look like a perl problem/question. It looks like an improper API call. You may be able to find more info in the service logs.

            Software efficiency halves every 18 months, thus compensating for Moore's Law.