#114 Wont work in perl, does with curl?

closed-duplicate
Martin Kutter
WSDL (18)
5
2014-04-23
2006-09-13
Rob
No

When I send the next xml request :

<?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/enc
oding/">
<SOAP-ENV:Body>
<namesp1:RetrieveSubscriberFeatures
xmlns:namesp1="urn:AM" SOAP-
ENV:encodingStyle="http://schemas.xmlsoap.org/soap/enc
oding/">
<RetrieveSubscriberFeaturesReqParam
xmlns:namesp1="urn:AM"
xsi:type="namesp1:RetrieveSubscriberFeaturesReqStruct"
>
<JobId
xsi:type="xsd:string">123456789070987654321</JobId>
<SubscriberNumber
xsi:type="xsd:string">0206974366</SubscriberNumber>
</RetrieveSubscriberFeaturesReqParam>
</namesp1:RetrieveSubscriberFeatures>
</SOAP-ENV:Body>
</SOAP-ENV:Envelope>

using curl, there is no problem. When I send it by
using Perl::Lite, I'm getting an error :
Unrecognized type '{urn:AM}FeatureNameEnum'

the perl prog:
#!/usr/bin/perl -w

######## Benodigde lib's ########
use strict;
use Data::Dumper;
use SOAP::Lite;

my $uri = 'urn:AM';
my $proxy
= 'http://xxx.xxx.xxx.xxx:80/tinOSS/services/Somewsdl?
wsdl';
my $encode
= 'http://schemas.xmlsoap.org/soap/encoding/';

my $client = SOAP::Lite
-> readable(1)
-> uri($uri)
-> on_debug (sub{ print@_ })
#-> on_fault (sub {})
-> proxy($proxy);

my $elements = SOAP::Data
->name("RetrieveSubscriberFeaturesReqParam"
=> \SOAP::Data->value(
SOAP::Data->name("JobId"
=> "123456789070987654321")->type("string"),
SOAP::Data->name("SubscriberNumber"
=> "0206974366")->type("string")))
->attr( { 'xmlns:namesp1' => $uri } )
->type
("namesp1:RetrieveSubscriberFeaturesReqStruct");

my $method = SOAP::Data
->name("RetrieveSubscriberFeatures")
->uri($uri)
->encodingStyle($encode);

my $response = $client->call($method => $elements);

unless ($response->fault) {
print "GOED\n";
} else {
print "FOUT\n"
}

I'm getting the output of my request, but in STDERR.
I really don't have a clue what to do now.....

The wsdl file is attached...

I'm working on Linux 2.6.9

Discussion

  • Rob
    Rob
    2006-09-13

    wsdl file

     
    Attachments
  • Martin Kutter
    Martin Kutter
    2007-10-08

    Logged In: YES
    user_id=884175
    Originator: NO

    Duplicate of 757415 Support deserialization of enumerated values

     
  • Martin Kutter
    Martin Kutter
    2007-10-08

    • assigned_to: byrnereese --> kutterma
    • status: open --> closed-duplicate