[kansaipm] SOAP::Lite で encodingStyle を指定する方法は?

Yasushi Nakajima sey at jkc.co.jp
Fri Jan 3 11:16:51 CST 2003


 なんだかちょっと無理矢理な感じもしますが、こんなんでどうでしょう?

#!/usr/bin/perl -w
use strict;
use SOAP::Lite +trace => qw(debug);
my $result = SOAP::Lite
    ->uri('urn:AddressFetcher')
    ->proxy('http://localhost:8080/soap/servlet/rpcrouter')
    ->serializer(MySerializer->new_literal)
    ->getAllListings();
print $result->result;

BEGIN {
    package MySerializer; @MySerializer::ISA = 'SOAP::Serializer';
    my $litencurl = "http://xml.apache.org/xml-soap/literalxml";
    sub new_literal {
      my $self = shift->SUPER::new(@_);
      $self->{_attr}{"{$SOAP::Constants::NS_ENV}encodingStyle"} = $litencurl;
      $self->{_namespaces}{$litencurl} = $SOAP::Constants::PREFIX_ENC;
      $self;
    }
}


中島 靖




More information about the Kansai-pm mailing list