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

AW: AW: [soaplite] with ->call() => $value is different from ->value( $value ) ?

Expand Messages
  • Martin Busik
    Hi, ... I ll demonstrate it with a different example: $auth = SOAP::Header- name( aaa ); $param = SOAP::Data- name( ppp ); $proxy- call($method,$authm,$param)
    Message 1 of 4 , Apr 6, 2010

      > I guess it's not clear to me why there is a difference.

      I'll demonstrate it with a different example:

      $auth = SOAP::Header->name("aaa");
      $param = SOAP::Data->name("ppp");


      is a variant where SOAP::Lite recognises the Header

      $auth = SOAP::Header->name("aaa");
      $param = SOAP::Data->name("ppp")->value($auth);


      is a variant where SOAP::Lite does not recognises the header, it is simply
      "not there".

      I suppose the reason for that behavior is, that SOAP::Header is a subclass
      of SOAP::Data, so
      you might use SOAP::Header everywhere you may use SOAP::Data. It does not
      work vice versa.

      I suppose (without checking the source code), that only the parameter list
      of the call() method
      is checked with respect to SOAP::Header. In contrast, the content of the
      supplied parameter is
      not checked (this makes in my opinion no sense).

      > Even more so since the documentation seems to indicate that
      > they are equivalent -- they indicate you can do it either
      > way. But if they are not equivalent...

      Which part of the documentation indicates that they are equivalent?

    Your message has been successfully submitted and would be delivered to recipients shortly.