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...
Message search is now enhanced, find messages faster. Take it for a spin.

Messages

Advanced
Messages Help
Messages 1465 - 1494 of 6629   Oldest  |  < Older  |  Newer >  |  Newest
Messages: Show Message Summaries Sort by Date ^  
#1465 From: "Khamesra, SandeepX" <sandeepx.khamesra@...>
Date: Wed May 1, 2002 7:32 pm
Subject: Wire dump for soap::Lite server
sandeep_kham...
Send Email Send Email
 
Does any one know how to get a wiredump of messages in SOAP::Lite Server..Basically I ned to find what is Request and Response coming from client and server.
Is there any thing equivalent of tuptunnel !!!

#1466 From: "colinfaulkingham" <cfaulkingham@...>
Date: Wed May 1, 2002 8:19 pm
Subject: Interop problems???
colinfaulkin...
Send Email Send Email
 
I have a soap lite cgi- server at
http://demo.indoff.com/DGWS/SOAP/GroupServices.plex When I run a
SOAP::Lite client it works fine!

#!perl
use SOAP::Lite +trace;
$result=SOAP::Lite->uri('GroupServices')->proxy
('http://demo.indoff.com/DGWS/SOAP/GroupServices.plex')->GetGroups
(0,1,'cfaulkingham','blah0101')->result ."\n\n";

You can run this exact script above and it works as expected! When I
run a client from "Radio Userland" it does not work.  So I asked if I
was doing something wrong on the Radio-dev list and the answer I got
form a Radio Developer was that the server was not sending the proper
CRLF CRLF but only LF.  This in fact was the reason why after
debuging in Radio! Is their anything I can do about this. Does
SOAP::Transport have any way of controlling this?

You can read his response here:
http://groups.yahoo.com/group/radio-dev/message/5965

I tried the SOAP server with both PerlEx IIS 5.0 and Apache 1.3
mod_perl same result. This is driving me nuts anyone's help would be
appreciated.

This is what the SOAP::Transport part of the script looks like.
#!perl
use SOAP::Transport::HTTP;
SOAP::Transport::HTTP::CGI
     -> dispatch_to('GroupServices')
     -> handle;

package GroupServices;

sub{}'s...

Colin Faulkingham

#1467 From: "Sarinder Virk" <sarinder_virk@...>
Date: Wed May 1, 2002 8:30 pm
Subject: RE: Wire dump for soap::Lite server
sarinder_virk
Send Email Send Email
 
www.ethereal.com is a very popular tool to "sniff" the wire. Also, apache's soap.jar has a TcpTunnel tool xml.apache.org/soap/docs/tools.html
 
-----Original Message-----
From: Khamesra, SandeepX [mailto:sandeepx.khamesra@...]
Sent: Wednesday, May 01, 2002 12:32 PM
To: soaplite@yahoogroups.com
Subject: [soaplite] Wire dump for soap::Lite server

Does any one know how to get a wiredump of messages in SOAP::Lite Server..Basically I ned to find what is Request and Response coming from client and server.
Is there any thing equivalent of tuptunnel !!!


To unsubscribe from this group, send an email to:
soaplite-unsubscribe@yahoogroups.com



Your use of Yahoo! Groups is subject to the Yahoo! Terms of Service.

#1468 From: Paul Kulchenko <paulclinger@...>
Date: Wed May 1, 2002 8:43 pm
Subject: Re: Interop problems???
paulclinger
Send Email Send Email
 
Hi, Colin!

> form a Radio Developer was that the server was not sending the
> proper
> CRLF CRLF but only LF.  This in fact was the reason why after
> debuging in Radio! Is their anything I can do about this. Does
Could you get a copy of what actually was returned? I don't see where
it could happen, CGI server uses ->headers_as_string() method to get
headers and uses "\015\012" as a separator between headers and
content. binmode() is used to disable crlf conversion. CGI version
has been tested with many different implementations and this problem
wasn't detected there. Any ideas? If you can send request and
response message (debug output from SOAP::Lite client) that would
definitely help. Thanks.

Best wishes, Paul.

--- colinfaulkingham <cfaulkingham@...> wrote:
> I have a soap lite cgi- server at
> http://demo.indoff.com/DGWS/SOAP/GroupServices.plex When I run a
> SOAP::Lite client it works fine!
>
> #!perl
> use SOAP::Lite +trace;
> $result=SOAP::Lite->uri('GroupServices')->proxy
> ('http://demo.indoff.com/DGWS/SOAP/GroupServices.plex')->GetGroups
> (0,1,'cfaulkingham','blah0101')->result ."

";
>
> You can run this exact script above and it works as expected! When
> I
> run a client from "Radio Userland" it does not work.  So I asked if
> I
> was doing something wrong on the Radio-dev list and the answer I
> got
> form a Radio Developer was that the server was not sending the
> proper
> CRLF CRLF but only LF.  This in fact was the reason why after
> debuging in Radio! Is their anything I can do about this. Does
> SOAP::Transport have any way of controlling this?
>
> You can read his response here:
> http://groups.yahoo.com/group/radio-dev/message/5965
>
> I tried the SOAP server with both PerlEx IIS 5.0 and Apache 1.3
> mod_perl same result. This is driving me nuts anyone's help would
> be
> appreciated.
>
> This is what the SOAP::Transport part of the script looks like.
> #!perl
> use SOAP::Transport::HTTP;
> SOAP::Transport::HTTP::CGI
>     -> dispatch_to('GroupServices')
>     -> handle;
>
> package GroupServices;
>
> sub{}'s...
>
> Colin Faulkingham
>
>
>
>
> ------------------------ Yahoo! Groups Sponsor
>
> 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/
>
>


__________________________________________________
Do You Yahoo!?
Yahoo! Health - your guide to health and wellness
http://health.yahoo.com

#1469 From: Paul Kulchenko <paulclinger@...>
Date: Wed May 1, 2002 8:57 pm
Subject: RE: Wire dump for soap::Lite server
paulclinger
Send Email Send Email
 
Hi, Sandeep!

