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

RE: [soaplite] SOAP::Lite interoperability with .NET using hrefs

Expand Messages
  • Andy Kelk
    Hi, Does anyone have any ideas on this at all? I ve pretty much hit a wall and am about to give up with it. I think I might have to investigate other SOAP
    Message 1 of 9 , Feb 10, 2003
    • 0 Attachment
      Hi,

      Does anyone have any ideas on this at all?

      I've pretty much hit a wall and am about to give up with it. I think I
      might have to investigate other SOAP implementations and see if I can
      get them to work with .Net




      --
      Andy Kelk
      Head of Integration, Venda
      andy@...

      > -----Original Message-----
      > From: Andy Kelk
      > Sent: 05 February 2003 16:27
      > To: soaplite@yahoogroups.com
      > Subject: RE: [soaplite] SOAP::Lite interoperability with .NET
      > using hrefs
      >
      >
      > As a follow up to my own message, I can get the data to be
      > recognised if I get VB.net to use literal style with
      > "wrapped" ParameterStyle.
      >
      > <soap:Envelope xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/"
      > xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
      > xmlns:xsd="http://www.w3.org/2001/XMLSchema">
      > <soap:Body>
      > <VendaCreateProduct xmlns="urn:VendaProducts">
      > <skuElements>
      > <skuElement>
      > ....
      > </skuElement>
      > </skuElements>
      > </VendaCreateProduct xmlns="urn:VendaProducts">
      > </soap:Body>
      > </soap:Envelope>
      >
      > This is not what I want, however, as the datatypes are lost
      > and I have no arrays defined.
      >
      > It seems that the initial XML that .Net produces is valid but
      > that the hrefs are confusing SOAP::Lite. Is there any way I
      > can get around this?
      >
      > Thanks
      >
      > Andy
      >
      >
      > --
      > Andy Kelk
      > Head of Integration, Venda
      > andy@...
      >
      > ------------------------ Yahoo! Groups Sponsor
      > ---------------------~--> Get 128 Bit SSL Encryption!
      > http://us.click.yahoo.com/LIgTpC/vN2EAA/xGHJAA> /W6uqlB/TM
      >
      >
      > --------------------------------------------------------------
      > -------~->
      >
      > To unsubscribe from this group, send an email to:
      > soaplite-unsubscribe@yahoogroups.com
      >
      >
      >
      > Your use of Yahoo! Groups is subject to
      > http://docs.yahoo.com/info/terms/
      >
      >
      >
    • msanesh <anesh@hotmail.com>
      I don t have direct relation with what you are trying, but I had a similar problem. I had soaplite client talking to apache axis server. The apache axis server
      Message 2 of 9 , Feb 10, 2003
      • 0 Attachment
        I don't have direct relation with what you are trying, but I had a
        similar problem.

        I had soaplite client talking to apache axis server. The apache
        axis server was sending back multi refs (hrefs) which could not be
        understood by soaplite. However there was a way to turnoff mutirefs
        in apache axis and that fixed my problem. I do not know how to turn
        it off in .net.

        Anesh.

        --- In soaplite@yahoogroups.com, "Andy Kelk" <andy@v...> wrote:
        > Hi,
        >
        > Does anyone have any ideas on this at all?
        >
        > I've pretty much hit a wall and am about to give up with it. I
        think I
        > might have to investigate other SOAP implementations and see if I
        can
        > get them to work with .Net
        >
        >
        >
        >
        > --
        > Andy Kelk
        > Head of Integration, Venda
        > andy@v...
        >
        > > -----Original Message-----
        > > From: Andy Kelk
        > > Sent: 05 February 2003 16:27
        > > To: soaplite@yahoogroups.com
        > > Subject: RE: [soaplite] SOAP::Lite interoperability with .NET
        > > using hrefs
        > >
        > >
        > > As a follow up to my own message, I can get the data to be
        > > recognised if I get VB.net to use literal style with
        > > "wrapped" ParameterStyle.
        > >
        > > <soap:Envelope
        xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/"
        > > xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
        > > xmlns:xsd="http://www.w3.org/2001/XMLSchema">
        > > <soap:Body>
        > > <VendaCreateProduct xmlns="urn:VendaProducts">
        > > <skuElements>
        > > <skuElement>
        > > ....
        > > </skuElement>
        > > </skuElements>
        > > </VendaCreateProduct xmlns="urn:VendaProducts">
        > > </soap:Body>
        > > </soap:Envelope>
        > >
        > > This is not what I want, however, as the datatypes are lost
        > > and I have no arrays defined.
        > >
        > > It seems that the initial XML that .Net produces is valid but
        > > that the hrefs are confusing SOAP::Lite. Is there any way I
        > > can get around this?
        > >
        > > Thanks
        > >
        > > Andy
        > >
        > >
        > > --
        > > Andy Kelk
        > > Head of Integration, Venda
        > > andy@v...
        > >
        > > ------------------------ Yahoo! Groups Sponsor
        > > ---------------------~--> Get 128 Bit SSL Encryption!
        > > http://us.click.yahoo.com/LIgTpC/vN2EAA/xGHJAA> /W6uqlB/TM
        > >
        > >
        > > --------------------------------------------------------------
        > > -------~->
        > >
        > > To unsubscribe from this group, send an email to:
        > > soaplite-unsubscribe@yahoogroups.com
        > >
        > >
        > >
        > > Your use of Yahoo! Groups is subject to
        > > http://docs.yahoo.com/info/terms/
        > >
        > >
        > >
      • Randy J. Ray
        (Apologies to Andy for the duplication, I forgot to Cc soaplite) ... Similar to the response I gave a few days ago concerning arrays, the style .Net is
        Message 3 of 9 , Feb 10, 2003
        • 0 Attachment
          (Apologies to Andy for the duplication, I forgot to Cc soaplite)

          > Does anyone have any ideas on this at all?
          >
          > I've pretty much hit a wall and am about to give up with it. I think I
          > might have to investigate other SOAP implementations and see if I can
          > get them to work with .Net

          Similar to the response I gave a few days ago concerning arrays, the style
          .Net is expecting to see structures in is not the same as what SOAP::Lite
          defaults to. In general, you would need to plug in a routine to serialize your
          data, and you would be best-served by having the hashref be blessed, so that
          you can associate this with a specific class, and not just all hashrefs.

          See the SOAP::Serializer heading in the SOAP::Lite manual page. I realize this
          isn't as helpful as you may have hoped, but I haven't done a lot of .Net
          stuff, either. Some, but not a lot.

          Randy
          --
          rjray@... http://www.rjray.org http://www.svsm.org

          Any spammers auto-extracting addresses from this message will definitely want
          to include uce@... and report@...
        • Duncan Cameron
          ... I had a play-around with the xml you showed in your original post and SOAP::Lite doesn t seem to have a problem with hrefs. ================== my $xml =
          Message 4 of 9 , Feb 10, 2003
          • 0 Attachment
            On 2003-02-10 Andy Kelk wrote:
            >Hi,
            >
            >Does anyone have any ideas on this at all?
            >
            >I've pretty much hit a wall and am about to give up with it. I think I
            >might have to investigate other SOAP implementations and see if I can
            >get them to work with .Net
            >
            >
            >
            >
            >--
            >Andy Kelk
            >Head of Integration, Venda
            >andy@...
            >
            >> -----Original Message-----
            >> From: Andy Kelk
            >> Sent: 05 February 2003 16:27
            >> To: soaplite@yahoogroups.com
            >> Subject: RE: [soaplite] SOAP::Lite interoperability with .NET
            >> using hrefs
            >>
            >>
            >> As a follow up to my own message, I can get the data to be
            >> recognised if I get VB.net to use literal style with
            >> "wrapped" ParameterStyle.
            >>
            >> <soap:Envelope xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/"
            >> xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
            >> xmlns:xsd="http://www.w3.org/2001/XMLSchema">
            >> <soap:Body>
            >> <VendaCreateProduct xmlns="urn:VendaProducts">
            >> <skuElements>
            >> <skuElement>
            >> ....
            >> </skuElement>
            >> </skuElements>
            >> </VendaCreateProduct xmlns="urn:VendaProducts">
            >> </soap:Body>
            >> </soap:Envelope>
            >>
            >> This is not what I want, however, as the datatypes are lost
            >> and I have no arrays defined.
            >>
            >> It seems that the initial XML that .Net produces is valid but
            >> that the hrefs are confusing SOAP::Lite. Is there any way I
            >> can get around this?
            >>
            >> Thanks
            >>
            >> Andy
            >>
            I had a play-around with the xml you showed in your original post and SOAP::Lite
            doesn't seem to have a problem with hrefs.
            ==================
            my $xml = <<'END';
            <soap:Envelope xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/"
            xmlns:soapenc="http://schemas.xmlsoap.org/soap/encoding/"
            xmlns:tns="urn:VendaProducts"
            xmlns:types="urn:VendaProducts/encodedTypes"
            xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
            xmlns:xsd="http://www.w3.org/2001/XMLSchema">
            <soap:Body
            soap:encodingStyle="http://schemas.xmlsoap.org/soap/encoding/">
            <tns:VendaCreateProduct>
            <skuElements href="#id1" />
            </tns:VendaCreateProduct>
            <soapenc:Array id="id1" soapenc:arrayType="tns:skuElement[3]">
            <Item href="#id2" />
            <Item href="#id3" />
            <Item href="#id4" />
            </soapenc:Array>
            <tns:skuElement id="id2" xsi:type="tns:skuElement">24</tns:skuElement>
            <tns:skuElement id="id3" xsi:type="tns:skuElement">36</tns:skuElement>
            <tns:skuElement id="id4" xsi:type="tns:skuElement">48</tns:skuElement>
            </soap:Body>
            </soap:Envelope>
            END

            my $ds = SOAP::Deserializer->new;

            my $som = $ds->deserialize($xml);
            my $sku = $som->dataof("/Envelope/Body/VendaCreateProduct/skuElements");
            print "@{$sku->value}";
            ==================
            this prints:-

            24 36 48

            but I had to create a custom deserializer for the skuEelement. Did you create one
            when you sent your orignal post?

            Regards,
            Duncan Cameron
          • Martin Hajduch
            ... i have to confirm this i have axis server returning an array of complex types as hrefs and i haven t encountered any problems (with hrefs) on the client
            Message 5 of 9 , Feb 11, 2003
            • 0 Attachment
              > I had a play-around with the xml you showed in your original post and SOAP::Lite
              > doesn't seem to have a problem with hrefs.

              i have to confirm this
              i have axis server returning an array of complex types as hrefs and i haven't encountered
              any problems (with hrefs) on the client side (SOAP::Lite)
              i'm even not using my own deserializer

              regards,
              martin
            • Andy Kelk
              Hi all, Thanks ever so much for all of the replies. It certainly gave me some new ammo to fire at the problem and I have now found a solution. I have
              Message 6 of 9 , Feb 11, 2003
              • 0 Attachment
                Hi all,

                Thanks ever so much for all of the replies. It certainly gave me some
                new ammo to fire at the problem and I have now found a solution. I have
                succesfully had a .Net client interact and perform its desired actions
                with the SOAP::Lite server.

                Thanks once again to all who helped out. :-)

                Andy


                --
                Andy Kelk
                Head of Integration, Venda
                andy@...
              • Kevin M. Goess
                ... Passing a struct, one of whose members is an array, back and forth between SOAP::Lite and dotNet (a c# class in a dll). Something like this $d = { trkNum
                Message 7 of 9 , Apr 10, 2003
                • 0 Attachment
                  On Thursday 10 April 2003 01:04 am, you wrote:
                  > > Andy, can you share the secret with us? I'm trying to get
                  > > through the same
                  > > problem and it would be so helpful to see some source code.
                  >
                  > I will certainly do my best. What exactly is the problem you're having?

                  Passing a struct, one of whose members is an array, back and forth between
                  SOAP::Lite and dotNet (a c# class in a dll). Something like this

                  $d = { trkNum => "123",
                  authCred => "fubar",
                  charges => [2,6,9]
                  };

                  Using Randy Ray's example
                  (http://www.perl.com/pub/a/2003/03/26/perlanddotnet.html) of
                  serialize_complex_type() I was able to send the struct back and forth using

                  Use=System.Web.Services.Description.SoapBindingUse.Literal

                  but that doesn't work for sending the array from dotNET to SOAP::Lite because
                  the type information isn't included. Changing from 'Literal' to 'Encoded'
                  gets the array from dotNet to SOAP::Lite just fine but then dotNet doesn't
                  find any data in the response. My current hyposthesis is that I'm missing
                  some type information in the SOAP::Lite response, but nothing I've tried has
                  yielded good results and since my understanding of SOAP is still a little
                  shallow I'm really just groping in the dark, so I thought if I had a working
                  example I could work backwards from it.

                  I really appreciate your offer of help. I can post as much source code or xml
                  as you care to look at, or look at yours--what do you think would be most
                  productive?


                  --
                  Kevin M. Goess
                  Software Engineer
                  Ensenda, Inc.
                  (415) 247-6779
                Your message has been successfully submitted and would be delivered to recipients shortly.