From: Robert L. <Rob...@co...> - 2008-12-18 20:12:11
|
Umm... Okay, so you're saying that it's not being sent, but you aren't calling the method... $plz->call('q0:updatePLZInformationen',...args...); OR... $plz->updatePLZInformation(...args...); Pass your SOAP::Data structure you created and you should be all set. Good luck, Rob Thorsten Harms wrote: > Hi all, > > I'm still encountering problems... > Here's my actual test script: > > #!/usr/bin/perl -w > use SOAP::Lite +trace => 'debug'; > > my $plz = SOAP::Lite > ->service('file:/path/to/Service.wsdl') > ->proxy("http://1.2.3.4:8080/path/to/service"); > > my $serializer = $plz->serializer(); > > $serializer->register_ns("http://foo.bar.de","q0 > <http://foo.bar.de%22,%22q0>"); > $serializer->register_ns("http://foo.bar.de","q1 > <http://foo.bar.de%22,%22q1>"); > > print($serializer->envelope( > method => 'q0:updatePLZInformationen', > SOAP::Data->type("xsd:string")->name("q0:clientid" => "ska" ), > SOAP::Data->type("xsd:string")->name("q0:securitytoken" => "ska" ), > SOAP::Data->type("tns2:PLZInfo")->name("q0:plzinfos")->value( > \SOAP::Data->value( > SOAP::Data->type("xsd:string")->name("q1:kurzname")->value("gargel"), > SOAP::Data->type("xsd:string")->name("q1:plz")->value("54321"), > SOAP::Data->type("xsd:string")->name("q1:stadt")->value("Gnarz"), > SOAP::Data->type("xsd:string")->name("q1:status")->value("0815"), > SOAP::Data->type("xsd:string")->name("q1:typ")->value("2"), > SOAP::Data->type("xsd:string")->name("q1:zusatz")->value("vorne > links") > ) > ) > )); > > But it seems, that the data never gets send... > > If I paste the dropped-out SOAP-message into soapUI and send it to the > server, all is fine. > > Sorry for probably asking stupid questions, but this is my first > soap-lite project. > > Thanks in advance, > > Thorsten > > ------------------------------------------------------------------------ > *Von:* Thorsten Harms [mailto:tho...@ar...] > *Gesendet:* Fr 12.12.2008 09:31 > *An:* soa...@li... > *Betreff:* Re: [Soaplite-devel] Problems with SOAP::Lite client > > Hi Rob, > > that didn't work out either, but I got an example from the perlmonks > yesterday: > > #!/usr/bin/perl -- > > use strict; > use warnings; > > use SOAP::Lite; > use SOAP::Lite 0.65 +trace => 'debug'; > > > > my $soap = SOAP::Lite->proxy( 'http://localhost/blah/DummyService' ); > > my $serializer = $soap->serializer(); > > print $serializer->envelope( > method => 'updatePLZInformationen', > > SOAP::Data->type("xsd:string")->name( "clientid" => "test" ), > SOAP::Data->type("xsd:string")->name( "securitytoken" => "test" ), > SOAP::Data->type("tns2:PLZInfo")->name("plzinfos")->value( > \SOAP::Data->value( > SOAP::Data->name("kurzname")->type("xsd:string")->value("gargel"), > SOAP::Data->name("plz")->type("xsd:string")->value("12345"), > SOAP::Data->name("stadt")->type("xsd:string")->value("Musterstadt"), > SOAP::Data->name("status")->type("xsd:string")->value("0815"), > SOAP::Data->name("typ")->type("xsd:string")->value("2"), > SOAP::Data->name("zusatz")->type("xsd:string")->value("hinten rechts") > ) > ) > ); > I'm following this trace right now. The SOAP-message looks promising: > <?xml version="1.0" encoding="UTF-8"?> > <soap:Envelope soap:encodingStyle="http://schemas.xmlsoap.org/soap/encoding/" xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/" xmlns:soapenc="http://schemas.xmlsoap.org/soap/encoding/" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"> > <soap:Body> > <updatePLZInformationen> > <clientid xsi:type="xsd:string">test</clientid> > <securitytoken xsi:type="xsd:string">test</securitytoken> > <plzinfos xsi:type="tns2:PLZInfo"> > <kurzname xsi:type="xsd:string">gargel</kurzname> > <plz xsi:type="xsd:string">12345</plz> > <stadt xsi:type="xsd:string">Musterstadt</stadt> > <status xsi:type="xsd:string">0815</status> > <typ xsi:type="xsd:string">2</typ> > <zusatz xsi:type="xsd:string">hinten rechts</zusatz> > </plzinfos> > </updatePLZInformationen> > </soap:Body> > </soap:Envelope> > Regards, > > Thorsten > > ------------------------------------------------------------------------ > *Von:* Robert Landrum [mailto:Rob...@co...] > *Gesendet:* Do 11.12.2008 18:24 > *An:* Thorsten Harms > *Cc:* soa...@li... > *Betreff:* Re: [Soaplite-devel] Problems with SOAP::Lite client > > Have you tried \@data? That probably won't work. > > @data = map { SOAP::Data->value($_) } @data; > > Try that... > > Rob > > > Thorsten Harms wrote: > > Hi Frederic, > > > > thanks for the hint, but unfortunately it doesn't work... > > > > The Tivoli Data Integrator (ITDI) still doesn't recognize the array. > > The guy who developed the service of the ITDI said, it must receive an > > array of PLZInfos. But he is all into java and autogenerated code, so > > he is not much of a help... > > > > I'm runnin' a little short on ideas (and time...) right now. :-( > > > > Bye, > > > > Thorsten > > > > ------------------------------------------------------------------------ > > *Von:* Frédéric Solvignon [mailto:Fre...@lo...] > > *Gesendet:* Mi 10.12.2008 16:35 > > *An:* Thorsten Harms > > *Betreff:* RE: [Soaplite-devel] Problems with SOAP::Lite client > > > > Hi, > > > > Try this : > > > > SOAP::Data->type("tns2:PLZInfo")->name("plzinfos" => > > \SOAP::Data->value(@data) )); > > > > > > > > > > > > *De :* Thorsten Harms [mailto:tho...@ar...] > > *Envoyé :* mercredi 10 décembre 2008 16:12 > > *À :* soa...@li... > > *Objet :* [Soaplite-devel] Problems with SOAP::Lite client > > > > > > > > Hi, > > > > > > > > I'm currently writing a client using SOAP::Lite, that connects to an > > IBM Tivoli Data Integrator. > > > > > > > > Here are some excerpts from the wsdl-file: > > > > ... > > <element name="updatePLZInformationen"> > > <complexType> > > <sequence> > > <element name="clientid" nillable="true" > > type="xsd:string" /> > > <element name="securitytoken" nillable="true" > > type="xsd:string" /> > > <element maxOccurs="unbounded" minOccurs="0" > > name="plzinfos" type="tns2:PLZInfo" /> > > </sequence> > > </complexType> > > </element> > > ... > > <complexType name="PLZInfo"> > > <sequence> > > <element name="kurzname" nillable="true" > > type="xsd:string" /> > > <element name="plz" nillable="true" > > type="xsd:string" /> > > <element name="stadt" nillable="true" > > type="xsd:string" /> > > <element name="status" nillable="true" > > type="xsd:string" /> > > <element name="typ" nillable="true" > > type="xsd:string" /> > > <element name="zusatz" nillable="true" > > type="xsd:string" /> > > </sequence> > > </complexType> > > ... > > > > > > > > And here is my code: > > > > ... > > while(...) { > > # Hash zusammenbasteln > > $hash{"kurzname"} = $kurzname; > > $hash{"plz"} = $plz; > > $hash{"stadt"} = $stadt; > > $hash{"status"} = $status; > > $hash{"typ"} = $typ; > > $hash{"zusatz"} = $zusatz; > > > > push(@ary,%hash); > > } > > > > eval { > > $dss->updatePLZInformationen(@ary); > > }; > > ... > > sub updatePLZInformationen() { > > my @data = shift(); > > > > my $plz = SOAP::Lite > > -> service('file:/path/Service.wsdl'); > > > > > $plz->updatePLZInformationen(SOAP::Data->type("xsd:string")->name("clientid" > > => "foo")->value, > > SOAP::Data->type("xsd:string")->name("securitytoken" => > > "bar")->value, > > SOAP::Data->type("tns2:PLZInfo")->name("plzinfos" => @data)); > > } > > > > My problem is, that the last argument ("plzinfos") does not seem to be > > correct, because the ITDI does not recognize it as an array. > > > > > > > > Any hints, tipps, etc. would be highly appreciated :-) > > > > > > > > Thanks in advance, > > > > > > > > Thorsten > > > > ------------------------------------------------------------------------ > > > > > ------------------------------------------------------------------------------ > > SF.Net email is Sponsored by MIX09, March 18-20, 2009 in Las Vegas, > Nevada. > > The future of the web can't happen without you. Join us at MIX09 to > help > > pave the way to the Next Web now. Learn more and register at > > > http://ad.doubleclick.net/clk;208669438;13503038;i?http://2009.visitmix.com/ > > ------------------------------------------------------------------------ > > > > _______________________________________________ > > Soaplite-devel mailing list > > Soa...@li... > > https://lists.sourceforge.net/lists/listinfo/soaplite-devel > > > > ------------------------------------------------------------------------ > > ------------------------------------------------------------------------------ > SF.Net email is Sponsored by MIX09, March 18-20, 2009 in Las Vegas, Nevada. > The future of the web can't happen without you. Join us at MIX09 to help > pave the way to the Next Web now. Learn more and register at > http://ad.doubleclick.net/clk;208669438;13503038;i?http://2009.visitmix.com/ > ------------------------------------------------------------------------ > > _______________________________________________ > Soaplite-devel mailing list > Soa...@li... > https://lists.sourceforge.net/lists/listinfo/soaplite-devel > |