http://soaplite.com/#TOOLS also mentions several trace tools,
ProxyTrace and TcpTrace are among them
(http://pocketsoap.com/tcptrace/). Both are Windows applications as
far as I remember.

Best wishes, Paul.

--- Sarinder Virk <sarinder_virk@...> wrote:
> www.ethereal.com is a very popular tool to "sniff" the wire. Also,
> apache's
> soap.jar has a TcpTunnel tool xml.apache.org/soap/docs/tools.html
>
>   -----Original Message-----
>   From: Khamesra, SandeepX [mailto:sandeepx.khamesra@...]
>   Sent: Wednesday, May 01, 2002 12:32 PM
>   To: soaplite@yahoogroups.com
>   Subject: [soaplite] Wire dump for soap::Lite server
>
>
>   Does any one know how to get a wiredump of messages in SOAP::Lite
> Server..Basically I ned to find what is Request and Response coming
> from
> client and server.
>   Is there any thing equivalent of tuptunnel !!!
>
>         Yahoo! Groups Sponsor
>               ADVERTISEMENT
>
>
>
>
>   To unsubscribe from this group, send an email to:
>   soaplite-unsubscribe@yahoogroups.com
>
>
>
>   Your use of Yahoo! Groups is subject to the Yahoo! Terms of
> Service.
>
>


__________________________________________________
Do You Yahoo!?
Yahoo! Health - your guide to health and wellness
http://health.yahoo.com

#1470 From: Paul Kulchenko <paulclinger@...>
Date: Wed May 1, 2002 9:31 pm
Subject: Re: Interop problems???
paulclinger
Send Email Send Email
 
Hi, Colin!

You need to upgrade your server. v0.51 you're using didn't have
binmode() call, so your crlf's were translated to lf's. Upgrade
should fix the problem. Let me know if it doesn't help.

Best wishes, Paul.

--- colinfaulkingham <cfaulkingham@...> wrote:
> Paul,
>
> Here is the dump from running from a SOAP::Lite client. You can
> also
> test this mehtod yourself by running the small perl client below.'
>
> #!perl
> use SOAP::Lite +trace;
> $result=SOAP::Lite->uri('GroupServices')->proxy
> ('http://demo.indoff.com/DGWS/SOAP/GroupServices.plex')->GetGroups
> (0,1,'cfaulkingham','blah0101')->result;
>
> Thanks,
> Colin
>
> ###START DUMP
>
> Calling the Soap Server to GetGroups
> SOAP::Transport::new: ()
> SOAP::Serializer::new: ()
> SOAP::Deserializer::new: ()
> SOAP::Parser::new: ()
> SOAP::Lite::new: ()
> SOAP::Transport::HTTP::Client::new: ()
> SOAP::Lite::call: ()
> SOAP::Serializer::envelope: ()
> SOAP::Serializer::envelope: GetGroups 0 20 cfaulkingham blah0101
> SOAP::Data::new: ()
> SOAP::Data::new: ()
> SOAP::Data::new: ()
> SOAP::Data::new: ()
> SOAP::Data::new: ()
> SOAP::Transport::HTTP::Client::send_receive: HTTP::Request=HASH
> (0x258eed4)
> SOAP::Transport::HTTP::Client::send_receive: POST
> http://demo.indoff.com/DGWS/SOAP/GroupServices.plex
> Accept: text/xml
> Accept: multipart/*
> Content-Length: 658
> Content-Type: text/xml; charset=utf-8
> SOAPAction: "GroupServices#GetGroups"
>
> <?xml version="1.0" encoding="UTF-8"?><SOAP-ENV:Envelope
> xmlns:SOAP-
> ENC="http://schemas.xmlsoap.org/soap/encoding/" SOAP-ENV:
> encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"
> xmlns:SOAP-
> ENV="http://schemas.xmlsoap.org/soap/envelope/" xmlns:xs
> i="http://www.w3.org/1999/XMLSchema-instance"
> xmlns:xsd="http://www.w3.org/1999/XMLSchema"><SOAP-
> ENV:Body><namesp1:GetGroups
> xmlns:namesp1="GroupServices"><c-gensym3 xsi:type="xsd:int">0</c-
> gensym3><c-gensym5 xsi:type="xsd:int">20</c-gensym5><c-gensy
> m7 xsi:type="xsd:string">cfaulkingham</c-gensym7><c-gensym9
> xsi:type="xsd:string">blah0101</c-gensym9></namesp1:GetGroups></S
> OAP-ENV:Body></SOAP-ENV:Envelope>
> SOAP::Transport::HTTP::Client::send_receive: HTTP::Response=HASH
> (0x2483914)
> SOAP::Transport::HTTP::Client::send_receive: HTTP/1.1 100 Continue
> Date: Wed, 01 May 2002 20:49:36 GMT
> Server: Microsoft-IIS/5.0
> Client-Date: Wed, 01 May 2002 20:49:36 GMT
> Client-Peer: 192.9.200.169:80
>
> HTTP/1.1 200 OK
> Content-Length: 1776
> Content-Type: text/xml; charset=utf-8
> SOAPServer: SOAP::Lite/Perl/0.51
>
> <?xml version="1.0" encoding="UTF-8"?><SOAP-ENV:Envelope
> xmlns:namesp3="http://xml.apache.org/xml-soap"
> xmlns:SOAP-ENC="http:
> //schemas.xmlsoap.org/soap/encoding/" SOAP-
> ENV:encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"
> xmlns:SOAP-ENV="http
> ://schemas.xmlsoap.org/soap/envelope/"
> xmlns:xsi="http://www.w3.org/1999/XMLSchema-instance"
> xmlns:xsd="http://www.w3.org/199
> 9/XMLSchema"><SOAP-ENV:Body><namesp4:GetGroupsResponse
> xmlns:namesp4="GroupServices"><SOAP-ENC:Array
> SOAP-ENC:arrayType="name
> sp3:SOAPStruct[3]" xsi:type="SOAP-ENC:Array"><item
> xsi:type="namesp3:SOAPStruct"><Description
> xsi:type="xsd:string">Discussio
> n Group Web Service development news!Get the lastest info about
> DGWS
> and it's development!</Description><Owner xsi:type="xsd:
> string">cfaulkingham</Owner><GroupKey
> xsi:type="xsd:string">0O18P4J8v7eW753ac3De</GroupKey><Name
> xsi:type="xsd:string">DGWS -
>  Development News!</Name><CreatedOn
> xsi:type="xsd:int">20020426211053</CreatedOn></item><item
> xsi:type="namesp3:SOAPStruct"><
> Description xsi:type="xsd:string">Discussion Group Web Service
> general discussion!</Description><Owner xsi:type="xsd:string">
> cfaulkingham</Owner><GroupKey
> xsi:type="xsd:string">5I93O4Z1a1cZ228zi8Ni</GroupKey><Name
> xsi:type="xsd:string">DGWS - General
>  Discussion!</Name><CreatedOn
> xsi:type="xsd:int">20020427181103</CreatedOn></item><item
> xsi:type="namesp3:SOAPStruct"><Descri
> ption xsi:type="xsd:string">Discussion Group Web Service general
> discussion!</Description><Owner xsi:type="xsd:string">cfaulk
> ingham</Owner><GroupKey
> xsi:type="xsd:string">5K67K8B2y0bQ408hp2Oy</GroupKey><Name
> xsi:type="xsd:string">DGWS - General News!
> </Name><CreatedOn
> xsi:type="xsd:int">20020429213200</CreatedOn></item></SOAP-
> ENC:Array></namesp4:GetGroupsResponse></SOAP-ENV
> :Body></SOAP-ENV:Envelope>
> SOAP::Deserializer::deserialize: ()
> SOAP::Parser::decode: ()
> 100 Continue at group_t.pl line 10
> SOAP::Lite::DESTROY: ()
> SOAP::Transport::DESTROY: ()
> SOAP::Transport::HTTP::Client::DESTROY: ()
> SOAP::Deserializer::DESTROY: ()
> SOAP::Serializer::DESTROY: ()
> SOAP::Data::DESTROY: ()
> SOAP::Data::DESTROY: ()
> SOAP::Data::DESTROY: ()
> SOAP::Data::DESTROY: ()
> SOAP::Data::DESTROY: ()
> SOAP::Parser::DESTROY: ()
>
> ##END DUMP
>
>


__________________________________________________
Do You Yahoo!?
Yahoo! Health - your guide to health and wellness
http://health.yahoo.com

#1471 From: "Khamesra, SandeepX" <sandeepx.khamesra@...>
Date: Wed May 1, 2002 10:17 pm
Subject: SOAP::Lite server and .NET client
sandeep_kham...
Send Email Send Email
 
I have .NET Server , .NET client and SOAP::Lite server
When I talked from .NET client to .NET server , I get the expected out put but when same .NET client talks to SOAP::Lite server though the wire dumplooks the same but client is not able to extract the data..
Any help would be appreciated..
 
Here is the wire dump of my result
 

.NET Client and SOAP::Lite Server

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

POST /cgi-bin/hello.cgi HTTP/1.1

User-Agent: Mozilla/4.0 (compatible; MSIE 6.0; MS Web Services Client

Protocol 1.0.3705.0)

Content-Type: text/xml; charset=utf-8

SOAPAction: "urn:Hello/sayHello"

Content-Length: 305

Expect: 100-continue

Connection: Keep-Alive

Host: localhost

<?xml version="1.0" encoding="utf-8"?><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><sayHello

xmlns="urn:Hello"><name>Sandeep</name></sayHello></soap:Body></soap:Envelope>

 

HTTP/1.1 200 OK

Date: Thu, 02 May 2002 13:01:24 GMT

Server: Apache/1.3.23 (Unix) (Red-Hat/Linux) mod_python/2.7.6 Python/1.5.2

mod_ssl/2.8.7 OpenSSL/0.9.6b DAV/1.0.3 PHP/4.1.2 mod_perl/1.26

mod_throttle/3.1.2

SOAPServer: SOAP::Lite/Perl/0.55

Content-Length: 533

Connection: close

Content-Type: text/xml; charset=utf-8

<?xml version="1.0" encoding="UTF-8"?><SOAP-ENV:Envelope

xmlns:SOAP-ENC="http://schemas.xmlsoap.org/soap/encoding/"

SOAP-ENV:encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"

xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/"

xmlns:xsi="http://www.w3.org/1999/XMLSchema-instance"

xmlns:xsd="http://www.w3.org/1999/XMLSchema"><SOAP-ENV:Body><namesp1:sayHelloResponse

xmlns:namesp1="urn:Hello"><sayHelloResult

xsi:type="xsd:string">Sandeep</sayHelloResult></namesp1:sayHelloResponse></SOAP-ENV:Body></SOAP-ENV:Envelope>

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

 

.NET Client and .NET Server

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

POST /rms/HelloWorld.asmx HTTP/1.1

User-Agent: Mozilla/4.0 (compatible; MSIE 6.0; MS Web Services Client

Protocol 1.0.3705.0)

Content-Type: text/xml; charset=utf-8

SOAPAction: "urn:Example1/sayHello"

Content-Length: 308

Expect: 100-continue

Connection: Keep-Alive

Host: localhost

<?xml version="1.0" encoding="utf-8"?><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><sayHello

xmlns="urn:Example1"><name>sandeep</name></sayHello></soap:Body></soap:Envelope>

HTTP/1.1 100 Continue

Server: Microsoft-IIS/5.0

Date: Wed, 01 May 2002 21:46:49 GMT

HTTP/1.1 200 OK

Server: Microsoft-IIS/5.0

Date: Wed, 01 May 2002 21:46:49 GMT

Cache-Control: private, max-age=0

Content-Type: text/xml; charset=utf-8

Content-Length: 350

<?xml version="1.0" encoding="utf-8"?><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><sayHelloResponse

xmlns="urn:Example1"><sayHelloResult>Hello

sandeep</sayHelloResult></sayHelloResponse></soap:Body></soap:Envelope>

 

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


#1472 From: "Khamesra, SandeepX" <sandeepx.khamesra@...>
Date: Wed May 1, 2002 11:38 pm
Subject: WSDL utility
sandeep_kham...
Send Email Send Email
 

Is the there any utility to generate WSDL file for a SOAP::Lite web service 

#1473 From: Scott Bolte <listS+soaplite@...>
Date: Thu May 2, 2002 1:00 am
Subject: Re: Wire dump for soap::Lite server
listS+soaplite@...
Send Email Send Email
 
On Wed, 1 May 2002 12:32:00 -0700, "Khamesra, SandeepX" wrote:
>
> Does any one know how to get a wiredump of messages in SOAP::Lite
> Server..Basically I ned to find what is Request and Response coming from
> client and server.
> Is there any thing equivalent of tuptunnel !!!

	 In addition to the sniffer tools mentioned earlier, I've
	 found a few hooks in the Client code to help. For example:

	     sub send () {
		 ...
		 _debug_msg("Sending request #%d of %d bytes.\n",
			 $self->{sent}, length($serial));
		 if ($debug>1) {
			 open(T, "|tidy -xml") or die;
			 print T $serial;
			 CORE::close(T);
		 }
		 $self->{wfh}->print($serial);
	     }

	 and

	     sub receive () {
		 ...
		 _debug_msg("Received request #%d of %d bytes.\n",
			 $self->{rcvd}, length($resp));
		 if ($debug>1) {
			 print(STDERR "resp = }} $resp {{\n");
			 open(T, "|tidy -xml") or die;
			 print T $resp;
			 CORE::close(T);
		 }
		 return(SOAP::Deserializer->deserialize($resp));
	     }

	 They are suitable only for development, but I found the
	 hooks very educational. Great way to learn more about the
	 encoding. Also handy when I'm running asynchronously and
	 issue multiple requests before I handle the queued responses.

	 You'll note the raw dump in the receive method. Hard lesson
	 there.  My server's error message, sent to stderr, was
	 coming across the wire and screwing things up. Tidy discarded
	 the error message and only showed the XML envelope. Devil
	 of a time tracking that one down. Shouldn't be a hazard
	 for most other people, unless you inadvertently capture
	 'extra' info from the server, but I thought I should pass
	 on the warning.

	 Btw, I had to do it this way since my transport is SSH and
	 sniffing the traffic wasn't an option.

		 Scott

#1474 From: Daryl Williams <daryl@...>
Date: Thu May 2, 2002 1:47 am
Subject: SSH as a transport (was: Wire dump for soap::Lite server)
daryl@...
Send Email Send Email
 
helo scott, everyone. i'm still pretty new to this stuff and
still trying to learn. i'm interested in your statement about
using ssh as a transport. i'm currently writing something
using httpd as the transport. i dont want to use https
since i dont have any certificates. yet i want to make
the application secure...

are you using ssh as a wrapper or using port redirection?
i dont see an ssh transport module anywhere under SOAP::Lite.
your help, and the group's, is appreciated in understanding
this issue.

thanks,

daryl

Scott Bolte wrote:
:
:
  >  Btw, I had to do it this way since my transport is SSH and

>  sniffing the traffic wasn't an option.
>
> 	 Scott
>

:
:

#1475 From: Christer Palm <palm@...>
Date: Thu May 2, 2002 6:36 am
Subject: Re: SSH as a transport
palm@...
Send Email Send Email
 
Hi Daryl,

Daryl Williams wrote:
> helo scott, everyone. i'm still pretty new to this stuff and
> still trying to learn. i'm interested in your statement about
> using ssh as a transport. i'm currently writing something
> using httpd as the transport. i dont want to use https
> since i dont have any certificates. yet i want to make
> the application secure...
>

I just wanted to comment on this, since I had the same idea and did some
research. As you say, there's a few references to this on the net, but
as far as I can tell they're all using port redirection/tunneling.

However, although it would probably not be very hard to use the IO
transport to set up stdin/stdout piped through SSH as the transport, you
will miss one of the key reasons to use SOAP in the first place, which
is interoperability. You can't expect Java, Visual Basic, etc. to allow
you to do the same thing. At least not easily.

The performance would also not be very good, because the SSH server
would have to start up your Perl server program for every transaction,
just like a CGI server. In my experience, it takes about a second to
compile and start the SOAP::Lite server.

Based on that, I would say that SSL or HTTPS is a better solution. If
you don't have a certificate you just generate one, just as you would
generate an SSH key pair.

This brings me into another issue. Does anyone has any experience with
setting up a standalone HTTPS SOAP::Lite server? If so, I'm interested
to hear about how you did it. I tried to simply tweak HTTP::Daemon to
use IO::Socket::SSL instead of IO::Socket::INET - unfortunately it
didn't work. Is there a more straightforward way? I'd like to avoid
messing around with modified "standard" packages whenever possible.
--
Christer Palm

#1476 From: "francis_reader" <francis_reader@...>
Date: Thu May 2, 2002 7:56 am
Subject: Calls to DESTROY when using objects_by_reference.
francis_reader
Send Email Send Email
 
I have written a class service which has a lengthy file read and
parse time when an instance of that class is created within the new
method.

I am using soaplite on the client as well at the moment, just for
testing until the service is finished (at that time it will be
offered via WSDL to a windows VB client, created from MS Toolkit v2.0)

When an object is created I can observe that new is called, however I
can also see that the DESTROY method is called just after the new,
and after each call to other methods.

whether or not I am calling the object via reference or by value, the
following occurs:

In client

$r=myclass->new("somearg");
print $r->mymethod("foo");
print $r->mymethod("bar");

And logging on the server reports:
Call to new
Call to DESTROY
Call to DESTROY
Call to DESTROY

(The last two DESTROYs only appear after Ctrl-C'ing the server,
probably flushing the output buffer.)

So why is DESTROY being called after each method call?
BTW: The functionality of the method call appear to work, return sane
value when I down clear down the object.

#1477 From: "tadnat" <tadnat@...>
Date: Thu May 2, 2002 10:28 am
Subject: Google api search result like!
tadnat
Send Email Send Email
 
Hi,

I'd like to have a mothod which will return somehow like gogle search
by SOAP::Lite . Could you guide me some points?

Thanks

Tandat

#1478 From: Scott Bolte <listS+soaplite@...>
Date: Thu May 2, 2002 12:08 pm
Subject: Re: SSH as a transport (was: Wire dump for soap::Lite server)
listS+soaplite@...
Send Email Send Email
 
Daryl,

	 I have created what I call SOAP::Transport::Cmd modules.
	 I have Client and Server sides. They support the client
	 invoking the server as what appears to be a local command.

	 In my case I run (ssh -T) to establish a connection from
	 inside my scripts.  On the remote end, each authorized_keys2
	 file has a forced command which restricts the user to
	 invoking the soap server. Different ssh credentials can
	 result in the server being called differently; and therefore
	 exposing different methods.

	 If you're not familiar with forced commands, here are two
	 examples that should give you the idea.

	   command="./bin/soapserver.pl --development",no-pty ssh-dss ...
	   command="./bin/soapserver.pl --production",no-pty ssh-dss ...

	 The ... in the examples above match separate public keys.

	 Because I want to avoid the overhead of setup and teardown
	 of the secure connection, I've refined the server and client
	 to support multiple requests across on connection. In fact,
	 I can send requests and process responses asynchronously.

	 The down side is that I got this all to work when I barely
	 understood SOAP::Lite. I need to take the time to more
	 seamlessly integrate my work before I send it back to Paul.

	 Would you be interested in an 'as-is' release none the less?

		 Scott

On Wed, 01 May 2002 18:47:34 -0700, Daryl Williams wrote:
>
> are you using ssh as a wrapper or using port redirection?
> i dont see an ssh transport module anywhere under SOAP::Lite.
> your help, and the group's, is appreciated in understanding
> this issue.
>
> thanks,
>
> daryl

#1479 From: Scott Bolte <listS+soaplite@...>
Date: Thu May 2, 2002 12:23 pm
Subject: Re: SSH as a transport
listS+soaplite@...
Send Email Send Email
 
Hi Christer,

> However, although it would probably not be very hard to use the IO
> transport to set up stdin/stdout piped through SSH as the transport, you
> will miss one of the key reasons to use SOAP in the first place, which
> is interoperability. You can't expect Java, Visual Basic, etc. to allow
> you to do the same thing. At least not easily.

	 Yes and no. The methods the server loads are portable
	 for use with HTTP, et. al. Only the server invocation
	 is tied to my SOAP::Transport::Cmd module. (See sample
	 server invocation below.)

> The performance would also not be very good, because the SSH server
> would have to start up your Perl server program for every transaction,
> just like a CGI server. In my experience, it takes about a second to
> compile and start the SOAP::Lite server.

	 You're absolutely right about the cost of setup. That's
	 why, as I described in another mail message, I added support
	 to send multiple requests and process multiple responses
	 over the same connection. (See full server handler below)

> Based on that, I would say that SSL or HTTPS is a better solution. If
> you don't have a certificate you just generate one, just as you would
> generate an SSH key pair.

	 I find it much easier to manage multiple ssh certificates.
	 On the other hand, my purpose is a secure, dedicated
	 infrastructure so general purpose access (via SSL) is not
	 a priority.

		 Scott



   _______ sample server invocation:
  /
| use SOAP::Transport::Cmd::Server;
| SOAP::Transport::Cmd::Server::LOG($LOG);
| use GCG::SOAP::WWW qw(SOAP_methods_prod SOAP_methods_dev);
|
| my(@methods) = GCG::SOAP::WWW::SOAP_methods_prod();
| push(@methods, GCG::SOAP::WWW::SOAP_methods_devel())    if $devel;
| SOAP::Transport::Cmd::Server
|    ->new
|    ->dispatch_to("$ENV{HOME}/cells/live/lib/perl5/GCG/SOAP", @methods)
|    ->handle;
| exit(0);


   _______ Handler for SOAP::Transport::Server
  /
| #
| # Modeled after SOAP::Transport::IO::Server::handle. The difference is
| # that this handle() does not require a full buffer of data before it
| # proceeds. (In other words, it does not do a "join('', <>)".) Instead,
| # it peels off each envelope as it arrives and deals with it
| # immediately.
| #
| sub handle {
|         my $self = shift->new;
|
|         $self->in(*STDIN)->out(*STDOUT) unless defined $self->in;
|         my $in  = $self->in;
|         my $out = $self->out;
|
|         #
|         # Must be unbuffered output.
|         #
|         if (defined($out)) {
|                 my($oldfh) = select($out);
|                 $| = 1;
|                 select($oldfh)
|         };
|
|         #
|         # Accumulate data until the other side is closed and sysread()
|         # returns undef.
|         #
|         my($bytes) = "";
|         my($line);
|         my($red);
|         while($red = sysread(STDIN, $line, 4096)) {
|                 $bytes .= $line;
|                 #
|                 # Peel off each full envelope as we receive it and have
|                 # the base server handle it.
|                 #
|                 while ($bytes =~ s%(<\?xml[^>]+\?>\s*<([^\s>]+).*?</\2>)%%s) {
|                         my($env) = $1;
|
|                         my $result = SOAP::Server::handle($self, $env);
|
|                         print {$out} $result if defined $out;
|                 }
|         }
| }

#1480 From: Daryl Williams <daryl@...>
Date: Thu May 2, 2002 5:44 pm
Subject: Re: SSH as a transport (was: Wire dump for soap::Lite server)
daryl@...
Send Email Send Email
 
scott and christer, thank you both for your replies. i had
wondered if it was possible to use the IO::Socket::SSL
module for transport. i guess it's still not clear to
me if this is possible or not, but it sounds like it
probably is...

scott if your offering to share your code, sure i'd
be interested to see it. the project i'm working on
can stand to only work with SOAP::Lite, although i
strongly favor openess in general.

oh and christer, i guess i dont know enough about
certificates either. are you saying that both SSL snd SSH
certificates are the same thing?

if anyone knows more about these topics please pipe up! :)

tia,

daryl

#1481 From: Christer Palm <palm@...>
Date: Thu May 2, 2002 6:55 pm
Subject: Re: SSH as a transport (was: Wire dump for soap::Lite server)
palm@...
Send Email Send Email
 
Daryl Williams wrote:
>
> oh and christer, i guess i dont know enough about
> certificates either. are you saying that both SSL snd SSH
> certificates are the same thing?
>

No, they're not the same thing. You could use them in exactly the same
way as an SSH key pair, but SSL X.509 certificates provides for a
powerful additional level of flexibility.

An X.509 certificate contains your public key, metadata (i.e. name,
organization, etc...) and a digital signature. The signer of a
certificate certifies that the information in the certificate is genuine.

This means that you don't have to pre-register the users public key at
the server side, as you need to do with SSH. Normally, you would instead
   say "any user who presents a certificate signed by X is trusted", i.e.
the signer acts as a trusted third party. Anyone can act as a signer
(but you do, of course, need to pre-install a copy of X's certificate on
the server).

The advantage over a basic public key scheme is thus obviously that you
don't have to distribute the public key to a potentially very large
number of servers everytime you want to authorize a new user.

To mimic the basic public key scheme of SSH, you simply install
everyone's certificate on all the servers, just as you do with the SSH
public key. The user then just have to sign their own certificate to
become authorized (known as a self-signed certificate).

Just as with SSH, you can also skip the certificate (public key)
validation altogether and use an alternative application-provided
authentication mechanism, such as a username/password. The session is
still encrypted by SSL, of course.

This is where HTTPS shines over native SSL as a SOAP transport, since
HTTP provides a standard mechanism for username/password authentication
(which SOAP does not).

--
Christer Palm

#1482 From: "Khamesra, SandeepX" <sandeepx.khamesra@...>
Date: Thu May 2, 2002 9:59 pm
Subject: RE: SOAP::Lite server and .NET client
sandeep_kham...
Send Email Send Email
 
You are correct..Actually I was using a wrong attribute for building
envelop.. This I fig. out when I actully generated a proxy stub from the
WSDL file

Any way thx a lot for to all for  help .



-----Original Message-----
From: Duncan Cameron [mailto:dcameron@...]
Sent: Thursday, May 02, 2002 1:53 PM
To: Khamesra, SandeepX
Subject: Re: [soaplite] SOAP::Lite server and .NET client


On 2002-05-01 Khamesra, SandeepX wrote:
>I have .NET Server , .NET client and SOAP::Lite server
>When I talked from .NET client to .NET server , I get the expected out put
>but when same .NET client talks to SOAP::Lite server though the wire
>dumplooks the same but client is not able to extract the data..

The wire dumps  are not the same - see below. It looks as if you need to
ensure that
all elements are in the correct namespace.. This is one of the things which
the
SOAP::LIte documentation poinst out.

>..NET Client and SOAP::Lite Server
.. snipped ...

><?xml version="1.0" encoding="UTF-8"?><SOAP-ENV:Envelope
>
>xmlns:SOAP-ENC="http://schemas.xmlsoap.org/soap/encoding/"
>
>SOAP-ENV:encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"
>
>xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/"
>
>xmlns:xsi="http://www.w3.org/1999/XMLSchema-instance"
>
>xmlns:xsd="http://www.w3.org/1999/XMLSchema"><SOAP-ENV:Body><namesp1:sayHel
l
>oResponse
>
>xmlns:namesp1="urn:Hello"><sayHelloResult
>
>xsi:type="xsd:string">Sandeep</sayHelloResult></namesp1:sayHelloResponse></
S
>OAP-ENV:Body></SOAP-ENV:Envelope>
>
Here the <sayHelloResult> element is not in any namespace because it doesn't
have a
prefix and the default namespace has not been defined.


>..NET Client and .NET Server

.. snipped ...

><?xml version="1.0" encoding="utf-8"?><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><sayHelloResponse
>
>xmlns="urn:Example1"><sayHelloResult>Hello
>
>sandeep</sayHelloResult></sayHelloResponse></soap:Body></soap:Envelope>

Here the <sayHelloResult> element is in the urn:Example1 namespace (because
it doesn't
have a prefix and the default namespace _has_ been defined)


Regards,
Duncan Cameron

#1483 From: Duncan Cameron <dcameron@...>
Date: Thu May 2, 2002 11:35 pm
Subject: Re: Google api search result like!
dcameron@...
Send Email Send Email
 
On 2002-05-02 tadnat wrote:
>Hi,
>
>I'd like to have a mothod which will return somehow like gogle search
>by SOAP::Lite . Could you guide me some points?
>
>Thanks
>
>Tandat

Easy with SOAP::Lite!
Generate a .pm using stubmaker

stubmaker http://api-ab.google.com/search/beta2/GoogleSearch.wsdl

then simply invoke doGoogleSearch with all the parameters. You'll need to
register with
Google first though. Go to http://www.google.com/apis/


Regards,
Duncan Cameron

#1484 From: "malkovichus" <malkovichus@...>
Date: Fri May 3, 2002 12:19 am
Subject: creating SOAP server
malkovichus
Send Email Send Email
 
Hello,

I'm trying to create an actual SOAP client that can process the
following
simple message.

--------------------------------------------------------------
#!/usr/bin/perl -w

use SOAP::Transport::HTTP;

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

package Demo;

sub Get {
   return SOAP::Data->name('greeting' => 'SOAP greeting, hello');
}

-------------------------------------------------------------------
What I think this is doing is sending element called greeting that
contains information: SOAP greeting, hello. And my questions is what
should the client would look like to process this server
information. If anyone post a simple client for this server, it would
be
very appreciated.

What the following does is just sending plain ol' text, right?

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

   #!perl -w
   use SOAP::Transport::HTTP;
   SOAP::Transport::HTTP::CGI
     -> dispatch_to('Demo')
     -> handle;
   package Demo;
   sub hi {
     return "hello, world";
   }


---------------------------------------------------
and the client just calling hi() or bye() without declaring the
receiving soap elements and attributes.

Any comments, posts. Thanks.

Enkh

#1485 From: Shin Neng Wong <shinnengw@...>
Date: Fri May 3, 2002 1:07 am
Subject: Re: encounter some problems in the new soap version
shinnengw
Send Email Send Email
 
hi all again,

This is a re-post of the below email.  Anyone has any
idea what is the problem that I am encountering?  I
experience this problem after I upgraded to version
0.55.

Thanks in advance again....
--- Shin Neng Wong <shinnengw@...> wrote:
> Hi all,
>
> I upgraded my soaplite to the latest one to avoid
> the
> security flaw.  I like to thank Paul and everyone
> else
> in the contribution.
>
> However, I just encounter a problem after upgrading.
>
> Before the upgrade, this worked:
>
> $self->match(join '/', SOAP::SOM::header,
> 'head')->dataof->attr->{'xmlns:Ah'};
>
> That is, I can extract the attribute value "uri"
> from
> the following:
> <SOAP-ENV:Header>
>   <Ah:head xmlns:Ah=uri>test</Ah:head>
> </SOAP-ENV:Header>
>
> The trace highlighted the following error:
>
> Use of uninitialized value in join or string at
> /usr/lib/perl5/site_perl/5.6.1/SOAP/Lite.pm line
> 2244.
>
> Is SOAP::SOM::header deprecated?  If so, what is the
> other way of doing it?
>
>
> __________________________________________________
> Do You Yahoo!?
> Yahoo! Games - play chess, backgammon, pool and more
> http://games.yahoo.com/
>


__________________________________________________
Do You Yahoo!?
Yahoo! Health - your guide to health and wellness
http://health.yahoo.com

#1486 From: "francis_reader" <francis_reader@...>
Date: Fri May 3, 2002 8:30 am
Subject: Forcefull destruction of objects without waiting for timeout.
francis_reader
Send Email Send Email
 
Is there a way to forcefully destruct an object, rather that waiting
for anykind of timeout.

TIA Francis

#1487 From: "Chris Davies" <Chris.Davies@...>
Date: Fri May 3, 2002 9:15 am
Subject: RE: WSDL utility
roaima
Send Email Send Email
 
Search for "WSDL" on search.cpan.org and you'll find something that will help generate a WSDL file for SOAP::Lite
Chris
 
 
-----Original Message-----
From: Khamesra, SandeepX [mailto:sandeepx.khamesra@...]
Sent: Thursday, May 02, 2002 12:39 AM
To: soaplite@yahoogroups.com
Subject: [soaplite] WSDL utility


Is the there any utility to generate WSDL file for a SOAP::Lite web service 


To unsubscribe from this group, send an email to:
soaplite-unsubscribe@yahoogroups.com



Your use of Yahoo! Groups is subject to the Yahoo! Terms of Service.

#1488 From: Dougal Campbell <dougal@...>
Date: Fri May 3, 2002 1:53 pm
Subject: Jabber transport
dougal@...
Send Email Send Email
 
I wanted to experiment with the Jabber transport functionality in
SOAP::Lite, but I'm running into a problem...

  dougal:~> perl soapjab.pl
  Can't locate object method "AddDelegate" via package "Net::Jabber::Protocol"
  at /usr/lib/perl5/site_perl/5.6.0/Net/Jabber/Client.pm line 171.

This comes from SOAP::Transport::JABBER.pm, right after authentication
occurs:
   $self->AddDelegate(
     namespace  => $NAMESPACE,
     parent     => 'Net::Jabber::Query',
     parenttype => 'query',
     delegate   => 'SOAP::Transport::JABBER::Query',
   );

But there's no AddDelegate method in the Net::Jabber module, or anywhere
else, than I can find.

I'm guessing that there used to be an AddDelegate method, and that it
went away during a Net::Jabber upgrade? I've got
   Net::Jabber version 1.0024
   SOAP::Lite  version 0.55

Any clues on how to work around this?

--
Ernest MacDougal Campbell III, MCP+I, MCSE <dougal@...>
http://dougal.gunters.org/             http://spam.gunters.org/
   Web Design & Development:  http://www.mentalcollective.com/
        This message is guaranteed to be 100% eror frea!

#1489 From: "jimmi1232002" <kraev@...>
Date: Fri May 3, 2002 4:11 pm
Subject: axis - soap::lite interoperability
jimmi1232002
Send Email Send Email
 
Hello, I am a newbie to soap::lite. I am trying to interoperate axis
java server and soap::lite client. At this point, I already tested the
interoperability of simple datatypes (it works) and now I want to pass
complex datatype, array of structures.

all my server datatypes are in custom namespace
(http://datatypes.portal.creator.syndesis.com), this is from axis
deployment descriptor, note xmlns attribute:

------snip-------
       <typeMapping
         xmlns:ns="http://datatypes.portal.creator.syndesis.com"
         qname="ns:SearchCriteria"

type="java:com.syndesis.creator.portal.datatypes.SearchCriteriaItem[]"

serializer="org.apache.axis.encoding.ser.ArraySerializerFactory"

deserializer="org.apache.axis.encoding.ser.ArrayDeserializerFactory"
         encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"
       />
------snip-------

This is the client source code (I tried both SOAP::Data approach and
plain perl structure approach):

------snip-------
     use Class::Struct;
     struct( SearchCriteriaItem => {
             Name => '$',
             Value => '$',
     });

     my $sc = new SearchCriteriaItem;
     $sc->Name("srname");
     $sc->Value("*");

     my $dt = [SOAP::Data->name("SearchCriteriaItem" => $sc)];
     use SOAP::Lite +trace => all;

     my $soap =  SOAP::Lite ->
service('file:/disk2/act41/WebGUI/tomcat/webapps/axis/test.wsdl');


#$soap->serializer->prefix("http://test.portal.creator.syndesis.com");

#$soap->serializer->uri("http://test.portal.creator.syndesis.com");


     #print $soap ->
query('SRntNetwork',[SOAP::Data->name("SearchCriteriaItem" =>
[SOAP::Data->name("Name" => "srname"), SOAP::Data->name("Value" =>
"*")])]);
     $a = [{Name => 'srname', Value => '*'}];
     print $soap -> query('SRntNetwork',$dt);
------snip-------

All fails because of the following problem:
Namespaces coming from perl (client side):

xmlns:namesp2="http://xml.apache.org/xml-soap" (for SOAPStruct, this
namespace is hardcoded)
xmlns:namesp2="http://namespaces.soaplite.com/perl (for any other
generic SOAP::Data array or structure coming from perl side)

This is what we get as a result of namespace incompatibility on server
side:
    <faultstring>org.xml.sax.SAXException: No deserializer defined for
array type
http://namespaces.soaplite.com/perl:SearchCriteriaItem</faultstring>

As far as I understand, I have two options:

1) on server-side, generate all datatypes to be in soap::lite
namespace, so that they can be properly deserialized. But this
approach means that for every client I want to support I need a
different server with different namespace, and this is not real
interoperability.

2) make soap::lite specify server-side namespace in serialization
somehow.

Could someone please clarify on that, because right now
interoperability seems no more than a hype to me.

Thanks, Anton.

#1490 From: Paul Kulchenko <paulclinger@...>
Date: Fri May 3, 2002 5:24 pm
Subject: Re: axis - soap::lite interoperability
paulclinger
Send Email Send Email
 
Hi, Anton!

Probably something like this should work:

# define SearchCriteriaItem object
my $sci = bless {
   Name  => 'srname',
   Value => '*',
} => 'SearchCriteriaItem';

# define SearchCriteria object
my $sc = bless [
   $sci,
] => 'SearchCriteria';

my $s = SOAP::Lite
   -> proxy("http://localhost/")
   -> uri('http://foo/')

# map SearchCriteriaItem and SearchCriteria object to namespaces
   -> maptype({
     SearchCriteriaItem => 'http://test.portal.creator.syndesis.com',
     SearchCriteria     => 'http://test.portal.creator.syndesis.com',
   })
;

# call
$s->query(SRntNetwork => $sc);

> 2) make soap::lite specify server-side namespace in serialization
> somehow.
You can use maptype() method to specify namespace associated with
datatype. Let me know if you still have problems.

Best wishes, Paul.

--- jimmi1232002 <kraev@...> wrote:
> Hello, I am a newbie to soap::lite. I am trying to interoperate
> axis
> java server and soap::lite client. At this point, I already tested
> the
> interoperability of simple datatypes (it works) and now I want to
> pass
> complex datatype, array of structures.
>
> all my server datatypes are in custom namespace
> (http://datatypes.portal.creator.syndesis.com), this is from axis
> deployment descriptor, note xmlns attribute:
>
> ------snip-------
>       <typeMapping
>         xmlns:ns="http://datatypes.portal.creator.syndesis.com"
>         qname="ns:SearchCriteria"
>
>
type="java:com.syndesis.creator.portal.datatypes.SearchCriteriaItem[]"
>
> serializer="org.apache.axis.encoding.ser.ArraySerializerFactory"
>
>
deserializer="org.apache.axis.encoding.ser.ArrayDeserializerFactory"
>         encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"
>       />
> ------snip-------
>
> This is the client source code (I tried both SOAP::Data approach
> and
> plain perl structure approach):
>
> ------snip-------
>     use Class::Struct;
>     struct( SearchCriteriaItem => {
>             Name => '$',
>             Value => '$',
>     });
>
>     my $sc = new SearchCriteriaItem;
>     $sc->Name("srname");
>     $sc->Value("*");
>
>     my $dt = [SOAP::Data->name("SearchCriteriaItem" => $sc)];
>     use SOAP::Lite +trace => all;
>
>     my $soap =  SOAP::Lite ->
> service('file:/disk2/act41/WebGUI/tomcat/webapps/axis/test.wsdl');
>
>
>
#$soap->serializer->prefix("http://test.portal.creator.syndesis.com");
>
> #$soap->serializer->uri("http://test.portal.creator.syndesis.com");
>
>
>     #print $soap ->
> query('SRntNetwork',[SOAP::Data->name("SearchCriteriaItem" =>
> [SOAP::Data->name("Name" => "srname"), SOAP::Data->name("Value" =>
> "*")])]);
>     $a = [{Name => 'srname', Value => '*'}];
>     print $soap -> query('SRntNetwork',$dt);
> ------snip-------
>
> All fails because of the following problem:
> Namespaces coming from perl (client side):
>
> xmlns:namesp2="http://xml.apache.org/xml-soap" (for SOAPStruct,
> this
> namespace is hardcoded)
> xmlns:namesp2="http://namespaces.soaplite.com/perl (for any other
> generic SOAP::Data array or structure coming from perl side)
>
> This is what we get as a result of namespace incompatibility on
> server
> side:
>    <faultstring>org.xml.sax.SAXException: No deserializer defined
> for
> array type
>
http://namespaces.soaplite.com/perl:SearchCriteriaItem</faultstring>
>
> As far as I understand, I have two options:
>
> 1) on server-side, generate all datatypes to be in soap::lite
> namespace, so that they can be properly deserialized. But this
> approach means that for every client I want to support I need a
> different server with different namespace, and this is not real
> interoperability.
>
> 2) make soap::lite specify server-side namespace in serialization
> somehow.
>
> Could someone please clarify on that, because right now
> interoperability seems no more than a hype to me.
>
> Thanks, Anton.
>
>
> ------------------------ Yahoo! Groups Sponsor
>
> 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/
>
>


__________________________________________________
Do You Yahoo!?
Yahoo! Health - your guide to health and wellness
http://health.yahoo.com

#1491 From: Paul Kulchenko <paulclinger@...>
Date: Fri May 3, 2002 5:36 pm
Subject: Re: encounter some problems in the new soap version
paulclinger
Send Email Send Email
 
Hi, Shin!

> > $self->match(join '/', SOAP::SOM::header,
> > 'head')->dataof->attr->{'xmlns:Ah'};
> >
> > That is, I can extract the attribute value "uri"
> > from
> > the following:
> > <SOAP-ENV:Header>
> >   <Ah:head xmlns:Ah=uri>test</Ah:head>
> > </SOAP-ENV:Header>
I'm not getting this error, but that was changed in 0.52 and now you
can't access xmlns attributes directly (may change in future
versions). To access associated namespace you can do this:

$self->dataof(join '/', SOAP::SOM::header, 'head')->uri;

Let me know if that's not what you want.

Best wishes, Paul.

--- Shin Neng Wong <shinnengw@...> wrote:
> hi all again,
>
> This is a re-post of the below email.  Anyone has any
> idea what is the problem that I am encountering?  I
> experience this problem after I upgraded to version
> 0.55.
>
> Thanks in advance again....
> --- Shin Neng Wong <shinnengw@...> wrote:
> > Hi all,
> >
> > I upgraded my soaplite to the latest one to avoid
> > the
> > security flaw.  I like to thank Paul and everyone
> > else
> > in the contribution.
> >
> > However, I just encounter a problem after upgrading.
> >
> > Before the upgrade, this worked:
> >
> > $self->match(join '/', SOAP::SOM::header,
> > 'head')->dataof->attr->{'xmlns:Ah'};
> >
> > That is, I can extract the attribute value "uri"
> > from
> > the following:
> > <SOAP-ENV:Header>
> >   <Ah:head xmlns:Ah=uri>test</Ah:head>
> > </SOAP-ENV:Header>
> >
> > The trace highlighted the following error:
> >
> > Use of uninitialized value in join or string at
> > /usr/lib/perl5/site_perl/5.6.1/SOAP/Lite.pm line
> > 2244.
> >
> > Is SOAP::SOM::header deprecated?  If so, what is the
> > other way of doing it?
> >
> >
> > __________________________________________________
> > Do You Yahoo!?
> > Yahoo! Games - play chess, backgammon, pool and more
> > http://games.yahoo.com/
> >
>
>
> __________________________________________________
> Do You Yahoo!?
> Yahoo! Health - your guide to health and wellness
> http://health.yahoo.com
>
> ------------------------ Yahoo! Groups Sponsor
>
> 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/
>
>


__________________________________________________
Do You Yahoo!?
Yahoo! Health - your guide to health and wellness
http://health.yahoo.com

#1492 From: Jim Dixon <jdd@...>
Date: Fri May 3, 2002 5:43 pm
Subject: Re: Forcefull destruction of objects without waiting for timeout.
jdd@...
Send Email Send Email
 
On Fri, 3 May 2002, francis_reader wrote:

> Is there a way to forcefully destruct an object, rather that waiting
> for anykind of timeout.

Simplest thing to do is to leave the scope in which the object was
created.  There must not be any live references to the object.

--
Jim Dixon  jdd@...   tel +44 117 982 0786  mobile +44 797 373 7881
---------- THAT'S A CHANGE OF ADDRESS: I'm no longer jdd@... --------

#1493 From: Anton Kraev <kraev@...>
Date: Fri May 3, 2002 7:05 pm
Subject: Re: axis - soap::lite interoperability
jimmi1232002
Send Email Send Email
 
Paul Kulchenko wrote:

> Hi, Anton!
>
> Probably something like this should work:
>
> # define SearchCriteriaItem object
> my $sci = bless {
>   Name  => 'srname',
>   Value => '*',
> } => 'SearchCriteriaItem';
>
> # define SearchCriteria object
> my $sc = bless [
>   $sci,
> ] => 'SearchCriteria';
>
> my $s = SOAP::Lite
>   -> proxy("http://localhost/")
>   -> uri('http://foo/')
>
> # map SearchCriteriaItem and SearchCriteria object to namespaces
>   -> maptype({
>     SearchCriteriaItem => 'http://test.portal.creator.syndesis.com',
>     SearchCriteria     => 'http://test.portal.creator.syndesis.com',
>   })
> ;
>
> # call
> $s->query(SRntNetwork => $sc);
>
> > 2) make soap::lite specify server-side namespace in serialization
> > somehow.
> You can use maptype() method to specify namespace associated with
> datatype. Let me know if you still have problems.

Paul,

Thanks a lot for your support! maptype works perfectly for me.
This should be put in some kind of FAQ :)

Thanks, Anton.

>
>
> Best wishes, Paul.
>
> --- jimmi1232002 <kraev@...> wrote:
> > Hello, I am a newbie to soap::lite. I am trying to interoperate
> > axis
> > java server and soap::lite client. At this point, I already tested
> > the
> > interoperability of simple datatypes (it works) and now I want to
> > pass
> > complex datatype, array of structures.
> >
> > all my server datatypes are in custom namespace
> > (http://datatypes.portal.creator.syndesis.com), this is from axis
> > deployment descriptor, note xmlns attribute:
> >
> > ------snip-------
> >       <typeMapping
> >         xmlns:ns="http://datatypes.portal.creator.syndesis.com"
> >         qname="ns:SearchCriteria"
> >
> >
> type="java:com.syndesis.creator.portal.datatypes.SearchCriteriaItem[]"
> >
> > serializer="org.apache.axis.encoding.ser.ArraySerializerFactory"
> >
> >
> deserializer="org.apache.axis.encoding.ser.ArrayDeserializerFactory"
> >         encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"
> >       />
> > ------snip-------
> >
> > This is the client source code (I tried both SOAP::Data approach
> > and
> > plain perl structure approach):
> >
> > ------snip-------
> >     use Class::Struct;
> >     struct( SearchCriteriaItem => {
> >             Name => '$',
> >             Value => '$',
> >     });
> >
> >     my $sc = new SearchCriteriaItem;
> >     $sc->Name("srname");
> >     $sc->Value("*");
> >
> >     my $dt = [SOAP::Data->name("SearchCriteriaItem" => $sc)];
> >     use SOAP::Lite +trace => all;
> >
> >     my $soap =  SOAP::Lite ->
> > service('file:/disk2/act41/WebGUI/tomcat/webapps/axis/test.wsdl');
> >
> >
> >
> #$soap->serializer->prefix("http://test.portal.creator.syndesis.com");
> >
> > #$soap->serializer->uri("http://test.portal.creator.syndesis.com");
> >
> >
> >     #print $soap ->
> > query('SRntNetwork',[SOAP::Data->name("SearchCriteriaItem" =>
> > [SOAP::Data->name("Name" => "srname"), SOAP::Data->name("Value" =>
> > "*")])]);
> >     $a = [{Name => 'srname', Value => '*'}];
> >     print $soap -> query('SRntNetwork',$dt);
> > ------snip-------
> >
> > All fails because of the following problem:
> > Namespaces coming from perl (client side):
> >
> > xmlns:namesp2="http://xml.apache.org/xml-soap" (for SOAPStruct,
> > this
> > namespace is hardcoded)
> > xmlns:namesp2="http://namespaces.soaplite.com/perl (for any other
> > generic SOAP::Data array or structure coming from perl side)
> >
> > This is what we get as a result of namespace incompatibility on
> > server
> > side:
> >    <faultstring>org.xml.sax.SAXException: No deserializer defined
> > for
> > array type
> >
> http://namespaces.soaplite.com/perl:SearchCriteriaItem</faultstring>
> >
> > As far as I understand, I have two options:
> >
> > 1) on server-side, generate all datatypes to be in soap::lite
> > namespace, so that they can be properly deserialized. But this
> > approach means that for every client I want to support I need a
> > different server with different namespace, and this is not real
> > interoperability.
> >
> > 2) make soap::lite specify server-side namespace in serialization
> > somehow.
> >
> > Could someone please clarify on that, because right now
> > interoperability seems no more than a hype to me.
> >
> > Thanks, Anton.
> >
> >
> > ------------------------ Yahoo! Groups Sponsor
> >
> > 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/
> >
> >
>
> __________________________________________________
> Do You Yahoo!?
> Yahoo! Health - your guide to health and wellness
> http://health.yahoo.com

#1494 From: Paul Kulchenko <paulclinger@...>
Date: Sat May 4, 2002 1:08 am
Subject: Re: Two questions from deep code study
paulclinger
Send Email Send Email
 
Hi, Randy!

--- "Randy J. Ray" <rjray@...> wrote:
> As part of the book I'm currently writing, I've been doing a very
> thorough
> overview and documentation of all the classes in the SOAP::Lite
> module. In my
Nice ;)

> studies, I've come across a few things that don't quite add up:
>
> 1. While SOAP::Trace defines the signals "dispatch" and "headers",
> neither
>    are ever triggered. The "dispatch" signal seems to be used in
> one place,
>    but it commented out. "headers" doesn't seem to used anywhere.
That's correct. dispatch() method was commented out in 0.50 and
headers() was only used in 0.41. Should they be deleted? I'm not
sure. I still plan to use them.

> 2. If the handler method in SOAP::Transport::HTTP::Apache class
> could be used
>    directly as a method handler in mod_perl if it is given a
> prototype of ($$).
>    The sample SOAP::Apache module in examples/server probably
> wouldn't even be necessary.
Hm, yes. Never thought about it. Thanks for the idea. Although you
need to configure server somehow. SOAP::Apache allows you to
configure it in your code, and Apache::SOAP allows you to configure
server using .htaccess or httpd.conf file.

Best wishes, Paul.

__________________________________________________
Do You Yahoo!?
Yahoo! Health - your guide to health and wellness
http://health.yahoo.com

Messages 1465 - 1494 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