Skip to search.

Breaking News Visit Yahoo! News for the latest.

×Close this window

soaplite · SOAP::Lite for Perl (soaplite.com)

The Yahoo! Groups Product Blog

Check it out!

Group Information

  • Members: 1205
  • Category: Protocols
  • Founded: Jan 28, 2001
  • Language: English
? Already a member? Sign in to Yahoo!

Yahoo! Groups Tips

Did you know...
Real people. Real stories. See how Yahoo! Groups impacts members worldwide.

Messages

Advanced
Messages Help
Messages 6505 - 6536 of 6629   Oldest  |  < Older  |  Newer >  |  Newest
Messages: Show Message Summaries Sort by Date ^  
#6505 From: "Martin Busik" <martin.busik@...>
Date: Sat Oct 2, 2010 1:38 pm
Subject: AW: Dump the soap body/envelope ?
mbusik70
Send Email Send Email
 
Hi,

> I use soap lite and I wonder how can I simply print the soap
> body of a response or request for debugging purposes. Is it
> somehow possible ?

Variant 1:

use SOAP::Lite (+trace => [qw(transport debug parameters)]);

Variant 2:

SOAP::Lite->import( trace => [ transport => \&ws_transport_logger ]);


sub ws_transport_logger {
     my $http = shift;

     if (UNIVERSAL::can($http,"as_string")) {
         warn $http->as_string;
     } else {
         warn Dumper($http);
     }
}

HTH,

Martin

#6506 From: Eric Comeau <ecomeau@...>
Date: Fri Sep 24, 2010 10:21 am
Subject: Re: Problem with capturing fault SOAP::Lite
captcuffs
Send Email Send Email
 
I'm sure I ran into the same issue before and now I always check if the
returned result is defined or not... can't remember if a timeout will
cause this - maybe  a firewall is preventing you from getting to the
server.


On Thu, 2010-09-23 at 13:33 -0700, Mithun Bhattacharya wrote:
>
> I don't seem to be able to recreate your scenario.
>
> I tried setting the URL wrong in the proxy and SOAP::Lite says 404 Not
> Found at. If the host part is wrong the script error's out with 500
> Can't connect to In either case you won't get can't call method fault.
>
> Looking at the error message in itself I would say the problem is
> because $output is undef though I can't think of a scenario where that
> could take place.
>
> Can you post the line 353 of test.pl so that we can respond better ?
>
>
>
> ______________________________________________________________________
> From: jaikanth <Jaikanth.Krishnaswamy@...>
> To: soaplite@yahoogroups.com
> Sent: Thu, September 16, 2010 12:59:12 PM
> Subject: [soaplite] Problem with capturing fault SOAP::Lite
>
> I am a beginner to using SOAP::Lite with perl
> Below is a code snippet I am using. I managed to induce a fault by
> providing an incorrect proxy.
>
> use SOAP::Lite;
>
> my $client = SOAP::Lite->new();
> $client->uri('some uri');
> $client->proxy("some incorrect proxy");
> my $message=SOAP::Data->name(some data);
> my $output=$client->methodname($message);
> print "$output";
> unless ($output->fault)
> {
> # Do something here
> }
> else
> {
> #do something else here
> }
> Can't call method "fault" without a package or object reference
> at ./test.pl line 353.
>
>
>
>
>

#6507 From: "drwaiyy" <drwaiyy@...>
Date: Tue Oct 5, 2010 9:44 am
Subject: Need help on perl server code
drwaiyy
Send Email Send Email
 
Hi All,

I am new to SOAP.

I have set up 2 machines, 1 client(Ubuntu), 1 server(centos).

and a wsld:
<?xml version="1.0" encoding="UTF-8"?>
<definitions name="HelloService"
    targetNamespace="http://www.mysite.com/HelloService.wsdl"
    xmlns="http://schemas.xmlsoap.org/wsdl/"
    xmlns:soap="http://schemas.xmlsoap.org/wsdl/soap/"
    xmlns:tns="http://www.mysite.com/HelloService.wsdl"
    xmlns:xsd="http://www.w3.org/2001/XMLSchema">

    <message name="SayHelloRequest">
       <part name="firstName" type="xsd:string"/>
    </message>
    <message name="SayHelloResponse">
       <part name="greeting" type="xsd:string"/>
    </message>

    <portType name="Hello_PortType">
       <operation name="sayHello">
          <input message="tns:SayHelloRequest"/>
          <output message="tns:SayHelloResponse"/>
       </operation>
    </portType>

    <binding name="Hello_Binding" type="tns:Hello_PortType">
       <soap:binding style="rpc"
          transport="http://schemas.xmlsoap.org/soap/http"/>
       <operation name="sayHello">
          <soap:operation soapAction="sayHello"/>
          <input>
             <soap:body
                encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"
                namespace="urn:examples:helloservice"
                use="encoded"/>
          </input>
          <output>
             <soap:body
                encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"
                namespace="urn:examples:helloservice"
                use="encoded"/>
          </output>
       </operation>
    </binding>

    <service name="Hello_Service">
       <documentation>WSDL File for HelloService</documentation>
       <port binding="tns:Hello_Binding" name="Hello_Port">
          <soap:address
             location="http://www.mysite.com/HelloServerWsdl.pl"/>
       </port>
    </service>
</definitions>


And try to test the SOAP by using SOAP::Lite:

Client:

use SOAP::Lite;

print "Connecting to Hello Service...\n";
print SOAP::Lite
     -> service('http://www.mysite.com/HelloService.wsdl')
     -> sayHello;

But, I have no idea on the server side code.

Please show me some sample code, as I don't get much information when google
around.

Please help.

Thanks.

#6508 From: "prami_22" <pramila.neharkar@...>
Date: Tue Oct 5, 2010 12:19 pm
Subject: soap client gets permission denied
prami_22
Send Email Send Email
 
Hello,

I am writing a web service to return contents of a file
At server side I can open a file & read contents but when client calls same
method, I get permission denied error.
Please explain why am I getting this error & how to avoid it

-Thanks
Pramila

#6509 From: Dave Howorth <dhoworth@...>
Date: Tue Oct 5, 2010 3:48 pm
Subject: Re: Need help on perl server code
dhoworth@...
Send Email Send Email
 
drwaiyy wrote:
> Hi All,
>
> I am new to SOAP.

[snip]

> But, I have no idea on the server side code.
>
> Please show me some sample code, as I don't get much information when google
around.

The first hit in google is http://www.soaplite.com/ Have you looked at
the guide or the cookbook or the code samples? etc etc

Cheers, Dave

#6510 From: Dave Howorth <dhoworth@...>
Date: Tue Oct 5, 2010 3:51 pm
Subject: Re: soap client gets permission denied
dhoworth@...
Send Email Send Email
 
prami_22 wrote:
> I am writing a web service to return contents of a file
> At server side I can open a file & read contents but when client calls same
method, I get permission denied error.
> Please explain why am I getting this error & how to avoid it

You're getting it because you've done something wrong and you could
avoid it either by fixing it or by using a different solution.

If you want some more specific help, posting your code and the actual
messages you see will help people to help you.

Cheers, Dave

#6511 From: "prami_22" <pramila.neharkar@...>
Date: Wed Oct 6, 2010 5:43 am
Subject: Re: soap client gets permission denied
prami_22
Send Email Send Email
 
here is my server & client code
#-------------------server.cgi----------------------
#!/usr/bin/perl -w

use SOAP::Transport::HTTP;
SOAP::Transport::HTTP::CGI
         ->dispatch_to('Demo')
         ->handle;

package Demo;
sub  topic_list {
         $config_path ="/home/pramila/config";
         open(CONFIG, "< $config_path") or die "can't open $config_path: $!";
         my @lines = <CONFIG>;
         my @topics;
         foreach $line (@lines){
                 if ($line =~ /keywords/){
                         chomp $line;
                         my ($key,$value) = split(/ /,$line);
                         my @temp = split(/,/,$value);
                         push (@topics,@temp);
                 }
         }
         return @topics;
}
close(CONFIG);

#--------------------------my_soap_client.pl-----------------
#!/usr/bin/perl -w

use SOAP::Lite;

my $soap = SOAP::Lite
         ->uri('Demo')
         ->proxy('http://10.77.97.204/soap/server.cgi');
my $result =$soap->topic_list();
unless ($result->fault) {
          print $result->result();
          } else {
                   print join ', ',
                    $result->faultcode,
                     $result->faultstring;
   }

#------------------------------------------------------
here is output after executing my_soap_client.pl

soap:Server, can't open /home/pramila/config: Permission denied at
/var/www/html/soap/server.cgi line 13.

-Regards,
Pramila

--- In soaplite@yahoogroups.com, Dave Howorth <dhoworth@...> wrote:
>
> prami_22 wrote:
> > I am writing a web service to return contents of a file
> > At server side I can open a file & read contents but when client calls same
method, I get permission denied error.
> > Please explain why am I getting this error & how to avoid it
>
> You're getting it because you've done something wrong and you could
> avoid it either by fixing it or by using a different solution.
>
> If you want some more specific help, posting your code and the actual
> messages you see will help people to help you.
>
> Cheers, Dave
>

#6512 From: Dave Howorth <dhoworth@...>
Date: Wed Oct 6, 2010 8:34 am
Subject: Re: Re: soap client gets permission denied
dhoworth@...
Send Email Send Email
 
prami_22 wrote:
[snip]
> #------------------------------------------------------
> here is output after executing my_soap_client.pl
>
> soap:Server, can't open /home/pramila/config: Permission denied at
/var/www/html/soap/server.cgi line 13.

and so ... ????

what have you done to investigate?????

Does /home/pramila/config exist?
What are its permissions?
What user is your script running as?

#6513 From: Chris Woodfield <rekoil@...>
Date: Wed Oct 6, 2010 6:32 am
Subject: Re: Re: soap client gets permission denied
cwoodfieldatl
Send Email Send Email
 
Please tell me that you've already verified that server.cgi is readable and executable by the (most likely unprivileged) UID that your apache daemon runs as...

-C

On Oct 5, 2010, at 10:43 55PM, prami_22 wrote:

 

