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

I posted earlier, this time i will try and make sense

Expand Messages
  • cynicalearth
    I need to create some XML that looks like this - xmlns:m0= m0:NAMESPACE
    Message 1 of 6 , Jan 18, 2004
    • 0 Attachment
      I need to create some XML that looks like this -

      xmlns:m0="m0:NAMESPACE">
      <SOAP-ENV:Header>
      <m:LoginHeader xmlns:m="m:NAMESPACE">
      <m0:username>USER</m0:username>
      <m0:password>PASSWORD</m0:password>
      </m:LoginHeader>
      </SOAP-ENV:Header>
      <SOAP-ENV:Body>
      <m:SearchHotels xmlns:m="m:NAMESPACE">
      <m:sDestination>nyc</m:sDestination>
      <m:sHotelName></m:sHotelName>

      thats just an extract but it covers all the questions i have.

      That top call to m0:NAMESPACE is in the envelope, how can get that
      inside the envelope? I have looked at a lot of documentation and
      can't find it. To get the "m" in front of all the element, I thought
      all i had to do was use prefix('m') in SOAP::Data but i get an error
      of undecalred namespace and the 'm' is on the tag opener and not on
      the closing tag.... it take thats why its a prefix. How do i decalre
      the namespace as 'm' and get it on both the opening and the closing?

      I have tried numerous ways to do this but i either get errors from
      the server or i get errors from my code.

      Can anyone guide me in the right direction?
    • Byrne Reese
      Aaaah. This is a much better question. Your problem is something that will be fixed in the next release of SOAP::Lite. In the next release, namespaces can be
      Message 2 of 6 , Jan 19, 2004
      • 0 Attachment
        Aaaah. This is a much better question. Your problem is something that will
        be fixed in the next release of SOAP::Lite. In the next release,
        namespaces can be registered globally, and namespaces can be searched by
        prefix and uri as to avoid namespace proliferation. In the meantime, there
        is a work around. You need to modify the root element of the request, and
        specify namespaces and namespace prefixes manually. Check out the
        following article on majordojo to learn how:

        http://www.majordojo.com/archives/000009.html

        > I need to create some XML that looks like this -
        >
        > xmlns:m0="m0:NAMESPACE"SOAP-ENV:Headerm:LoginHeader
        > xmlns:m="m:NAMESPACE"m0:username/m0:usernamem0:password/m0:password/m:LoginHeader/SOAP-ENV:HeaderSOAP-ENV:Bodym:SearchHotels
        > xmlns:m="m:NAMESPACE"m:sDestination/m:sDestinationm:sHotelName/m:sHotelName


        ^byrne :/
      • cynicalearth
        Ok, I have progressed a lot further. I still have two issues - 1. I still can t get the namespace m0 into the envolope, i have been looking at the module and
        Message 3 of 6 , Jan 21, 2004
        • 0 Attachment
          Ok, I have progressed a lot further. I still have two issues -

          1. I still can't get the namespace "m0" into the envolope, i have
          been looking at the module and trying every method possible but still
          seem to be bangin my head against the wall.
          2. Is there anyway not to show the xsd types?

          --- In soaplite@yahoogroups.com, "Byrne Reese" <byrne@m...> wrote:
          > Aaaah. This is a much better question. Your problem is something
          that will
          > be fixed in the next release of SOAP::Lite. In the next release,
          > namespaces can be registered globally, and namespaces can be
          searched by
          > prefix and uri as to avoid namespace proliferation. In the
          meantime, there
          > is a work around. You need to modify the root element of the
          request, and
          > specify namespaces and namespace prefixes manually. Check out the
          > following article on majordojo to learn how:
          >
          > http://www.majordojo.com/archives/000009.html
          >
          > > I need to create some XML that looks like this -
          > >
          > > xmlns:m0="m0:NAMESPACE"SOAP-ENV:Headerm:LoginHeader
          > >
          xmlns:m="m:NAMESPACE"m0:username/m0:usernamem0:password/m0:password/m:
          LoginHeader/SOAP-ENV:HeaderSOAP-ENV:Bodym:SearchHotels
          > >
          xmlns:m="m:NAMESPACE"m:sDestination/m:sDestinationm:sHotelName/m:sHote
          lName
          >
          >
          > ^byrne :/
        • cynicalearth
          Point 2, I have now worked out. Still can t get point 1 though ... still ... xmlns:m= m:NAMESPACE m:sDestination/m:sDestinationm:sHotelName/m:sHote
          Message 4 of 6 , Jan 21, 2004
          • 0 Attachment
            Point 2, I have now worked out.

            Still can't get point 1 though

            --- In soaplite@yahoogroups.com, "cynicalearth" <forums@c...> wrote:
            > Ok, I have progressed a lot further. I still have two issues -
            >
            > 1. I still can't get the namespace "m0" into the envolope, i have
            > been looking at the module and trying every method possible but
            still
            > seem to be bangin my head against the wall.
            > 2. Is there anyway not to show the xsd types?
            >
            > --- In soaplite@yahoogroups.com, "Byrne Reese" <byrne@m...> wrote:
            > > Aaaah. This is a much better question. Your problem is something
            > that will
            > > be fixed in the next release of SOAP::Lite. In the next release,
            > > namespaces can be registered globally, and namespaces can be
            > searched by
            > > prefix and uri as to avoid namespace proliferation. In the
            > meantime, there
            > > is a work around. You need to modify the root element of the
            > request, and
            > > specify namespaces and namespace prefixes manually. Check out the
            > > following article on majordojo to learn how:
            > >
            > > http://www.majordojo.com/archives/000009.html
            > >
            > > > I need to create some XML that looks like this -
            > > >
            > > > xmlns:m0="m0:NAMESPACE"SOAP-ENV:Headerm:LoginHeader
            > > >
            >
            xmlns:m="m:NAMESPACE"m0:username/m0:usernamem0:password/m0:password/m:
            > LoginHeader/SOAP-ENV:HeaderSOAP-ENV:Bodym:SearchHotels
            > > >
            >
            xmlns:m="m:NAMESPACE"m:sDestination/m:sDestinationm:sHotelName/m:sHote
            > lName
            > >
            > >
            > > ^byrne :/
          • cynicalearth
            I forgot to include this in the post below.... my code currently looks like this but it doesn t give me what i need $soap = SOAP::Lite - autotype(0) -
            Message 5 of 6 , Jan 21, 2004
            • 0 Attachment
              I forgot to include this in the post below.... my code currently
              looks like this but it doesn't give me what i need

              $soap = SOAP::Lite
              -> autotype(0)
              -> namespace("m0")
              -> xmlschema('http://www.w3.org/2001/XMLSchema')
              -> uri($ns2)
              -> on_action(sub{sprintf '%s/%s', @_ })
              -> proxy($proxy);

              $method = SOAP::Data->name("SearchHotels")->prefix("m")->uri($ns1);
              And then i have all the parameter stuff.... but that all looks lovely

              what i need is an envelope that looks like this -

              <SOAP-ENV:Envelope
              xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/"
              xmlns:SOAP-ENC="http://schemas.xmlsoap.org/soap/encoding/"
              xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
              xmlns:xsd="http://www.w3.org/2001/XMLSchema"
              xmlns:m0="http://tourico.com/travelservices/">

              --- In soaplite@yahoogroups.com, "cynicalearth" <forums@c...> wrote:
              > Point 2, I have now worked out.
              >
              > Still can't get point 1 though
              >
              > --- In soaplite@yahoogroups.com, "cynicalearth" <forums@c...> wrote:
              > > Ok, I have progressed a lot further. I still have two issues -
              > >
              > > 1. I still can't get the namespace "m0" into the envolope, i have
              > > been looking at the module and trying every method possible but
              > still
              > > seem to be bangin my head against the wall.
              > > 2. Is there anyway not to show the xsd types?
              > >
              > > --- In soaplite@yahoogroups.com, "Byrne Reese" <byrne@m...> wrote:
              > > > Aaaah. This is a much better question. Your problem is
              something
              > > that will
              > > > be fixed in the next release of SOAP::Lite. In the next release,
              > > > namespaces can be registered globally, and namespaces can be
              > > searched by
              > > > prefix and uri as to avoid namespace proliferation. In the
              > > meantime, there
              > > > is a work around. You need to modify the root element of the
              > > request, and
              > > > specify namespaces and namespace prefixes manually. Check out
              the
              > > > following article on majordojo to learn how:
              > > >
              > > > http://www.majordojo.com/archives/000009.html
              > > >
              > > > > I need to create some XML that looks like this -
              > > > >
              > > > > xmlns:m0="m0:NAMESPACE"SOAP-ENV:Headerm:LoginHeader
              > > > >
              > >
              >
              xmlns:m="m:NAMESPACE"m0:username/m0:usernamem0:password/m0:password/m:
              > > LoginHeader/SOAP-ENV:HeaderSOAP-ENV:Bodym:SearchHotels
              > > > >
              > >
              >
              xmlns:m="m:NAMESPACE"m:sDestination/m:sDestinationm:sHotelName/m:sHote
              > > lName
              > > >
              > > >
              > > > ^byrne :/
            • Byrne Reese
              I don t mean to be hard headed, but placing the NS declaration in the Envelope and in the method call is functionally equivalent. I say that only to underscore
              Message 6 of 6 , Jan 21, 2004
              • 0 Attachment
                I don't mean to be hard headed, but placing the NS declaration in the
                Envelope and in the method call is functionally equivalent.

                I say that only to underscore how odd the behavior is.

                To get your XML even closer to what is "expected" by the server, I might
                try adding the correct ns prefix to every element in the method.

                Honestly, I am using voodoo here, as I am not sure why .NET will not parse
                the request properly.

                BTW - what is the SOAP Fault coming back from .NET?

                The behavior you are looking for is available in CVS and will be released
                with SOAP::Lite 0.65.

                >
                >
                >
                >
                > I forgot to include this in the post below.... my code currently
                > looks like this but it doesn't give me what i need
                >
                > $soap = SOAP::Lite
                > -< autotype(0)
                > -< namespace("m0")
                > -< xmlschema('http://www.w3.org/2001/XMLSchema')
                > -< uri($ns2)
                > -< on_action(sub{sprintf '%s/%s', @_ })
                > -< proxy($proxy);
                >
                > $method = SOAP::Data-byrne@m...< wrote:
                > < < < Aaaah. This is a much better question. Your problem is
                > something
                > < < that will
                > < < < be fixed in the next release of SOAP::Lite. In the next release,
                > < < < namespaces can be registered globally, and namespaces can be
                > < < searched by
                > < < < prefix and uri as to avoid namespace proliferation. In the
                > < < meantime, there
                > < < < is a work around. You need to modify the root element of the
                > < < request, and
                > < < < specify namespaces and namespace prefixes manually. Check out
                > the
                > < < < following article on majordojo to learn how:
                > < < <
                > < < < http://www.majordojo.com/archives/000009.html
                > < < <
                > < < < < I need to create some XML that looks like this -
                > < < <
                >
                >
                >
                >
                > Yahoo! Groups Links
                >
                > To visit your group on the web, go
                > to:http://groups.yahoo.com/group/soaplite/
                > To unsubscribe from this group, send an email
                > to:soaplite-unsubscribe@yahoogroups.com
                > Your use of Yahoo! Groups is subject to the Yahoo! Terms of Service.
                >
                >
                >
                >
                >
                >
                >


                ^byrne :/
              Your message has been successfully submitted and would be delivered to recipients shortly.