Loading ...
Sorry, an error occurred while loading the content.

Re: [soaplite] Why is namespace ""?

Expand Messages
  • Byrne Reese
    As it turns out, SOAP::Lite is not capable of parsing this WSDL as it is a document-literal style service - a known and annoying limitation of SOAP::Lite. But
    Message 1 of 2 , Oct 25, 2004
    • 0 Attachment
      As it turns out, SOAP::Lite is not capable of parsing this WSDL as it is
      a document-literal style service - a known and annoying limitation of
      SOAP::Lite. But this is something that needs to get looked into.

      I am not making any promises, but let me see what I can do.

      But regardless, the proper way to invoke this service via a WSDL is:

      my $results = SOAP::Lite
      ->service($wsdl)
      ->FedEx_GetTrackingInfo($bill,$license);

      The *idea* behind using a WSDL is to avoid having to deal with
      SOAP::Data elements at all. To work around this in the meantime, do what
      you were doing with the SOAP::Data and code you have, but replace the
      ->service(), with a ->uri($NAMESPACE)->proxy($ENDPOINT_URL).

      In the mean time, I am hacking away to see if I can't get something to
      work with the WSDL you gave me. :)

      Byrne

      Robert Nicholson wrote:

      > <?xml version="1.0" encoding="UTF-8"?><SOAP-ENV:Envelope
      > xmlns:SOAP-ENC="http://schemas.xmlsoap.org/soap/encoding/"
      > xmlns:xsd="http://www.w3.org/1999/XMLSchema"
      > xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/"
      > xmlns:xsi="http://www.w3.org/1999/XMLSchema-instance"
      > SOAP-ENV:encodingStyle="http://schemas.xmlsoap.org/soap/
      > encoding/"><SOAP-ENV:Body><FedEx_GetTrackingInfo
      > xmlns=""><FedEx_GetTrackingInfo><TrackingNumber
      > xsi:type="xsd:string">836656293358</TrackingNumber><LicenseKey
      > xsi:type="xsd:string">XXXXXXXXXX</LicenseKey></FedEx_GetTrackingInfo></
      > FedEx_GetTrackingInfo></SOAP-ENV:Body></SOAP-ENV:Envelope>
      >
      >
      > Why is the namespace xmlns="" ?
      >
      > my $fedex_wdsl = "http://ws2.serviceobjects.net/pt/PackTrack.asmx?WSDL";
      >
      > my $fedex_search = SOAP::Lite->service("$fedex_wdsl");
      >
      > my $results = $fedex_search ->
      > FedEx_GetTrackingInfo(SOAP::Data->name("FedEx_GetTrackingInfo")
      > ->value(\SOAP::Data->value(
      >
      > SOAP::Data->type("xsd:string")->name("TrackingNumber" => $bill),
      > SOAP::Data->name("LicenseKey"
      > => $license)
      > ))
      > );
    Your message has been successfully submitted and would be delivered to recipients shortly.