here is my server & client code
#-------------------server.cgi----------------------
#!/usr/bin
soap:Server, can't open /home/pramila/config: Permission denied at /var/www/html/soap/server.cgi line 13.

-Regards,
Pramila

--- In soaplite@yahoogroups.com, Dave Howorth <dhoworth@...> wrote:
>
> prami_22 wrote:
> > I am writing a web service to return contents of a file
> > At server side I can open a file & read contents but when client calls same method, I get permission denied error.
> > Please explain why am I getting this error & how to avoid it
>
> You're getting it because you've done something wrong and you could
> avoid it either by fixing it or by using a different solution.
>
> If you want some more specific help, posting your code and the actual
> messages you see will help people to help you.
>
> Cheers, Dave
>



#6514 From: Dave Howorth <dhoworth@...>
Date: Wed Oct 6, 2010 3:07 pm
Subject: Re: Re: soap client gets permission denied
dhoworth@...
Send Email Send Email
 
Chris Woodfield wrote:
> Please tell me that you've already verified that server.cgi is readable
> and executable by the (most likely unprivileged) UID that your apache
> daemon runs as...

I don't think it would get to line 13 if it wasn't accessible! :)

#6515 From: Chris Woodfield <rekoil@...>
Date: Wed Oct 6, 2010 3:15 pm
Subject: Re: Re: soap client gets permission denied
cwoodfieldatl
Send Email Send Email
 
Correction: /home/pramila/config needs to be reachable by apache, not server.cgi...

-C

On Oct 6, 2010, at 8:07 38AM, Dave Howorth wrote:

 

Chris Woodfield wrote:
> Please tell me that you've already verified that server.cgi is readable
> and executable by the (most likely unprivileged) UID that your apache
> daemon runs as...

I don't think it would get to line 13 if it wasn't accessible! :)



#6516 From: "prami_22" <pramila.neharkar@...>
Date: Thu Oct 7, 2010 6:02 am
Subject: Re: soap client gets permission denied
prami_22
Send Email Send Email
 
Yes , that was the problem. Though my file had 644 rights, it was not readable
by apache. After I added user apache to my group, client could read it

Thanks Chris, & all others who replied

-Regards,
Pramila


--- In soaplite@yahoogroups.com, Chris Woodfield <rekoil@...> wrote:
>
> Correction: /home/pramila/config needs to be reachable by apache, not
server.cgi...
>
> -C
>
> On Oct 6, 2010, at 8:07 38AM, Dave Howorth wrote:
>
> > Chris Woodfield wrote:
> > > Please tell me that you've already verified that server.cgi is readable
> > > and executable by the (most likely unprivileged) UID that your apache
> > > daemon runs as...
> >
> > I don't think it would get to line 13 if it wasn't accessible! :)
> >
>

#6517 From: "Milan" <bmilan@...>
Date: Mon Oct 11, 2010 10:55 pm
Subject: 500 Internal Server Error
bmilan...
Send Email Send Email
 
