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

Classic Upgrade issue

Expand Messages
  • Patrick
    Hi All - My apologies for a huge post, esp 1st time out - i ve been using SOAP::Lite for a year, and have been able to figure things out, but.....oh, please
    Message 1 of 3 , Mar 28 1:39 PM
    • 0 Attachment

      Hi All - My apologies for a huge post, esp 1st time out - i've been using SOAP::Lite for a year, and have been able to figure things out, but.....oh, please don't try to call the yellowpages service.....it isn't in a public place yet.

      We are changing platforms to solaris 10 and of course they want the latest and greatest tool versions installed - we started with perl 5.8.7 with SOAP::Lite .60, loading from a wsdl, i get a working request that looks like....


      SOAP::Transport::HTTP::Client::send_receive: POST http://sandbox.yellowpages.com:8080/yellowpages/services/IntegrationAPI2 HTTP/1.1
      Accept: text/xml
      Accept: multipart/*
      Content-Length: 936
      Content-Type: text/xml; charset=utf-8
      SOAPAction: ""

      <?xml version="1.0" encoding="UTF-8"?>
      <SOAP-ENV:Envelope xmlns:xsi="
      http://www.w3.org/1999/XMLSchema-instance" xmlns:SOAP-ENC="http://schemas.xmlsoap.org/soap/encoding/" xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/" xmlns:xsd="http://www.w3.org/1999/XMLSchema" SOAP-ENV:encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"

      >
        <SOAP-ENV:Body
        >
          <namesp1:findListingsWithPhone xmlns:namesp1="
      http://integration.yellowpages.com"
          >
            <phone xsi:type="xsd:string"
            >2126455474</phone>
            <profileId xsi:type="xsd:string"/>
            <pageNumber xsi:type="xsd:int"
            >1</pageNumber>
            <pageSize xsi:type="xsd:int"
            >1</pageSize>
            <partnerId xsi:type="xsd:string"
            >ABC123</partnerId>
            <userId xsi:type="xsd:string"/>
            <transactionId xsi:type="xsd:string" xsi:null="1"/>
            <sort xsi:type="xsd:string"/></namesp1:findListingsWithPhone></SOAP-ENV:Body></SOAP-ENV:Envelope>
      SOAP::Transport::HTTP::Client::send_receive: HTTP/1.1 200 OK
      Connection: close

      With Perl 5.8.8 (or 5.10) and SOAP::Lite .71 the request that generates a fault...it looks like


      SOAP::Transport::HTTP::Client::send_receive: POST http://sandbox.yellowpages.com:8080/yellowpages/services/IntegrationAPI2 HTTP/1.1
      Accept: text/xml
      Accept: multipart/*
      Accept: application/soap
      Content-Length: 1085
      Content-Type: text/xml; charset=utf-8
      SOAPAction: ""

      <?xml version="1.0" encoding="UTF-8"?>
      <soap:Envelope
          xmlns:tns2="
      http://data2.integration.yellowpages.com"
          xmlns:apachesoap="
      http://xml.apache.org/xml-soap"
          soap:encodingStyle="
      http://schemas.xmlsoap.org/soap/encoding/"
          xmlns:soap="
      http://schemas.xmlsoap.org/wsdl/soap/"
          xmlns:wsdl="
      http://schemas.xmlsoap.org/wsdl/"
          xmlns:soapenc="
      http://schemas.xmlsoap.org/soap/encoding/"
          xmlns:xsi="
      http://www.w3.org/2001/XMLSchema-instance"
          xmlns:xsd="
      http://www.w3.org/2001/XMLSchema"
          xmlns:tns="
      http://integration.yellowpages.com">
        <soap:Body>
          <tns:findListingsWithPhone>
            <phone xsi:type="xsd:string">2126455474</phone>

            <profileId xsi:type="xsd:string" />

            <pageNumber xsi:type="xsd:int">1</pageNumber>

            <pageSize xsi:type="xsd:int">1</pageSize>

            <partnerId xsi:type="xsd:string">ABC123</partnerId>

            <userId xsi:type="xsd:string" />

            <transactionId xsi:type="xsd:string" />

            <sort xsi:type="xsd:string" />
                </tns:findListingsWithPhone>
        </soap:Body>
      </soap:Envelope>
      SOAP::Transport::HTTP::Client::send_receive: HTTP/1.1 500 Internal Server Error
      Connection: close
      Date: Fri, 28 Mar 2008 20:13:21 GMT
      Server: nginx/0.5.35
      Content-Type: text/xml;charset=utf-8
      Client-Date: Fri, 28 Mar 2008 20:12:00 GMT
      Client-Peer: 216.173.231.85:8080
      Client-Response-Num: 1
      Client-Transfer-Encoding: chunked

      <?xml version="1.0" encoding="utf-8"?><soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
       <soapenv:Header>
        <soapenv:Upgrade soapenv:actor="
      http://schemas.xmlsoap.org/soap/actor/next" soapenv:mustUnderstand="0">
         <soapenv:SupportedEnvelope qname="soapenv:Envelope"/>
        </soapenv:Upgrade>
       </soapenv:Header>
       <soapenv:Body>
        <soapenv:Fault>
         <faultcode>soapenv:VersionMismatch</faultcode>
         <faultstring>Version Mismatch</faultstring>
         <detail>
          <ns1:hostname xmlns:ns1="
      http://xml.apache.org/axis/">dalxmlsandbox1.flight.yellowpages.com</ns1:hostname>
         </detail>
        </soapenv:Fault>
       </soapenv:Body>
      </soapenv:Envelope>

      I'm a bit worried about the 'soapenc' and 'encodingstyle' pointing to the same place - and also the /wsdl/soap, rather than /soap/envelope/ - but the version mismatch error has me thrown for a loop -

      here is the top of the wsdl

      <wsdl:definitions name="IntegrationAPI2" targetNamespace="http://integration.yellowpages.com" xmlns:apachesoap="http://x
      ml.apache.org/xml-soap" xmlns:soap="http://schemas.xmlsoap.org/wsdl/soap/" xmlns:soapenc="http://schemas.xmlsoap.org/soa
      p/encoding/" xmlns:tns="http://integration.yellowpages.com" xmlns:tns2="http://data2.integration.yellowpages.com" xmlns:
      wsdl="
      http://schemas.xmlsoap.org/wsdl/" xmlns:xsd="http://www.w3.org/2001/XMLSchema">

      I'd rather edit the wsdl, than hack the code if possible.....it is so nice and tight the way it is!

      many thanks

      pat

       

    • Martin Kutter
      Hi Patrick, this is due to an error in SOAP::Lite s namespace handling - it uses soap: as envelope prefix and does not recognize it is already taken. The
      Message 2 of 3 , Mar 28 2:43 PM
      • 0 Attachment
        Hi Patrick,

        this is due to an error in SOAP::Lite's namespace handling - it uses
        soap: as envelope prefix and does not recognize it is already taken.

        The easiest workaround is to add the following line to your code
        (somewhere at start):

        $SOAP::Constants::PREFIX_ENV = 'SOAP-ENV';

        This makes SOAP::Lite use SOAP-ENV as envelope prefix again and avoids
        the namespace clash.

        Martin

        Am Freitag, den 28.03.2008, 20:39 +0000 schrieb Patrick:
        > Hi All - My apologies for a huge post, esp 1st time out - i've been
        > using SOAP::Lite for a year, and have been able to figure things out,
        > but.....oh, please don't try to call the yellowpages service.....it
        > isn't in a public place yet.
        >
        > We are changing platforms to solaris 10 and of course they want the
        > latest and greatest tool versions installed - we started with perl
        > 5.8.7 with SOAP::Lite .60, loading from a wsdl, i get a working
        > request that looks like....
        >
        >
        > SOAP::Transport::HTTP::Client::send_receive: POST
        > http://sandbox.yellowpages.com:8080/yellowpages/services/IntegrationAPI2 HTTP/1.1
        > Accept: text/xml
        > Accept: multipart/*
        > Content-Length: 936
        > Content-Type: text/xml; charset=utf-8
        > SOAPAction: ""
        >
        > <?xml version="1.0" encoding="UTF-8"?>
        > <SOAP-ENV:Envelope
        > xmlns:xsi="http://www.w3.org/1999/XMLSchema-instance"
        > xmlns:SOAP-ENC="http://schemas.xmlsoap.org/soap/encoding/"
        > xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/"
        > xmlns:xsd="http://www.w3.org/1999/XMLSchema"
        > SOAP-ENV:encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"
        > >
        > <SOAP-ENV:Body
        > >
        > <namesp1:findListingsWithPhone
        > xmlns:namesp1="http://integration.yellowpages.com"
        > >
        > <phone xsi:type="xsd:string"
        > >2126455474</phone>
        > <profileId xsi:type="xsd:string"/>
        > <pageNumber xsi:type="xsd:int"
        > >1</pageNumber>
        > <pageSize xsi:type="xsd:int"
        > >1</pageSize>
        > <partnerId xsi:type="xsd:string"
        > >ABC123</partnerId>
        > <userId xsi:type="xsd:strin g"/>
        > <transactionId xsi:type="xsd:string" xsi:null="1"/>
        > <sort
        > xsi:type="xsd:string"/></namesp1:findListingsWithPhone></SOAP-ENV:Body></SOAP-ENV:Envelope>
        > SOAP::Transport::HTTP::Client::send_receive: HTTP/1.1 200 OK
        > Connection: close
        >
        >
        > With Perl 5.8.8 (or 5.10) and SOAP::Lite .71 the request that
        > generates a fault...it looks like
        >
        >
        > SOAP::Transport::HTTP::Client::send_receive: POST
        > http://sandbox.yellowpages.com:8080/yellowpages/services/IntegrationAPI2 HTTP/1.1
        > Accept: text/xml
        > Accept: multipart/*
        > Accept: application/soap
        > Content-Length: 1085
        > Content-Type: text/xml; charset=utf-8
        > SOAPAction: ""
        >
        > <?xml version="1.0" encoding="UTF-8"?>
        > <soap:Envelope
        > xmlns:tns2="http://data2.integration.yellowpages.com"
        > xmlns:apachesoap="http://xml.apache.org/xml-soap"
        > soap:encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"
        > xmlns:soap="http://schemas.xmlsoap.org/wsdl/soap/"
        > xmlns:wsdl="http://schemas.xmlsoap.org/wsdl/"
        > xmlns:soapenc="http://schemas.xmlsoap.org/soap/encoding/"
        > xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
        > xmlns:xsd="http://www.w3.org/2001/XMLSchema"
        > xmlns:tns="http://integration.yellowpages.com">
        > <soap:Body>
        > <tns:findListingsWithPhone>
        > ! ; <ph one xsi:type="xsd:string">2126455474</phone>
        >
        > <profileId xsi:type="xsd:string" />
        >
        > <pageNumber xsi:type="xsd:int">1</pageNumber>
        >
        > <pageSize xsi:type="xsd:int">1</pageSize>
        >
        > <partnerId xsi:type="xsd:string">ABC123</partnerId>
        >
        > <userId xsi:type="xsd:string" />
        >
        > <transactionId xsi:type="xsd:string" />
        >
        > <sort xsi:type="xsd:string" />
        > </tns:findListingsWithPhone>
        > </soap:Body>
        > </soap:Envelope>
        > SOAP::Transport::HTTP::Client::send_receive: HTTP/1.1 500 Internal
        > Server Error
        > Connection: close
        > Date: Fri, 28 Mar 2008 20:13:21 GMT
        > Server: nginx/0.5.35
        > Content-Type: text/xml;charset=utf-8
        > Client-Date: Fri, 28 Mar 2008 20:12:00 GMT
        > Client-Peer: 216.173.231.85:8080
        > Client-Response-Num: 1
        > Client-Transfer-Encoding: chunked
        >
        > <?xml version="1.0" encoding="utf-8"?><soapenv:Envelope
        > xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/"
        > xmlns:xsd="http://www.w3.org/2001/XMLSchema"
        > xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
        > <soapenv:Header>
        > <soapenv:Upgrade
        > soapenv:actor="http://schemas.xmlsoap.org/soap/actor/next"
        > soapenv:mustUnderstand="0">
        > <soapenv:SupportedEnvelope qname="soapenv:Envelope"/>
        > </soapenv:Upgrade>
        > </soapenv:Header>
        > <soapenv:Body>
        > <soapenv:Fault>
        > <faultcode>soapenv:VersionMismatch</faultcode>
        > <faultstring>Version Mismatch</faultstring>
        > <detail>
        > <ns1:hostname
        > xmlns:ns1="http://xml.apache.org/axis/">dalxmlsandbox1.flight.yellowpages.com</ns1:hostname>
        > </detail>
        > </soapenv:Fault>
        > </soapenv:Body>
        > </soapenv:Envelope>
        >
        >
        > I'm a bit worried about the 'soapenc' and 'encodingstyle' pointing to
        > the same place - and also the /wsdl/soap, rather than /soap/envelope/
        > - but the version mismatch error has me thrown for a loop -
        >
        > here is the top of the wsdl
        >
        > <wsdl:definitions name="IntegrationAPI2"
        > targetNamespace="http://integration.yellowpages.com"
        > xmlns:apachesoap="http://x
        > ml.apache.org/xml-soap"
        > xmlns:soap="http://schemas.xmlsoap.org/wsdl/soap/"
        > xmlns:soapenc="http://schemas.xmlsoap.org/soa
        > p/encoding/" xmlns:tns="http://integration.yellowpages.com"
        > xmlns:tns2="http://data2.integration.yellowpages.com" xmlns:
        > wsdl="http://schemas.xmlsoap.org/wsdl/"
        > xmlns:xsd="http://www.w3.org/2001/XMLSchema">
        >
        >
        > I'd rather edit the wsdl, than hack the code if possible.....it is so
        > nice and tight the way it is!
        >
        > many thanks
        >
        > pat
        >
        >
        >
        >
        >
      • patrick mariani
        Vielen Danke! Worked w/o a hitch..... Pat For Completeness - here it is
        Message 3 of 3 , Mar 28 4:05 PM
        • 0 Attachment
          Vielen Danke!

          Worked w/o a hitch.....

          Pat

          For Completeness - here it is

          <SOAP-ENV:Envelope
          xmlns:tns2="http://data2.integration.yellowpages.com"
          xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/"
          xmlns:apachesoap="http://xml.apache.org/xml-soap"
          xmlns:soap="http://schemas.xmlsoap.org/wsdl/soap/"
          xmlns:wsdl="http://schemas.xmlsoap.org/wsdl/"
          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"
          xmlns:tns="http://integration.yellowpages.com"
          SOAP-ENV:encodingStyle="http://schemas.xmlsoap.org/soap/encoding/">
          <SOAP-ENV:Body>
          <tns:findListingsWithPhone>
          <phone xsi:type="xsd:string">2126455474</phone>

          <profileId xsi:type="xsd:string" />

          <pageNumber xsi:type="xsd:int">1</pageNumber>

          <pageSize xsi:type="xsd:int">1</pageSize>

          <partnerId xsi:type="xsd:string">ABC123</partnerId>

          <userId xsi:type="xsd:string" />

          <transactionId xsi:type="xsd:string" />

          <sort xsi:type="xsd:string" />
          </tns:findListingsWithPhone>
          </SOAP-ENV:Body>
          </SOAP-ENV:Envelope>
          SOAP::Transport::HTTP::Client::send_receive: HTTP/1.1 200 OK
          Connection: close




          ----- Original Message -----
          From: "Martin Kutter" <martin.kutter@...>
          To: "Patrick" <pat.mariani@...>
          Cc: <soaplite@yahoogroups.com>
          Sent: Friday, March 28, 2008 5:43 PM
          Subject: Re: [soaplite] Classic Upgrade issue


          > Hi Patrick,
          >
          > this is due to an error in SOAP::Lite's namespace handling - it uses
          > soap: as envelope prefix and does not recognize it is already taken.
          >
          > The easiest workaround is to add the following line to your code
          > (somewhere at start):
          >
          > $SOAP::Constants::PREFIX_ENV = 'SOAP-ENV';
          >
          > This makes SOAP::Lite use SOAP-ENV as envelope prefix again and avoids
          > the namespace clash.
          >
          > Martin
          >
          > Am Freitag, den 28.03.2008, 20:39 +0000 schrieb Patrick:
          >> Hi All - My apologies for a huge post, esp 1st time out - i've been
          >> using SOAP::Lite for a year, and have been able to figure things out,
          >> but.....oh, please don't try to call the yellowpages service.....it
          >> isn't in a public place yet.
          >>
          >> We are changing platforms to solaris 10 and of course they want the
          >> latest and greatest tool versions installed - we started with perl
          >> 5.8.7 with SOAP::Lite .60, loading from a wsdl, i get a working
          >> request that looks like....
          >>
          >>
          >> SOAP::Transport::HTTP::Client::send_receive: POST
          >> http://sandbox.yellowpages.com:8080/yellowpages/services/IntegrationAPI2
          >> HTTP/1.1
          >> Accept: text/xml
          >> Accept: multipart/*
          >> Content-Length: 936
          >> Content-Type: text/xml; charset=utf-8
          >> SOAPAction: ""
          >>
          >> <?xml version="1.0" encoding="UTF-8"?>
          >> <SOAP-ENV:Envelope
          >> xmlns:xsi="http://www.w3.org/1999/XMLSchema-instance"
          >> xmlns:SOAP-ENC="http://schemas.xmlsoap.org/soap/encoding/"
          >> xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/"
          >> xmlns:xsd="http://www.w3.org/1999/XMLSchema"
          >> SOAP-ENV:encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"
          >> >
          >> <SOAP-ENV:Body
          >> >
          >> <namesp1:findListingsWithPhone
          >> xmlns:namesp1="http://integration.yellowpages.com"
          >> >
          >> <phone xsi:type="xsd:string"
          >> >2126455474</phone>
          >> <profileId xsi:type="xsd:string"/>
          >> <pageNumber xsi:type="xsd:int"
          >> >1</pageNumber>
          >> <pageSize xsi:type="xsd:int"
          >> >1</pageSize>
          >> <partnerId xsi:type="xsd:string"
          >> >ABC123</partnerId>
          >> <userId xsi:type="xsd:strin g"/>
          >> <transactionId xsi:type="xsd:string" xsi:null="1"/>
          >> <sort
          >> xsi:type="xsd:string"/></namesp1:findListingsWithPhone></SOAP-ENV:Body></SOAP-ENV:Envelope>
          >> SOAP::Transport::HTTP::Client::send_receive: HTTP/1.1 200 OK
          >> Connection: close
          >>
          >>
          >> With Perl 5.8.8 (or 5.10) and SOAP::Lite .71 the request that
          >> generates a fault...it looks like
          >>
          >>
          >> SOAP::Transport::HTTP::Client::send_receive: POST
          >> http://sandbox.yellowpages.com:8080/yellowpages/services/IntegrationAPI2
          >> HTTP/1.1
          >> Accept: text/xml
          >> Accept: multipart/*
          >> Accept: application/soap
          >> Content-Length: 1085
          >> Content-Type: text/xml; charset=utf-8
          >> SOAPAction: ""
          >>
          >> <?xml version="1.0" encoding="UTF-8"?>
          >> <soap:Envelope
          >> xmlns:tns2="http://data2.integration.yellowpages.com"
          >> xmlns:apachesoap="http://xml.apache.org/xml-soap"
          >> soap:encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"
          >> xmlns:soap="http://schemas.xmlsoap.org/wsdl/soap/"
          >> xmlns:wsdl="http://schemas.xmlsoap.org/wsdl/"
          >> xmlns:soapenc="http://schemas.xmlsoap.org/soap/encoding/"
          >> xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
          >> xmlns:xsd="http://www.w3.org/2001/XMLSchema"
          >> xmlns:tns="http://integration.yellowpages.com">
          >> <soap:Body>
          >> <tns:findListingsWithPhone>
          >> ! ; <ph one xsi:type="xsd:string">2126455474</phone>
          >>
          >> <profileId xsi:type="xsd:string" />
          >>
          >> <pageNumber xsi:type="xsd:int">1</pageNumber>
          >>
          >> <pageSize xsi:type="xsd:int">1</pageSize>
          >>
          >> <partnerId xsi:type="xsd:string">ABC123</partnerId>
          >>
          >> <userId xsi:type="xsd:string" />
          >>
          >> <transactionId xsi:type="xsd:string" />
          >>
          >> <sort xsi:type="xsd:string" />
          >> </tns:findListingsWithPhone>
          >> </soap:Body>
          >> </soap:Envelope>
          >> SOAP::Transport::HTTP::Client::send_receive: HTTP/1.1 500 Internal
          >> Server Error
          >> Connection: close
          >> Date: Fri, 28 Mar 2008 20:13:21 GMT
          >> Server: nginx/0.5.35
          >> Content-Type: text/xml;charset=utf-8
          >> Client-Date: Fri, 28 Mar 2008 20:12:00 GMT
          >> Client-Peer: 216.173.231.85:8080
          >> Client-Response-Num: 1
          >> Client-Transfer-Encoding: chunked
          >>
          >> <?xml version="1.0" encoding="utf-8"?><soapenv:Envelope
          >> xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/"
          >> xmlns:xsd="http://www.w3.org/2001/XMLSchema"
          >> xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
          >> <soapenv:Header>
          >> <soapenv:Upgrade
          >> soapenv:actor="http://schemas.xmlsoap.org/soap/actor/next"
          >> soapenv:mustUnderstand="0">
          >> <soapenv:SupportedEnvelope qname="soapenv:Envelope"/>
          >> </soapenv:Upgrade>
          >> </soapenv:Header>
          >> <soapenv:Body>
          >> <soapenv:Fault>
          >> <faultcode>soapenv:VersionMismatch</faultcode>
          >> <faultstring>Version Mismatch</faultstring>
          >> <detail>
          >> <ns1:hostname
          >> xmlns:ns1="http://xml.apache.org/axis/">dalxmlsandbox1.flight.yellowpages.com</ns1:hostname>
          >> </detail>
          >> </soapenv:Fault>
          >> </soapenv:Body>
          >> </soapenv:Envelope>
          >>
          >>
          >> I'm a bit worried about the 'soapenc' and 'encodingstyle' pointing to
          >> the same place - and also the /wsdl/soap, rather than /soap/envelope/
          >> - but the version mismatch error has me thrown for a loop -
          >>
          >> here is the top of the wsdl
          >>
          >> <wsdl:definitions name="IntegrationAPI2"
          >> targetNamespace="http://integration.yellowpages.com"
          >> xmlns:apachesoap="http://x
          >> ml.apache.org/xml-soap"
          >> xmlns:soap="http://schemas.xmlsoap.org/wsdl/soap/"
          >> xmlns:soapenc="http://schemas.xmlsoap.org/soa
          >> p/encoding/" xmlns:tns="http://integration.yellowpages.com"
          >> xmlns:tns2="http://data2.integration.yellowpages.com" xmlns:
          >> wsdl="http://schemas.xmlsoap.org/wsdl/"
          >> xmlns:xsd="http://www.w3.org/2001/XMLSchema">
          >>
          >>
          >> I'd rather edit the wsdl, than hack the code if possible.....it is so
          >> nice and tight the way it is!
          >>
          >> many thanks
          >>
          >> pat
          >>
          >>
          >>
          >>
          >>
          >
        Your message has been successfully submitted and would be delivered to recipients shortly.