I am developing Internet oriented application to communicate with SOAP
> Application developed by Efile Team IRD New Zealand.
> I am very new on SOAP.
>
> In Developers Guide from EFile Team they give following for access:
>
>
> 1.1.1 Connecting to IFEP
>
> Unlike the FEP system, there is no requirement for Tax Applications to
> physically log-on to Inland Revenue E-File Servers using a user id and
> password. The Client Authentication will be performed as described in the
> following section.
>
>
>
> To connect to the IFEP, the Tax Application systems will need to use a URL
> (Universal Resource Locator) and an Action URI (Universal Resource
> Identifier), as shown in the examples below:
>
>
>
>
>
> URL for IFEP Compliance/Client Test System:
>
> https://efile.ird.govt.nz/ifep-test/servlet/messagerouter
>
>
>
> Action URI for IFEP:
>
> ifep-main
>
> I developed following Code:
>
>
> use Data::Dumper;
>
> use SOAP::Lite +trace => [qw/ debug method fault /];
>
> #require SOAP::Lite;
>
> #SOAP::Lite::import(+trace => 'debug');
>
> #use SOAP::Lite on_action => sub {sprintf '%s/%s', @_}, 'trace', 'debug';
>
> #use SOAP::Lite +trace => all;
>
> #use SOAP::Lite on_action => sub {sprintf '%s/%s', @_}, 'trace', 'debug';
>
> my $namespace = 'ifep-main';
>
> my $namespace1 = 'http://schemas.xmlsoap.org/soap/envelope/';
>
> my $namespace2 = 'http://www.soaplite.com/Demo';
>
> my $namespace3 =
> 'https://efile.ird.govt.nz/ifep-test/servlet/messagerouter';
>
> my $namespace4 = 'http://services.soaplite.com/hibye.cgi';
>
> my $soap = new SOAP::Lite
>
> uri => $namespace,
>
> proxy => [ $namespace3
>
> ,
>
> credentials => [
>
> 'efile.ird.govt.nz/ifep-test:443',
>
> 'api'
>
> ]
>
> ];
>
> $soap->serializer(SOAP::Serializer->new());
>
> $soap->autotype(0);
>
> $soap->readable(1);
>
> $soap->uri($namespace);
>
> $soap->default_ns($namespace); ;
>
> #$soap->soapversion('1.2');
>
> #$SOAP::Constants::DEFAULT_HTTP_CONTENT_TYPE= 'text/xml';
>
> #$SOAP::Constants::DEFAULT_HTTP_CONTENT_TYPE= 'text/xml';
>
> #- Setting Content-Type myself
>
> my $http_request = $soap
>
> ->{'_transport'}
>
> ->{'_proxy'}
>
> ->{'_http_request'};
>
> $http_request->content_type('text/xml');
>
> my $xml = qq{
>
> <SOAP-ENV:Envelope
>
> xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
>
> xmlns:xsd="http://www.w3.org/1999/XMLSchema">
>
> <SOAP-ENV:Header>
>
> </SOAP-ENV:Header>
>
> <SOAP-ENV:Body>
>
> <accept xmlns="ifep">
>
> <transaction>
>
> <authentication>
>
> <irdNumber
>
> value="103226902"/>
>
> <locationNumber
>
> value="001"/>
>
> <package name="BMSO"
>
> version="1.00"/>
>
> </authentication>
>
> <get/>
>
> </transaction>
>
> </accept>
>
> </SOAP-ENV:Body>
>
> </SOAP-ENV:Envelope>
>
> };
>
> my $soap_data = new SOAP::Data->type('xml')
> ->name('myxmlstring')->value($xml);
>
> #my $soap_data = new SOAP::Data->type('xml' => $xml);
>
> #my $soap_data = new SOAP::Data
>
> # ->name('listRecordsRequest')
>
> # ->attr({
>
> # 'xmlns' => $soap->default_ns,
>
> # });
>
> my $response = $soap->call($soap_data);
>
> (Sorry there is so many different variations!)
>
> I get the following:
>
> ############### BEGIN OUT ##############
>
> $VAR1 = bless( { '_content' => [ 'SOAP-ENV:Envelope', { 'xmlns:xsi' =>
> 'http://www.w3.org/2001/XMLSchema-instance', 'xmlns:SOAP-ENV' =>
> 'http://schemas.xmlsoap.org/soap/envelope/', 'xmlns:xsd' =>
> 'http://www.w3.org/2001/XMLSchema' }, [ [ 'SOAP-ENV:Body', {}, [ [
> 'SOAP-ENV:Fault', {}, [ [ 'faultcode', {}, 'SOAP-ENV:Server.Exception:',
> undef, 'SOAP-ENV:Server.Exception:', 'faultcode', {} ], [ 'faultstring', {},
> '0 >= 0', undef, '0 >= 0', 'faultstring', {} ], [ 'faultactor', {},
> '/ifep-test/servlet/messagerouter', undef,
> '/ifep-test/servlet/messagerouter', 'faultactor', {} ] ], undef, {
> 'faultactor' => '/ifep-test/servlet/messagerouter', 'faultcode' =>
> 'SOAP-ENV:Server.Exception:', 'faultstring' => '0 >= 0' },
> '{http://schemas.xmlsoap.org/soap/envelope/}Fault', {} ] ], undef, { 'Fault'
> => $VAR1->{'_content'}[2][0][2][0][4] },
> '{http://schemas.xmlsoap.org/soap/envelope/}Body', {} ] ], undef, { 'Body'
> => $VAR1->{'_content'}[2][0][4] },
> '{http://schemas.xmlsoap.org/soap/envelope/}Envelope', {} ], '_context' =>
> bless( { '_on_nonserialized' => sub { "DUMMY" }, '_deserializer' => bless( {
> '_ids' => $VAR1->{'_content'}, '_xmlschemas' => {
> 'http://www.w3.org/2003/05/soap-encoding' =>
> 'SOAP::Lite::Deserializer::XMLSchemaSOAP1_2',
> 'http://xml.apache.org/xml-soap' =>
> 'SOAP::XMLSchemaApacheSOAP::Deserializer',
> 'http://www.w3.org/2001/XMLSchema' =>
> 'SOAP::Lite::Deserializer::XMLSchema2001',
> 'http://www.w3.org/1999/XMLSchema' =>
> 'SOAP::Lite::Deserializer::XMLSchema1999',
> 'http://schemas.xmlsoap.org/soap/encoding/' =>
> 'SOAP::Lite::Deserializer::XMLSchemaSOAP1_1' }, '_context' =>
> $VAR1->{'_context'}, '_hrefs' => {}, '_parser' => bless( { '_done' =>
> $VAR1->{'_content'}, '_values' => undef, '_parser' => bless( {
> 'Non_Expat_Options' => { 'NoLWP' => 1, 'Non_Expat_Options' => 1,
> '_HNDL_TYPES' => 1, 'Handlers' => 1, 'Style' => 1 }, 'Pkg' =>
> 'SOAP::Parser', 'Handlers' => { 'End' => undef, 'Final' => undef, 'Char' =>
> undef, 'Start' => undef, 'ExternEnt' => undef }, '_HNDL_TYPES' => {
> 'CdataEnd' => sub { "DUMMY" }, 'Start' => sub { "DUMMY" }, 'Entity' => sub {
> "DUMMY" }, 'ExternEntFin' => sub { "DUMMY" }, 'End' => sub { "DUMMY" },
> 'Final' => 1, 'Doctype' => sub { "DUMMY" }, 'Char' => sub { "DUMMY" },
> 'Init' => 1, 'XMLDecl' => sub { "DUMMY" }, 'Default' => sub { "DUMMY" },
> 'CdataStart' => sub { "DUMMY" }, 'Comment' => sub { "DUMMY" }, 'Unparsed' =>
> sub { "DUMMY" }, 'ExternEnt' => sub { "DUMMY" }, 'Element' => sub { "DUMMY"
> }, 'Attlist' => sub { "DUMMY" }, 'DoctypeFin' => sub { "DUMMY" }, 'Notation'
> => sub { "DUMMY" }, 'Proc' => sub { "DUMMY" } } }, 'XML::Parser' ) },
> 'SOAP::Parser' ) }, 'SOAP::Deserializer' ), '_autoresult' => 0, '_transport'
> => bless( { '_proxy' => bless( { '_status' => '500 Internal Server Error',
> '_message' => 'Internal Server Error', 'requests_redirectable' => [ 'GET',
> 'HEAD' ], 'from' => undef, 'timeout' => 180, '_is_success' => '',
> 'parse_head' => 1, 'basic_authentication' => {
> 'efile.ird.govt.nz/ifep-test:443' => { 'api' => [ undef, undef ] } },
> 'max_redirect' => 7, '_http_response' => bless( { '_protocol' => 'HTTP/1.1',
> '_content' => ' SOAP-ENV:Server.Exception: 0 >= 0
> /ifep-test/servlet/messagerouter ', '_rc' => 500, '_headers' => bless( {
> 'connection' => 'close', 'client-response-num' => 1, 'set-cookie' =>
> 'JSESSIONID=35F76842814E876A299DD4837B9869F0; Path=/ifep-test; Secure',
> 'date' => 'Mon, 11 Oct 2010 21:34:20 GMT', 'client-ssl-cert-issuer' =>
> '/O=VeriSign Trust Network/OU=VeriSign, Inc./OU=VeriSign International
> Server CA - Class 3/OU=www.verisign.com/CPS Incorp.by Ref. LIABILITY
> LTD.(c)97 VeriSign', 'client-ssl-cipher' => 'AES256-SHA', 'client-peer' =>
> '138.235.41.8:443', 'content-length' => '450', 'client-date' => 'Mon, 11 Oct
> 2010 21:34:01 GMT', 'client-ssl-warning' => 'Peer certificate not verified',
> 'content-type' => 'text/xml;charset=utf-8', 'client-ssl-cert-subject' =>
> '/C=NZ/ST=Wellington/L=Wellington/O=Inland Revenue
> Department/CN=EFILE.IRD.GOVT.NZ', 'server' => 'Apache' }, 'HTTP::Headers' ),
> '_msg' => 'Internal Server Error', '_request' => bless( { '_protocol' =>
> 'HTTP/1.1', '_content' => ' ', '_uri' => bless( do{\(my $o =
> 'https://efile.ird.govt.nz/ifep-test/servlet/messagerouter')}, 'URI::https'
> ), '_headers' => bless( { 'user-agent' => 'SOAP::Lite/Perl/0.710.08',
> 'soapaction' => '"#myxmlstring"', 'content-type' => 'text/xml;
> charset=utf-8', 'accept' => [ 'text/xml', 'multipart/*', 'application/soap'
> ], 'content-length' => 402 }, 'HTTP::Headers' ), '_method' => 'POST' },
> 'HTTP::Request' ) }, 'HTTP::Response' ), '_endpoint' =>
> 'https://efile.ird.govt.nz/ifep-test/servlet/messagerouter',
> 'protocols_forbidden' => undef, 'no_proxy' => [], '_options' => {
> 'is_compress' => '' }, 'protocols_allowed' => undef, 'use_eval' => 1,
> '_code' => '500', 'agent' => 'SOAP::Lite/Perl/0.710.08', '_http_request' =>
> bless( { '_content' => '', '_uri' => undef, '_headers' => bless( {
> 'content-type' => 'text/xml' }, 'HTTP::Headers' ), '_method' => undef },
> 'HTTP::Request' ), 'def_headers' => undef, 'proxy' => {}, 'max_size' =>
> undef }, 'SOAP::Transport::HTTP::Client' ) }, 'SOAP::Transport' ),
> '_serializer' => bless( { '_typelookup' => { 'int' => [ 20, sub { "DUMMY" },
> 'as_int' ], 'time' => [ 70, sub { "DUMMY" }, 'as_time' ], 'date' => [ 60,
> sub { "DUMMY" }, 'as_date' ], 'gYear' => [ 45, sub { "DUMMY" }, 'as_gYear'
> ], 'string' => [ 100, sub { "DUMMY" }, 'as_string' ], 'dateTime' => [ 75,
> sub { "DUMMY" }, 'as_dateTime' ], 'boolean' => [ 90, sub { "DUMMY" },
> 'as_boolean' ], 'float' => [ 30, sub { "DUMMY" }, 'as_float' ], 'anyURI' =>
> [ 95, sub { "DUMMY" }, 'as_anyURI' ], 'long' => [ 25, sub { "DUMMY" },
> 'as_long' ], 'gDay' => [ 40, sub { "DUMMY" }, 'as_gDay' ], 'gMonthDay' => [
> 50, sub { "DUMMY" }, 'as_gMonthDay' ], 'gYearMonth' => [ 55, sub { "DUMMY"
> }, 'as_gYearMonth' ], 'duration' => [ 80, sub { "DUMMY" }, 'as_duration' ],
> 'base64Binary' => [ 10, sub { "DUMMY" }, 'as_base64Binary' ], 'zerostring'
> => [ 12, sub { "DUMMY" }, 'as_string' ], 'gMonth' => [ 35, sub { "DUMMY" },
> 'as_gMonth' ] }, '_encodingStyle' =>
> 'http://schemas.xmlsoap.org/soap/encoding/', '_objectstack' => {}, '_level'
> => 0, '_context' => $VAR1->{'_context'}, '_signature' => [], '_soapversion'
> => '1.1', '_maptype' => {}, '_use_default_ns' => 1, '_namespaces' => {
> 'http://www.w3.org/2001/XMLSchema' => 'xsd',
> 'http://schemas.xmlsoap.org/soap/encoding/' => 'soapenc',
> 'http://www.w3.org/2001/XMLSchema-instance' => 'xsi',
> 'http://schemas.xmlsoap.org/soap/envelope/' => 'soap' }, '_seen' => {
> '47710124' => { 'recursive' => 0, 'count' => 1, 'value' => bless( { '_name'
> => 'Body', '_signature' => [ 'soap:Body ' ], '_value' => [ \bless( { '_name'
> => 'myxmlstring', '_type' => 'xml', '_signature' => [ 'myxmlstring ' ],
> '_value' => [ undef ], '_attr' => {} }, 'SOAP::Data' ) ], '_prefix' =>
> 'soap', '_attr' => {} }, 'SOAP::Data' ), 'multiref' => '' }, '47709704' => {
> 'recursive' => 0, 'count' => 1, 'value' =>
>
${$VAR1->{'_context'}{'_serializer'}{'_seen'}{'47710124'}{'value'}{'_value'}[0]}\
,
> 'multiref' => '' }, '47708888' => { 'recursive' => 0, 'count' => 1, 'value'
> => bless( { '_name' => 'Envelope', '_signature' => [ 'soap:Envelope ' ],
> '_value' => [ \bless( { '_name' => undef, '_signature' => [ 'soap:Body ' ],
> '_value' => [
> $VAR1->{'_context'}{'_serializer'}{'_seen'}{'47710124'}{'value'} ], '_attr'
> => {} }, 'SOAP::Data' ) ], '_prefix' => 'soap', '_attr' => {
> '{http://schemas.xmlsoap.org/soap/envelope/}encodingStyle' =>
> 'http://schemas.xmlsoap.org/soap/encoding/' } }, 'SOAP::Data' ), 'multiref'
> => '' }, '47709464' => { 'recursive' => 0, 'count' => 1, 'value' =>
> $VAR1->{'_context'}{'_serializer'}{'_seen'}{'47708888'}{'value'}{'_value'}[0],
> 'multiref' => '' }, '44074308' => { 'recursive' => 0, 'count' => 1, 'value'
> =>
> $VAR1->{'_context'}{'_serializer'}{'_seen'}{'47710124'}{'value'}{'_value'}[0],
> 'multiref' => '' }, '47709740' => { 'recursive' => 0, 'count' => 1, 'value'
> =>
>
${$VAR1->{'_context'}{'_serializer'}{'_seen'}{'47708888'}{'value'}{'_value'}[0]}\
,
> 'multiref' => '' } }, '_attr' =>
> $VAR1->{'_context'}{'_serializer'}{'_seen'}{'47708888'}{'value'}{'_attr'},
> '_multirefinplace' => 0, '_on_nonserialized' =>
> $VAR1->{'_context'}{'_on_nonserialized'}, '_xmlschema' =>
> 'http://www.w3.org/2001/XMLSchema', '_ns_prefix' => '', '_readable' => 1,
> '_ns_uri' => 'ifep-main', '_encoding' => 'UTF-8', '_autotype' => 0 },
> 'SOAP::Serializer' ), '_schema' => undef, '_packager' => bless( {
> '_env_location' => '/main_envelope', '_content_encoding' => '8bit',
> '_env_id' => '', '_parts' => [], '_persist_parts' => 0, '_parser' => undef
> }, 'SOAP::Packager::MIME' ), '_on_action' => sub { "DUMMY" }, '_on_fault' =>
> sub { "DUMMY" } }, 'SOAP::Lite' ), '_current' => [ $VAR1->{'_content'} ] },
> 'SOAP::SOM' );
>
> ############### END OUT ##############
>
> I was asking about exact URI what I need to use, but EFile Team did not like
> to respond.
>
> Email what I got from EFile Team:
>
> Below is an example of what the initial connection is supposed to look like.
>
>
> <?xml version='1.0' encoding='UTF-8'?>
>
> <SOAP-ENV:Envelope
> xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/"
>
> xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
>
> xmlns:xsd="http://www.w3.org/1999/XMLSchema">
>
> <SOAP-ENV:Header></SOAP-ENV:Header>
>
> <SOAP-ENV:Body>
>
> <accept xmlns="ifep">
>
> <transaction>
>
> <authentication>
>
> <irdNumber value="103226902"/>
>
> <locationNumber value="001"/>
>
> <package name="BMSO" version="1.00"/>
>
> </authentication>
>
> <get/>
>
> </transaction>
>
> </accept>
>
> </SOAP-ENV:Body>
>
> </SOAP-ENV:Envelope>
>
>
> To which you should receive a JSessionID in the headers to store a cookie,
> and a challenge value
>
> The session is now created and will timeout within approx 30 seconds, so
> if you do not respond with the same JSessionID within that time with the
> challenge response, you would receive a http 500 error which would indicate
> the session had expired .
>
>
>
> I do not know What I need to do.
>
> My Company depends on this SOAP Access.
>
>
>
> PLEASE HELP
>
> Regards
>
> Milan Belobaba,
>
> EMail:
>
> sales@...
>

#6518 From: "Martin Busik" <martin.busik@...>
Date: Wed Oct 13, 2010 7:27 pm
Subject: AW: 500 Internal Server Error
mbusik70
Send Email Send Email
 
Hi Milan,

"use":

use SOAP::Lite (+trace => [qw(transport debug parameters)]);

instead of

use SOAP::Lite

that way you get dumped the xml-contents of the request and the response. If
you have
a working example of a request, you might figure out, what is different,
what might
cause the problem.

The working example you've given, contains the following main element:

<accept xmlns="ifep">

"ifep" is the URI. Normally it looks a bit different, but it might be
correct.

you call should look like:

$soap->default_ns("ifep")
$soap->call("accept",$parameters)

where $parameters are some instances of SOAP::Data, e.g.

SOAP::Data->name("transaction")->value(
	 \SOAP::Data->value(
		 SOAP::Data->name("authentication")->value(
		  \SOAP::Data->value(
			 SOAP::Data->name("irdNumber")->attr( { value =>
"103226902" } )
	        )
             )
       )
)

> > I am very new on SOAP.

I encourage you to google for SOAP and learn more about it. If you are
serious to
implement any SOAP-based-webservice you'll need some basic knowledge.

Cheers,
Martin

#6519 From: "Milan" <bmilan@...>
Date: Sat Oct 16, 2010 3:09 am
Subject: How I can cookie details using JSESSIONID
bmilan...
Send Email Send Email
 
I sent message to the server, and I got following trace:

SOAP::Transport::HTTP::Client::send_receive: HTTP::Request=HASH(0x2f1b15c)
SOAP::Transport::HTTP::Client::send_receive: POST
https://efile.ird.govt.nz/ifep-test/servlet/messagerouter HTTP/1.1 Accept:
text/xml Accept: multipart/* Accept: application/soap Content-Length: 797
Content-Type: text/xml; charset=utf-8 SOAPAction: "ifep#accept"
SOAP::Transport::HTTP::Client::send_receive: HTTP::Response=HASH(0x301c134)
SOAP::Transport::HTTP::Client::send_receive: HTTP/1.1 200 OK Connection: close
Date: Sat, 16 Oct 2010 03:05:25 GMT Server: Apache Content-Length: 50
Content-Type: text/xml Client-Date: Sat, 16 Oct 2010 03:05:19 GMT Client-Peer:
138.235.41.8:443 Client-Response-Num: 1 Client-SSL-Cert-Issuer: /O=VeriSign
Trust Network/OU=VeriSign, Inc./OU=VeriSign International Server CA - Class
3/OU=www.verisign.com/CPS Incorp.by Ref. LIABILITY LTD.(c)97 VeriSign
Client-SSL-Cert-Subject: /C=NZ/ST=Wellington/L=Wellington/O=Inland Revenue
Department/CN=EFILE.IRD.GOVT.NZ Client-SSL-Cipher: AES256-SHA
Client-SSL-Warning: Peer certificate not verified Set-Cookie:
JSESSIONID=21C041352731CFBC4C6C49DF6B7321E2; Path=/ifep-test; Secure

I got JSESSIONID=21C041352731CFBC4C6C49DF6B7321E2;

and I need to see content of that cookie.
Actualy I need to see sessioid and some parametars send by cookie.


Please help.

Regards,
Milan

#6520 From: "bycv3" <bycv3@...>
Date: Thu Oct 21, 2010 5:20 am
Subject: How to use Perl SOAP server and Java Axis Client
bycv3
Send Email Send Email
 
Dear All,

I am using Perl SOAP server with code
===========Code=============
use SOAP::Transport::HTTP;
use Data::Serializer;
use SOAP::Lite +trace => 'debug';

my $daemon  = ();
my %options = (
	 port     => 9090,
	 reuse    => 1,
	 listen   => 1,
	 debug    => 1,
	 readable => 1,
);
eval {
	 $daemon = SOAP::Transport::HTTP::Daemon->new(
		 LocalPort => $options{'port'},
		 Reuse     => $options{'reuse'},
		 Listen    => $options{'listen'}
	 );
};
$daemon->dispatch_to('HelloService')->handle();

package HelloService;
use strict;

sub sayHello {
	 my ( $class, $var ) = @_;

	 my $report = {
		 'name'            => 'test',
		 'aggregationType' => 'Summary',
		 'campaigns'       => 5214135,
		 'customOptions'   => SOAP::Data->name(
			 customOptions => qw/AveragePosition Clicks Cpc Keyword AdGroupId/
		 ),
	 };

	 return $report;
}
1;
=========================End======================

Axis Client Code
=================

import java.util.HashMap;
import java.util.Map;

import javax.xml.namespace.QName;
import javax.xml.rpc.ParameterMode;

import org.apache.axis.client.Call;
import org.apache.axis.client.Service;
import org.apache.axis.encoding.ser.MapDeserializerFactory;
import org.apache.axis.encoding.ser.MapSerializerFactory;

public class SOAPTest {
	 public static void main(String[] args) {
		 try {

			 String endpoint = "http://localhost:9090";

			 Service service = new Service();
			 Call call = (Call) service.createCall();

			 call.setTargetEndpointAddress(new java.net.URL(endpoint));
			 call.setOperationName(new QName(
					 "http://www.soaplite.com/PerlAdapter", "test1"));

			 Map<String, String> hashMap = new HashMap<String, String>();
			 hashMap.put("one", "TOne");

			 Object resutl = null;
			 try {
				 call.addParameter("hashMap",
						 org.apache.axis.Constants.SOAP_MAP, ParameterMode.IN);

				 MapSerializerFactory bsf = new MapSerializerFactory(Map.class,
						 org.apache.axis.Constants.SOAP_MAP);
				 MapDeserializerFactory bdf = new MapDeserializerFactory(
						 Map.class, org.apache.axis.Constants.SOAP_MAP);

				 call.registerTypeMapping(Map.class,
						 org.apache.axis.Constants.SOAP_MAP, bsf, bdf);

				 call.setReturnType(org.apache.axis.Constants.SOAP_MAP);

				 resutl = call.invoke(new Object[] { hashMap });
			 } catch (Exception exception) {
				 exception.printStackTrace();
			 }
			 System.out.println(resutl);
			 System.out.println(call.getResponseMessage().getSOAPPartAsString());

		 } catch (Exception e) {
			 System.err.println(e.toString());
		 }
	 }
}

======================================================

When I am returning Per hash, I am not able to populate the HashMap. Please
suggest a way to do the same. I am able to pass Map from java to perl.

Thanks

#6521 From: "dukeofperl" <dukeofperl@...>
Date: Tue Oct 26, 2010 9:54 pm
Subject: Convert command line to web browser deployment
dukeofperl
Send Email Send Email
 
I have a soap server running using the standard examples found
on the web ... like the hibye example shown here ...

Client
======
#!perl -w
   use SOAP::Lite;
   print SOAP::Lite
     -> uri('http://www.soaplite.com/Demo')
     -> proxy('http://services.soaplite.com/hibye.cgi')
     -> hi()
     -> result;

Dispatcher
==========
use SOAP::Transport::HTTP;
   SOAP::Transport::HTTP::CGI
     -> dispatch_to('Demo')
     -> handle;

handler
=======
package Demo;
   sub hi {
     return "hello, world";
   }
   sub bye {
     return "goodbye, cruel world";
   }

This runs just fine from the command line. Now I have a need to
deploy this from a web browser rather than from the command line.

Does anyone know the steps to do so. I don't need the blow-by-blow
just an overall nutshell explanation would be fine or a link to a
tutorial that outlines the process.

Thank you very much

#6522 From: Dave Howorth <dhoworth@...>
Date: Wed Oct 27, 2010 8:53 am
Subject: Re: Convert command line to web browser deployment
dhoworth@...
Send Email Send Email
 
dukeofperl wrote:
> I have a soap server running using the standard examples found
> on the web ... like the hibye example shown here ...
[snip]
> This runs just fine from the command line. Now I have a need to
> deploy this from a web browser rather than from the command line.
>
> Does anyone know the steps to do so. I don't need the blow-by-blow
> just an overall nutshell explanation would be fine or a link to a
> tutorial that outlines the process.

What do you mean by "deploy this from a web browser"? It sounds
nonsensical but perhaps if you explained what you are trying to do, it
would make more sense.

Cheers, Dave

#6524 From: "as.aellen" <as.aellen@...>
Date: Tue Nov 2, 2010 1:47 pm
Subject: Server interprets parameter as empty even the client sends it with a value
as.aellen
Send Email Send Email
 

Hi all

My perl soap client sends a Soap reques to the Server. Basically this works and the server finds the operation getCustomerAccessState. when it interprets the passed parameter customerIdentification it interprets it always as empty. in the trace you can see that the request contains the parameter with the value <customerIdentification>0123456700.

what's wrong on the request? namespace? encoding? ?????

 

 

 

 

I get the following error when my soap::lite client calls the webService

Error

<soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"><soapenv:Header/><soapenv:Body><m:g
etCustomerAccessStateResponse xmlns:m="http://www.swisscom.com/aih/2008-002/ws/docstylewrapper"><m:getCustomerAccessStateReturn xmlns:par="http://www.swisscom.com/ai
h/2008-002/ws/parameter" xsi:type="par:AihWsExceptionResponse"><par:exception>true</par:exception><par:exceptionType>InvalidArgumentException</par:exceptionType><par
:exceptionMessage>customerIdentification field is empty.</par:exceptionMessage><par:exceptionDetail>com.xxx.aih.x2008002.ws.parameter.AihWsExceptionResponse: cu
stomerIdentification field is empty.</par:exceptionDetail></m:getCustomerAccessStateReturn></m:getCustomerAccessStateResponse></soapenv:Body></soapenv:Envelope>
Resultat: AihWsExceptionResponse=HASH(0x21bec64)

---------------------------------------------------------------

code

my $nummer = SOAP::Data
   ->type('')
  ->name('customerIdentification')
  ->value('0123456700');

my $webService = SOAP::Lite
  -> uri('http://www.swisscom.com/aih/2008-002/ws/docstylewrapper')  #uri: #Namespace: Transport, Server, Klasse
  -> proxy('http://138.187.96.39:8299/aihws/services/AihWsV03')  #Sys2  proxy: URL   (8199 SIRIUS)
 -> encoding('UTF-8');

my $result = $webService-> getCustomerAccessState($nummer);
  unless ($result->fault) {
  print "Resultat: ";
    print $result->result();
  } else {
   print "Resultat Error: ";  #Abfangen von Soap::lite Errors nicht CIA welche mit isException true daher kommen
   print join ', ',
      $result->faultcode,
      $result->faultstring;
  }
 print "\n";

Perl version:  v5.10.0

Modul version: ? how can I figure that out?

---------------------------------------------------------------

Sent Message:


<?xml version="1.0" encoding="UTF-8"?><soap:Envelope xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:soapenc="http://schemas.xmlsoap.org/soap/encoding/"
xmlns:xsd="http://www.w3.org/2001/XMLSchema" soap:encodingStyle="http://schemas.xmlsoap.org/soap/encoding/" xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/"><s
oap:Body><getCustomerAccessState xmlns="http://www.swisscom.com/aih/2008-002/ws/docstylewrapper"><customerIdentification>0123456700</customerIdentification></getCust
omerAccessState></soap:Body></soap:Envelope>
SOAP::Transport::HTTP::Client::send_receive: HTTP::Response=HASH(0x2090fec)
SOAP::Transport::HTTP::Client::send_receive: HTTP/1.1 200 OK

---------------------------------------------------------------

WSDL/XSD

In my parameter xsd the parameter is defined as:

<xsd:complexType name="GetCustomerAccessStateRequest">

<xsd:sequence>

<xsd:element name="customerIdentification">

<xsd:simpleType>

<xsd:restriction base="xsd:string">

<xsd:minLength value="1" />

<xsd:maxLength value="255" />

</xsd:restriction>

</xsd:simpleType>

</xsd:element>

</xsd:sequence>

</xsd:complexType>

 

(customerIdentification is in the targetnamespace namespace=http://www.swisscom.com/aih/2008-002/ws/parameter defined)

-------------------------------

 

I hope the copied parts are the relevant parts.

Thanks very much for help

Have a nice day

Andres


#6525 From: "Martin Busik" <martin.busik@...>
Date: Tue Nov 2, 2010 3:40 pm
Subject: AW: Server interprets parameter as empty even the client sends it with a value
mbusik70
Send Email Send Email
 
Hi,

> My perl soap client sends a Soap reques to the Server.
> Basically this works and the server finds the operation
> getCustomerAccessState. when it interprets the passed
> parameter customerIdentification it interprets it always as
> empty. in the trace you can see that the request contains the
> parameter with the value <customerIdentification>0123456700.
>
> what's wrong on the request? namespace? encoding? ?????

I'd suppose it is the namespace. Check if your xsd contains an attribute
elementFormDefault="qualified"

if this is the case, you have to use a namespace prefix for all inner xml
elements of your request, e.g.


$webService->serializer->register_ns('http://www.swisscom.com/aih/2008-002/w
s/docstylewrapper','myns123');

my $nummer = SOAP::Data
    ->type('')
   ->name('myns123:customerIdentification')
   ->value('0123456700');

HTH,
Martin

#6526 From: "prami_22" <pramila.neharkar@...>
Date: Wed Nov 3, 2010 6:14 am
Subject: need help in wsdl
prami_22
Send Email Send Email
 
Hello,

I have written a soap server in perl & client in PHP
but when calling method I get follwoing error
------------------------
PHP Fatal error:  Uncaught SoapFault exception: [soap:Client] SOAPAction shall
match 'uri#method' if present (got 'topic_list', expected '#listName'
-------------------------
topic_list method is supposed to get listname & return an array


here is my wsdl
---------------------
<?xml version="1.0" encoding="UTF-8"?>
<definitions name="Demo"
xmlns:xsd="http://www.w3.org/2001/XMLSchema"
xmlns:soap="http://schemas.xmlsoap.org/wsdl/soap/"
xmlns:soapenc="http://schemas.xmlsoap.org/soap/encoding/"
targetNamespace="http://example.com/soap/my_api.wsdl"
xmlns:tns="http://example.com/soap/my_api.wsdl"
xmlns="http://schemas.xmlsoap.org/wsdl/"
xmlns:xsd1="http://example.com/soap/Demo">
         <types>
            <schema xmlns="http://www.w3.org/2001/XMLSchema"
            targetNamespace="http://example.com/soap/Demo"
            xmlns:wsdl="http://schemas.xmlsoap.org/wsdl/"
            xmlns:soapenc="http://schemas.xmlsoap.org/soap/encoding/">
            <complexType name="ArrayOfString">
               <complexContent>
                  <restriction base="soapenc:Array">
                     <attribute ref="soapenc:arrayType"
                     wsdl:arrayType="string[]"/>
                  </restriction>
               </complexContent>
            </complexType>
            </schema>
         </types>
         <message name="topic_listRequest">
                 <part name="listName" element="xsd:string"/>
         </message>
         <message name="topic_listResponse">
                 <part name="return" element="xsd1:ArrayOfString"/>
         </message>
         <portType name="DemoPortType">
                 <operation name="topic_list">
                         <input message="tns:topic_listRequest" />
                         <output message="tns:topic_listResponse" />
                 </operation>
         </portType>
         <binding name="DemoBinding" type="tns:DemoPortType">
                 <soap:binding style="document"
transport="http://schemas.xmlsoap.org/soap/http"/>
                         <operation name="topic_list">
                                 <soap:operation style="document"
soapAction="topic_list"/>
                                 <input>
                                         <soap:body use="literal"/>
                                 </input>
                                 <output>
                                         <soap:body use="literal"/>
                                 </output>
                         </operation>
         </binding>
         <service name="Demo">
                 <documentation>
                         Service to say hello
                 </documentation>
                 <port name="DemoPort" binding="tns:DemoBinding">
                         <soap:address
location="http://example.com/soap/server.cgi"/>
                 </port>
         </service>
</definitions>

#6527 From: "Martin Busik" <martin.busik@...>
Date: Wed Nov 3, 2010 8:39 am
Subject: AW: need help in wsdl
mbusik70
Send Email Send Email
 
Hi,
see the documentation to the on_action method.

you might use something like:

$proxy->on_action(sub{"http://example.com/soap/my_api.wsdl#$method"});

where "http://example.com/soap/my_api.wsdl" is (propably) the uri of your
example.

Cheers,
Martin

> -----Ursprüngliche Nachricht-----
> Von: soaplite@yahoogroups.com
> [mailto:soaplite@yahoogroups.com] Im Auftrag von prami_22
> Gesendet: Mittwoch, 3. November 2010 07:14
> An: soaplite@yahoogroups.com
> Betreff: [soaplite] need help in wsdl
>
> Hello,
>
> I have written a soap server in perl & client in PHP
> but when calling method I get follwoing error
> ------------------------
> PHP Fatal error:  Uncaught SoapFault exception: [soap:Client]
> SOAPAction shall match 'uri#method' if present (got
> 'topic_list', expected '#listName'
> -------------------------
> topic_list method is supposed to get listname & return an array
>
>
> here is my wsdl
> ---------------------
> <?xml version="1.0" encoding="UTF-8"?>
> <definitions name="Demo"
> xmlns:xsd="http://www.w3.org/2001/XMLSchema"
> xmlns:soap="http://schemas.xmlsoap.org/wsdl/soap/"
> xmlns:soapenc="http://schemas.xmlsoap.org/soap/encoding/"
> targetNamespace="http://example.com/soap/my_api.wsdl"
> xmlns:tns="http://example.com/soap/my_api.wsdl"
> xmlns="http://schemas.xmlsoap.org/wsdl/"
> xmlns:xsd1="http://example.com/soap/Demo">
>         <types>
>            <schema xmlns="http://www.w3.org/2001/XMLSchema"
>            targetNamespace="http://example.com/soap/Demo"
>            xmlns:wsdl="http://schemas.xmlsoap.org/wsdl/"
>            xmlns:soapenc="http://schemas.xmlsoap.org/soap/encoding/">
>            <complexType name="ArrayOfString">
>               <complexContent>
>                  <restriction base="soapenc:Array">
>                     <attribute ref="soapenc:arrayType"
>                     wsdl:arrayType="string[]"/>
>                  </restriction>
>               </complexContent>
>            </complexType>
>            </schema>
>         </types>
>         <message name="topic_listRequest">
>                 <part name="listName" element="xsd:string"/>
>         </message>
>         <message name="topic_listResponse">
>                 <part name="return" element="xsd1:ArrayOfString"/>
>         </message>
>         <portType name="DemoPortType">
>                 <operation name="topic_list">
>                         <input message="tns:topic_listRequest" />
>                         <output message="tns:topic_listResponse" />
>                 </operation>
>         </portType>
>         <binding name="DemoBinding" type="tns:DemoPortType">
>                 <soap:binding style="document"
> transport="http://schemas.xmlsoap.org/soap/http"/>
>                         <operation name="topic_list">
>                                 <soap:operation
> style="document" soapAction="topic_list"/>
>                                 <input>
>                                         <soap:body use="literal"/>
>                                 </input>
>                                 <output>
>                                         <soap:body use="literal"/>
>                                 </output>
>                         </operation>
>         </binding>
>         <service name="Demo">
>                 <documentation>
>                         Service to say hello
>                 </documentation>
>                 <port name="DemoPort" binding="tns:DemoBinding">
>                         <soap:address
> location="http://example.com/soap/server.cgi"/>
>                 </port>
>         </service>
> </definitions>
>
>
>
>
> ------------------------------------
>
> Yahoo! Groups Links
>
>
>
>

#6528 From: "chfoerst@..." <chfoerst@...>
Date: Wed Nov 3, 2010 11:03 am
Subject: How to handle error in SOAP::Transport::HTTP::Daemon
chfoerst...
Send Email Send Email
 
Hi all,

I have a nice running Soap-Server, which can be started in HTTP or HTTPS mode.

When I start this in HTTPS mode, and I telnet on the listening Port, the Server
crashes, because of

"SSL connect accept failed because of handshake
problemserror:00000000:lib(0):func(0):reason(0) ..."

How can i trap this, so that the server stays alive ?

Here's my code snippet:

if ($ssl)
{
$daemon = SOAP::Transport::HTTP::Daemon
   -> new (LocalPort => $port, Reuse => 1,
            SSL_use_cert => 1,
            SSL_key_file => 'path/to/server.key',
            SSL_cert_file => 'path/to/server.crt')
   -> on_action(sub {})
   -> dispatch_to('allmy','methodes')
;
}

$daemon->handle;


When I try this:

eval{
$daemon->handle or warn($!);
};

I got the errorcode, but nevertheless the server dies.

When I use HTTP (leave all the SSL tags in the above deamon out) , the Server
sends a normal

HTTP/1.1 400 Bad Request
Date: Wed, 03 Nov 2010 10:59:54 GMT
Server: libwww-perl-daemon/5.818
Content-Type: text/html
Content-Length: 57

<title>400 Bad Request</title>
<h1>400 Bad Request</h1>


Thanks in advance for any hint.

Regards Christian

#6529 From: "Martin Busik" <martin.busik@...>
Date: Wed Nov 3, 2010 6:38 pm
Subject: AW: Server interprets parameter as empty even the client sends it with a value
mbusik70
Send Email Send Email
 
Hi Andres,

> my $result =
>
$webService->call("doc:getCustomerAccessState",SOAP::Data->name("doc:request
")
>  ->type("")->value(SOAP::Data->name("par:customerIdentification")
>  ->type("")->value('0123456700')));

I see there two problems:

1. you need either to add:

$webService->register_ns("http://www.swisscom.com/aih/2008-002/ws/docstylewr
apper","doc")

or, to modify the request to:

$webService->call("getCustomerAccessState",
	 SOAP::Data->name("request")->type("")->value(

\SOAP::Data->name("par:customerIdentification")->type("")->value('0123456700
')));

2. Building the correct xml structure:

	 SOAP::Data->name("request")->type("")->value(

\SOAP::Data->name("par:customerIdentification")->type("")->value('0123456700
')));

Please note the backslash character just before the second SOAP::Data. It
forces SOAP::Lite to create a
a element "request" which is a complex element containing another xml
element "par:customerIdentification".

More about the first problem - namespace, default namespace, etc. you can
find here:
http://geekswithblogs.net/dmillard/archive/2004/10/20/12935.aspx

HTH,
Martin

#6530 From: "as.aellen" <as.aellen@...>
Date: Fri Nov 5, 2010 2:53 pm
Subject: Failed to get operation name from the incoming request
as.aellen
Send Email Send Email
 

Hi all

When my Perl client calls a WebService over soap it gets following error from the server:

 

Error

soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/"><soapenv:Header/><soapenv:Body><soapenv:Fault xmlns:SOAP-ENV="http://schemas.xmlsoap.org/
soap/envelope/"><faultcode>SOAP-ENV:Client</faultcode><faultstring>Failed to get operation name from the incoming request</faultstring><detail/></soapenv:Fault></soa
penv:Body></soapenv:Envelope>

Call

SOAP::Transport::HTTP::Client::send_receive: HTTP::Request=HASH(0x1dd2554)
SOAP::Transport::HTTP::Client::send_receive: POST http://138.187.96.39:8299/Processes/NetCracker/OneCRM/ReplicateProductInventory/v01 HTTP/1.1
Accept: text/xml
Accept: multipart/*
Accept: application/soap
Content-Length: 694
Content-Type: text/xml; charset=utf-8
SOAPAction: /Processes/NetCracker/OneCRM/ReplicateProductInventory

<?xml version="1.0" encoding="UTF-8"?><soap:Envelope xmlns:namesp1="http://namespaces.soaplite.com/perl" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:
soapenc="http://schemas.xmlsoap.org/soap/encoding/" xmlns:xsd="http://www.w3.org/2001/XMLSchema" soap:encodingStyle="http://schemas.xmlsoap.org/soap/encoding/" xmlns
:soap="http://schemas.xmlsoap.org/soap/envelope/"><soap:Body><ReplicateProductInventory xmlns="http://www.swisscom.com/onecrm/potree/propagation"><CustomerAccount xs
i:type="namesp1"><Action>Create</Action><SCN>1111</SCN><Name>TestAA</Name><Type>PO_TestAA</Type><POIID>ALL:SUB:1111AA</POIID></CustomerAccount></ReplicateProductInve
ntory></soap:Body></soap:Envelope>
SOAP::Transport::HTTP::Client::send_receive: HTTP::Response=HASH(0x2135bc4)
SOAP::Transport::HTTP::Client::send_receive: HTTP/1.1 500 Internal Server Error

Perl Code

#WebService Definition
#-----------------------------
my $webService = SOAP::Lite
 -> uri('http://www.swisscom.com/onecrm/potree/propagation')
 -> proxy('http://138.187.96.39:8299/Processes/NetCracker/OneCRM/ReplicateProductInventory/v01')  #Sys2  proxy: URL   (8199 SIRIUS)
 -> on_action(sub{"/Processes/NetCracker/OneCRM/ReplicateProductInventory"}); #Set SoapAction, because it is different to URI


#WebService Call
#---------------- 
 

my $result = $webService-> ReplicateProductInventory(
  SOAP::Data->name("CustomerAccount")->type("")->value(\
   SOAP::Data->name("POInstance")->type("")->value(
    SOAP::Data->name("Action")->type("")->value('Create'),
    SOAP::Data->name("SCN")->type("")->value('1111'),
    SOAP::Data->name("Name")->type("")->value('TestAA'),
    SOAP::Data->name("Type")->type("")->value('PO_TestAA'),
    SOAP::Data->name("POIID")->type("")->value('ALL:SUB:1111AA')
    #SOAP::Data->name("ParentPOIID")->type("")->value('2010-10-14T08:30:00'),
    #SOAP::Data->name("CFSIID")->type("")->value('2010-10-14T08:30:00'))
    )
   )
  );

I tried also explicitly to set the soapAction, but it didn't help at all.

 

WSDL

<?xml version="1.0" encoding="UTF-8"?>

<wsdl:definitions xmlns:wsdl="http://schemas.xmlsoap.org/wsdl/" xmlns:tns="http://www.swisscom.com/onecrm/potree/propagation" xmlns:soap="http://schemas.xmlsoap.org/wsdl/soap/" xmlns:ns0="http://www.swisscom.com/onecrm/potree/propagation" name="GetObjectState" targetNamespace="http://www.swisscom.com/onecrm/potree/propagation">

<wsdl:types>

<xs:schema xmlns="http://www.swisscom.com/onecrm/potree/propagation" elementFormDefault="qualified" targetNamespace="http://www.swisscom.com/onecrm/potree/propagation" version="1.0" xmlns:xs="http://www.w3.org/2001/XMLSchema">

<xs:element name="CustomerAccount">

<xs:complexType>

<xs:sequence>

<xs:element maxOccurs="unbounded" name="POInstance">

<xs:complexType>

<xs:sequence>

<xs:element name="Name" type="NonEmptyStringType" />

<xs:element minOccurs="0" name="Type" type="NonEmptyStringType" />

<xs:element name="POIID" type="NonEmptyStringType" />

<xs:element minOccurs="0" maxOccurs="unbounded" name="ParentPOIID" type="NonEmptyStringType" />

<xs:element minOccurs="0" maxOccurs="unbounded" name="CFSIID" type="NonEmptyStringType" />

</xs:sequence>

<xs:attribute name="Action" type="ActionType" use="required" />

</xs:complexType>

</xs:element>

</xs:sequence>

<xs:attribute name="SCN" type="NonEmptyStringType" use="required" />

</xs:complexType>

<xs:key name="POInstanceKey">

<xs:selector xpath="POInstance" />

<xs:field xpath="POIID" />

</xs:key>

</xs:element>

<xs:simpleType name="ActionType">

<xs:restriction base="xs:string">

<xs:enumeration value="Create" />

<xs:enumeration value="Update" />

<xs:enumeration value="Delete" />

</xs:restriction>

</xs:simpleType>

<xs:simpleType name="ResponseType">

<xs:restriction base="xs:string">

<xs:enumeration value="Success" />

<xs:enumeration value="Failure" />

</xs:restriction>

</xs:simpleType>

<xs:simpleType name="NonEmptyStringType">

<xs:restriction base="xs:string">

<xs:minLength value="1" />

</xs:restriction>

</xs:simpleType>

<xs:element name="ExceptionDetails">

<xs:complexType>

<xs:sequence>

<xs:element name="Type" type="xs:string" />

<xs:element name="Message" type="xs:string" />

<xs:element minOccurs="0" name="Details" type="xs:string" />

</xs:sequence>

</xs:complexType>

</xs:element>

<xs:element name="CustomerAccountResponse">

<xs:complexType>

<xs:sequence minOccurs="1" maxOccurs="1">

<xs:element minOccurs="0" maxOccurs="1" ref="ExceptionDetails" />

<xs:element minOccurs="0" maxOccurs="1" name="WarningDetails">

<xs:complexType>

<xs:sequence>

<xs:element minOccurs="0" maxOccurs="unbounded" ref="ExceptionDetails" />

</xs:sequence>

</xs:complexType>

</xs:element>

<xs:element name="State" type="ResponseType" />

</xs:sequence>

</xs:complexType>

</xs:element>

</xs:schema>

</wsdl:types>

<wsdl:service name="ReplicateProductInventory">

<wsdl:port name="ReplicateProductInventorySource" binding="tns:ReplicateProductInventorySourceBinding">

<soap:address location="https://localhost:8099/Processes/NetCracker/OneCRM/ReplicateProductInventory/v01"/>

</wsdl:port>

</wsdl:service>

<wsdl:portType name="ReplicateProductInventoryPort">

<wsdl:operation name="ReplicateProductInventory">

<wsdl:input message="tns:CustomerAccountRequest"/>

<wsdl:output message="tns:CustomerAccountResponse"/>

</wsdl:operation>

</wsdl:portType>

<wsdl:binding name="ReplicateProductInventorySourceBinding" type="tns:ReplicateProductInventoryPort">

<soap:binding style="document" transport="http://schemas.xmlsoap.org/soap/http"/>

<wsdl:operation name="ReplicateProductInventory">

<soap:operation style="document" soapAction="/Processes/NetCracker/OneCRM/ReplicateProductInventory"/>

<wsdl:input>

<soap:body use="literal" parts="part1"/>

</wsdl:input>

<wsdl:output>

<soap:body use="literal" parts="part1"/>

</wsdl:output>

</wsdl:operation>

</wsdl:binding>

<wsdl:message name="CustomerAccountRequest">

<wsdl:part name="part1" element="ns0:CustomerAccount"/>

</wsdl:message>

<wsdl:message name="CustomerAccountResponse">

<wsdl:part name="part1" element="ns0:CustomerAccountResponse"/>

</wsdl:message>

</wsdl:definitions>

-----------------------------------------------

Call that works out of SoapUI

<soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/" xmlns:prop="http://www.swisscom.com/onecrm/potree/propagation">
   <soapenv:Header/>
   <soapenv:Body>
    <prop:CustomerAccount SCN="1111" xmlns:prop="http://www.swisscom.com/onecrm/potree/propagation">
          <prop:POInstance Action="Update">
            <prop:Name>Test Access Product</prop:Name>
            <prop:Type>PO_TESTACCESS_PRODUCT</prop:Type>
            <prop:POIID>0111A</prop:POIID>
            <prop:ParentPOIID>ALL:SUB:91610111</prop:ParentPOIID>
            <prop:CFSIID>AC0.123.456.71</prop:CFSIID>
           </prop:POInstance>
    </prop:CustomerAccount>
   </soapenv:Body>
</soapenv:Envelope>

-------------------------------------------------

So how do I have to handle the operation in my Perl Client? (I do not find it in the SaopUI example)

and additionaly , how do I have to handle the attribute Action and SCN in my Perl Client?

thanks very much for your support

Best regards

Andres

 

 

 

 


#6531 From: "Martin Busik" <martin.busik@...>
Date: Fri Nov 5, 2010 3:26 pm
Subject: AW: Failed to get operation name from the incoming request
mbusik70
Send Email Send Email
 
Hi,

> Call that works out of SoapUI
>
> <soapenv:Envelope
> xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/"
> xmlns:prop="http://www.swisscom.com/onecrm/potree/propagation">
>    <soapenv:Header/>
>    <soapenv:Body>
>     <prop:CustomerAccount SCN="1111"
> xmlns:prop="http://www.swisscom.com/onecrm/potree/propagation">
>           <prop:POInstance Action="Update">
>             <prop:Name>Test Access Product</prop:Name>
>             <prop:Type>PO_TESTACCESS_PRODUCT</prop:Type>
>             <prop:POIID>0111A</prop:POIID>
>             <prop:ParentPOIID>ALL:SUB:91610111</prop:ParentPOIID>
>             <prop:CFSIID>AC0.123.456.71</prop:CFSIID>
>            </prop:POInstance>
>     </prop:CustomerAccount>
>    </soapenv:Body>
> </soapenv:Envelope>

It is allways good to have a working example :-)

> Perl Code
>
> #WebService Definition
> #-----------------------------
> my $webService = SOAP::Lite
>  -> uri('http://www.swisscom.com/onecrm/potree/propagation')
>  ->
> proxy('http://138.187.96.39:8299/Processes/NetCracker/OneCRM/R
> eplicateProductInventory/v01')  #Sys2  proxy: URL   (8199 SIRIUS)
>  ->
> on_action(sub{"/Processes/NetCracker/OneCRM/ReplicateProductIn
> ventory"}); #Set SoapAction, because it is different to URI
>
>
> #WebService Call
> #----------------
>
>
> my $result = $webService-> ReplicateProductInventory(
>   SOAP::Data->name("CustomerAccount")->type("")->value(\
>    SOAP::Data->name("POInstance")->type("")->value(
>     SOAP::Data->name("Action")->type("")->value('Create'),
>     SOAP::Data->name("SCN")->type("")->value('1111'),
>     SOAP::Data->name("Name")->type("")->value('TestAA'),
>     SOAP::Data->name("Type")->type("")->value('PO_TestAA'),
>     SOAP::Data->name("POIID")->type("")->value('ALL:SUB:1111AA')
>
> #SOAP::Data->name("ParentPOIID")->type("")->value('2010-10-14T
> 08:30:00'),
>
> #SOAP::Data->name("CFSIID")->type("")->value('2010-10-14T08:30:00'))
>     )
>    )
>   );

Please note: according to the working SoapUI example, the webservice
"method" you are calling
is "CustomerAccount". According to your wsdl it should be
"ReplicateProductInventory".
One of them is wrong. Which one?

If you try to create a perl request which contains the same as the working
SoapUI example, you might
write:

$webService->CustomerAccount(...) or $webService->call("CustomerAccount")

Cheers,
Martin

#6533 From: "tekman2001" <paul@...>
Date: Fri Nov 5, 2010 8:42 pm
Subject: SOAP::Transport::HTTP::Client::send_receive: HTTP/1.1 500 Internal Server Error
tekman2001
Send Email Send Email
 
When I try to run this I get a 500 error. Can anyone shed some light on what
might be causing this. I have tryed comparing my output to the anticipated xml
output and nothing is jumping out at me.

Thanks

Paul

#!/usr/bin/perl

$username="3";
$password="t";
$toaddemail='paul@...';

use SOAP::Lite +debug;
use SOAP::Lite on_action => sub {sprintf '%s/%s', @_};



$soaptrans = SOAP::Lite
      -> proxy("http://dev.emaildirect.com/v1/api.asmx")
      -> uri  ("http://espapi.net/v1")
;


$results=$soaptrans->RelaySend_SendEmail(SOAP::Data->name('Subject')->value('Thi\
s is
subject'),SOAP::Data->name('AddToDatabase')->value('1'),SOAP::Data->name('BodyTe\
xt')->value('This would be
body'),SOAP::Data->name('AccountName')->value($username),SOAP::Data->name('Passw\
ord')->value($password),SOAP::Data->name('ToEmail')->value($toaddemail));

if ($results->fault) { print "$results->faultcode,$results->faultstring\n"; }
else                 { $results = $results->result; }

$results = $results->{ReturnedValues};

#6534 From: "as.aellen" <as.aellen@...>
Date: Mon Nov 8, 2010 2:40 pm
Subject: Server does not find attribute
as.aellen
Send Email Send Email
 

Hi all

My Perl WebClient calls over soap::lite a webservice on a server and gets following error from the server:

Problem

#' 08.11.2010 15:20:59.549 [INFO ] v01.OneCRMWs  [Key: 9127214485921132518] ReplicateProductInventory() SCN=null '
 #' 08.11.2010 15:20:59.556 [DEBUG] v01.OneCRMWs [Key: 9127214485921132518] CustomerAccount: SCN=null; poInstance={} '
 #' 08.11.2010 15:20:59.556 [DEBUG] v01.OneCRMWs [Key: 9127214485921132518] ReplicateProductInventory() OneCRM WebService start
<prop:CustomerAccount SCN="null">

 

The server finds the operation, but the attribute SCN is empty and the poInstance seems also to be empty or not found. The client fills values for SCN and poInstance

 

Perl Client Code

Version 1

#WebService Definition
#-----------------------------
my $webService = SOAP::Lite
 -> uri('http://www.swisscom.com/onecrm/potree/propagation')
 -> proxy('http://138.187.96.39:8299/Processes/NetCracker/OneCRM/ReplicateProductInventory/v01')  #Sys2  proxy: URL   (8199 SIRIUS)
 -> on_action(sub{"/Processes/NetCracker/OneCRM/ReplicateProductInventory"}); #Set SoapAction, because it is different to URI


#WebService Call
#---------------- 
 

my $result = $webService-> CustomerAccount(             
   SOAP::Data->name("CustomerAccount")->type("")->value(
   SOAP::Data->name("SCN")->type("")->value('1111'),
   SOAP::Data->name("POInstance")->type("")->value(
    SOAP::Data->name("Action")->type("")->value("Update"),
    SOAP::Data->name("Name")->type("")->value('TestAA'),
    SOAP::Data->name("Type")->type("")->value('PO_TestAA'),
    SOAP::Data->name("POIID")->type("")->value('ALL:SUB:1111AA')
    #SOAP::Data->name("ParentPOIID")->type("")->value('2010-10-14T08:30:00'),
    #SOAP::Data->name("CFSIID")->type("")->value('2010-10-14T08:30:00'))
    )
    )
  );

Version 2

....

my $result = $webService-> CustomerAccount(             
   SOAP::Data->name("SCN")->type("")->value('1111'),
   SOAP::Data->name("POInstance")->type("")->value(
    SOAP::Data->name("Action")->type("")->value("Update"),
    SOAP::Data->name("Name")->type("")->value('TestAA'),
    SOAP::Data->name("Type")->type("")->value('PO_TestAA'),
    SOAP::Data->name("POIID")->type("")->value('ALL:SUB:1111AA')
    #SOAP::Data->name("ParentPOIID")->type("")->value('2010-10-14T08:30:00'),
    #SOAP::Data->name("CFSIID")->type("")->value('2010-10-14T08:30:00'))
    )
  );

-> The same error message in the log

Call

Content-Type: text/xml; charset=utf-8
SOAPAction: /Processes/NetCracker/OneCRM/ReplicateProductInventory

<?xml version="1.0" encoding="UTF-8"?><soap:Envelope xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:soapenc="http://schemas
.xmlsoap.org/soap/encoding/" xmlns:xsd="http://www.w3.org/2001/XMLSchema" soap:encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"
 xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/"><soap:Body><CustomerAccount xmlns="http://www.swisscom.com/onecrm/potree/propaga
tion"><SCN>1111</SCN><Action>Update</Action><Name>TestAA</Name><Type>PO_TestAA</Type><POIID>ALL:SUB:1111AA</POIID></CustomerAccount></so
ap:Body></soap:Envelope>
SOAP::Transport::HTTP::Client::send_receive: HTTP::Response=HASH(0x209454c)
SOAP::Transport::HTTP::Client::send_receive: HTTP/1.1 200 OK

 

I tried also to force the generation of a poInstance element with

my $result = $webService-> CustomerAccount(             #You have to call it directly with the CustomerAccount and not with the operation ReplicateProductInventory
   SOAP::Data->name("SCN")->type("")->value('1111'),
   SOAP::Data->name("POInstance")->type("")->value(\
    SOAP::Data->name("Action")->type("")->value("Update"),
    SOAP::Data->name("Name")->type("")->value('TestAA'),
    SOAP::Data->name("Type")->type("")->value('PO_TestAA'),
    SOAP::Data->name("POIID")->type("")->value('ALL:SUB:1111AA')
    #SOAP::Data->name("ParentPOIID")->type("")->value('2010-10-14T08:30:00'),
    #SOAP::Data->name("CFSIID")->type("")->value('2010-10-14T08:30:00'))
    )
  );

But then I get an other error with namespace


<?xml version="1.0" encoding="UTF-8"?><soap:Envelope xmlns:namesp1="http://namespaces.soaplite.com/perl" xmlns:xsi="http://www.w3.org/20
01/XMLSchema-instance" xmlns:soapenc="http://schemas.xmlsoap.org/soap/encoding/" xmlns:xsd="http://www.w3.org/2001/XMLSchema" soap:encod
ingStyle="http://schemas.xmlsoap.org/soap/encoding/" xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/"><soap:Body><CustomerAccount
xmlns="http://www.swisscom.com/onecrm/potree/propagation"><SCN>1111</SCN><POInstance xsi:type="namesp1"><Action>Update</Action></POInsta
nce><Name>TestAA</Name><Type>PO_TestAA</Type><POIID>ALL:SUB:1111AA</POIID></CustomerAccount></soap:Body></soap:Envelope>
SOAP::Transport::HTTP::Client::send_receive: HTTP::Response=HASH(0x2138704)
SOAP::Transport::HTTP::Client::send_receive: HTTP/1.1 500 Internal Server Error

SoapUI Call that works

<soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/" xmlns:prop="http://www.swisscom.com/onecrm/potree/propagation">
   <soapenv:Header/>
   <soapenv:Body>
    <prop:CustomerAccount SCN="1111" xmlns:prop="http://www.swisscom.com/onecrm/potree/propagation">
          <prop:POInstance Action="Update">
            <prop:Name>TestAA</prop:Name>
            <prop:Type>PO_TestAA</prop:Type>
            <prop:POIID>ALL:SUB:1111AA</prop:POIID>
            <!--prop:ParentPOIID>ALL:SUB:91610111</prop:ParentPOIID-->
            <!--prop:CFSIID>AC0.123.456.71</prop:CFSIID-->
           </prop:POInstance>
    </prop:CustomerAccount>
   </soapenv:Body>
</soapenv:Envelope>

WSDL

<?xml version="1.0" encoding="UTF-8"?>

<wsdl:definitions xmlns:wsdl="http://schemas.xmlsoap.org/wsdl/" xmlns:tns="http://www.swisscom.com/onecrm/potree/propagation" xmlns:soap="http://schemas.xmlsoap.org/wsdl/soap/" xmlns:ns0="http://www.swisscom.com/onecrm/potree/propagation" name="GetObjectState" targetNamespace="http://www.swisscom.com/onecrm/potree/propagation">

<wsdl:types>

<xs:schema xmlns="http://www.swisscom.com/onecrm/potree/propagation" elementFormDefault="qualified" targetNamespace="http://www.swisscom.com/onecrm/potree/propagation" version="1.0" xmlns:xs="http://www.w3.org/2001/XMLSchema">

<xs:element name="CustomerAccount">

<xs:complexType>

<xs:sequence>

<xs:element maxOccurs="unbounded" name="POInstance">

<xs:complexType>

<xs:sequence>

<xs:element name="Name" type="NonEmptyStringType" />

<xs:element minOccurs="0" name="Type" type="NonEmptyStringType" />

<xs:element name="POIID" type="NonEmptyStringType" />

<xs:element minOccurs="0" maxOccurs="unbounded" name="ParentPOIID" type="NonEmptyStringType" />

<xs:element minOccurs="0" maxOccurs="unbounded" name="CFSIID" type="NonEmptyStringType" />

</xs:sequence>

<xs:attribute name="Action" type="ActionType" use="required" />

</xs:complexType>

</xs:element>

</xs:sequence>

<xs:attribute name="SCN" type="NonEmptyStringType" use="required" />

</xs:complexType>

<xs:key name="POInstanceKey">

<xs:selector xpath="POInstance" />

<xs:field xpath="POIID" />

</xs:key>

</xs:element>

<xs:simpleType name="ActionType">

<xs:restriction base="xs:string">

<xs:enumeration value="Create" />

<xs:enumeration value="Update" />

<xs:enumeration value="Delete" />

</xs:restriction>

</xs:simpleType>

<xs:simpleType name="ResponseType">

<xs:restriction base="xs:string">

<xs:enumeration value="Success" />

<xs:enumeration value="Failure" />

</xs:restriction>

</xs:simpleType>

<xs:simpleType name="NonEmptyStringType">

<xs:restriction base="xs:string">

<xs:minLength value="1" />

</xs:restriction>

</xs:simpleType>

<xs:element name="ExceptionDetails">

<xs:complexType>

<xs:sequence>

<xs:element name="Type" type="xs:string" />

<xs:element name="Message" type="xs:string" />

<xs:element minOccurs="0" name="Details" type="xs:string" />

</xs:sequence>

</xs:complexType>

</xs:element>

<xs:element name="CustomerAccountResponse">

<xs:complexType>

<xs:sequence minOccurs="1" maxOccurs="1">

<xs:element minOccurs="0" maxOccurs="1" ref="ExceptionDetails" />

<xs:element minOccurs="0" maxOccurs="1" name="WarningDetails">

<xs:complexType>

<xs:sequence>

<xs:element minOccurs="0" maxOccurs="unbounded" ref="ExceptionDetails" />

</xs:sequence>

</xs:complexType>

</xs:element>

<xs:element name="State" type="ResponseType" />

</xs:sequence>

</xs:complexType>

</xs:element>

</xs:schema>

</wsdl:types>

<wsdl:service name="ReplicateProductInventory">

<wsdl:port name="ReplicateProductInventorySource" binding="tns:ReplicateProductInventorySourceBinding">

<soap:address location="https://localhost:8099/Processes/NetCracker/OneCRM/ReplicateProductInventory/v01"/>

</wsdl:port>

</wsdl:service>

<wsdl:portType name="ReplicateProductInventoryPort">

<wsdl:operation name="ReplicateProductInventory">

<wsdl:input message="tns:CustomerAccountRequest"/>

<wsdl:output message="tns:CustomerAccountResponse"/>

</wsdl:operation>

</wsdl:portType>

<wsdl:binding name="ReplicateProductInventorySourceBinding" type="tns:ReplicateProductInventoryPort">

<soap:binding style="document" transport="http://schemas.xmlsoap.org/soap/http"/>

<wsdl:operation name="ReplicateProductInventory">

<soap:operation style="document" soapAction="/Processes/NetCracker/OneCRM/ReplicateProductInventory"/>

<wsdl:input>

<soap:body use="literal" parts="part1"/>

</wsdl:input>

<wsdl:output>

<soap:body use="literal" parts="part1"/>

</wsdl:output>

</wsdl:operation>

</wsdl:binding>

<wsdl:message name="CustomerAccountRequest">

<wsdl:part name="part1" element="ns0:CustomerAccount"/>

</wsdl:message>

<wsdl:message name="CustomerAccountResponse">

<wsdl:part name="part1" element="ns0:CustomerAccountResponse"/>

</wsdl:message>

</wsdl:definitions>

 

 

 

 

Anybody an idea, why the server interprets the SCN and poInstance as empty? How do I have to handle the attribute SCN and Action in the Code?

 

Thanks very much

Best regards

Andres

 

 


#6535 From: "rknaak07" <rknaak07@...>
Date: Thu Nov 11, 2010 9:10 pm
Subject: Looking to hire programmer with SOAP::Lite experience for a small project
rknaak07
Send Email Send Email
 
Does anybody on the board do hourly or project based consulting work.
Need help updating several web service calls to the vendors latest version. 
Thanks

Rob

#6536 From: Chaitanya Yanamadala <dr.virus.india@...>
Date: Fri Nov 12, 2010 11:35 am
Subject: need help in getting the client details
y_chaitu...
Send Email Send Email
 
Hai 
i am developing an application with some thing like this in mind.
                                    SERVER
                                       |
                                       |
                              ----------------------------
                               |        |         |
                        CLIENT  CLIENT   CLIENT 
a server is connected to three client machines. when the client is ideal i need to send a file from the server to the client and process a request in the client machine and resend the files back to the server.
 I am thinking of using the soap for this.
So first i need to do is get the cpu load of the client machine from server itself. how do i do that?
Can any one help me on this?


Regards
Chaitanya

Messages 6505 - 6536 of 6629   Oldest  |  < Older  |  Newer >  |  Newest
Add to My Yahoo!      XML What's This?

Copyright © 2010 Yahoo! Inc. All rights reserved.
Privacy Policy - Terms of Service - Guidelines NEW - Help