|
RE: [NuSOAP+InfoPath] document/literal problem: msg#00107php.nusoap.general
Hi Scott, I modified the WSDL file as you said and it works a lot better. InfoPath now recognizes the Web Service and I can bind elements of my InfoPath form to parameters of the Web Service methods. However, upon transmission of the form to the Web Service, I get the following error : "method 'article' not defined in service <detail><soapVal xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:type="xsd:string"></soapVal></detail>" I guess this time it's an error in NuSOAP rather than Infopath. Is it a known bug ? Should I use another SOAP API than NuSOAP ? Thanks for your help, Guillaume > -----Message d'origine----- > De : nusoap-general-admin@xxxxxxxxxxxxxxxxxxxxx > [mailto:nusoap-general-admin@xxxxxxxxxxxxxxxxxxxxx] De la > part de Scott Nichol > Envoyé : mercredi 27 avril 2005 17:45 > À : nusoap-general@xxxxxxxxxxxxxxxxxxxxx > Objet : Re: [Nusoap-general] [NuSOAP+InfoPath] > document/literal problem > > The .NET wsdl tool located your problem: > > <message name="publierRequest"> > <part name="parameters" type="tns:publier" /> </message> > <message name="publierResponse"> > <part name="parameters" type="tns:publierResponse" /> </message> > > The types tns:publier and tns:publierResponse do not exist. > The actual problem is, however, that the <part> elements for > doc/lit methods should specify element instead of type, and > there are elements with those names defined. You need > > <message name="publierRequest"> > <part name="parameters" element="tns:publier" /> > </message> <message name="publierResponse"> > <part name="parameters" element="tns:publierResponse" /> > </message> > > >>>> > Every web page on the subject claims that "NuSOAP can handle > both rpc/encoded and document/literal services" but so far I > haven't found a single tutorial that explains clearly how to > deal with the latter. > <<<< > > There are a lot of aspects of NuSOAP for which there are no > tutorials and no documentation. The NuSOAP community seems > very much a group of individuals who want to get work done > with their applications. Unlike something like Apache Axis > (an open source SOAP implementation in Java), NuSOAP does not > have significant commercial backing, which is how they are > able to generate more documentation and tutorials (and code > and features). > > >>>> > Also, why the hell does Microsoft have to encourage the use > of document/literal while the rest of the world is all about > rpc/encoded ? > <<<< > > Actually, Microsoft got the world of SOAP implementers to > back off of rpc/encoded in favor of doc/lit and rpc/lit. The > WS-I Basic Profile specifies the use of these two and > deprecates rpc/encoded. Unfortunately, the original NuSOAP > code was created for rpc/encoded, so it still has more > complete support for that than doc/lit. > > Scott Nichol > > Do not send e-mail directly to this e-mail address, because > it is filtered to accept only mail from specific mail lists. > ----- Original Message ----- > From: "LEBUR Guillaume" <guillaume.lebur@xxxxxxxxxx> > To: <nusoap-general@xxxxxxxxxxxxxxxxxxxxx> > Sent: Tuesday, April 26, 2005 9:12 AM > Subject: [Nusoap-general] [NuSOAP+InfoPath] document/literal problem > > > Hi, > > I have a SOAP service page that looks like this (webservice.php) : > > <?php > function publier($article) { > ... > <store the article in a database> > ... > $result = mysql_query($query); > return $result; > } > require('nusoap/lib/nusoap.php'); > $server = new soap_server("desc.wsdl"); > $server->configureWSDL('cmsserver', 'urn:cms'); > $HTTP_RAW_POST_DATA = isset($HTTP_RAW_POST_DATA) > ? $HTTP_RAW_POST_DATA : ''; > $server->service($HTTP_RAW_POST_DATA); > ?> > > the desc.wsdl file : > > <?xml version="1.0" encoding="ISO-8859-1"?> > <definitions > xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/" > xmlns:xsd="http://www.w3.org/2001/XMLSchema" > xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" > xmlns:SOAP-ENC="http://schemas.xmlsoap.org/soap/encoding/" > xmlns:si="http://soapinterop.org/xsd" xmlns:tns="urn:cms" > xmlns:soap="http://schemas.xmlsoap.org/wsdl/soap/" > xmlns:wsdl="http://schemas.xmlsoap.org/wsdl/" > xmlns="http://schemas.xmlsoap.org/wsdl/" targetNamespace="urn:cms"> > <types><xsd:schema targetNamespace="urn:cms"> > <xsd:import namespace="http://schemas.xmlsoap.org/soap/encoding/" /> > <xsd:import namespace="http://schemas.xmlsoap.org/wsdl/" /> > <xsd:complexType name="article"> > <xsd:all> > <xsd:element name="titre" type="xsd:string"/> > <xsd:element name="texte" type="xsd:string"/> > </xsd:all> > </xsd:complexType> > <xsd:complexType name="publierRequestType"> > <xsd:all> > <xsd:element name="article" type="tns:article"/> > </xsd:all> > </xsd:complexType> > <xsd:complexType name="publierResponseType"> > <xsd:all> > <xsd:element name="return" type="xsd:boolean"/> > </xsd:all> > </xsd:complexType> > <xsd:element name="publier" type="tns:publierRequestType"/> > <xsd:element name="publierResponse" type="tns:publierResponseType"/> > </xsd:schema> > </types><message name="publierRequest"><part name="parameters" > type="tns:publier" /></message><message name="publierResponse"> > <part name="parameters" type="tns:publierResponse" /></message> > <portType name="cmsserverPortType"><operation name="publier"><input > message="tns:publierRequest"/><output > message="tns:publierResponse"/></operation></portType> > <binding name="cmsserverBinding" type="tns:cmsserverPortType"> > <soap:binding style="document" > transport="http://schemas.xmlsoap.org/soap/http"/><operation > name="publier"> > <soap:operation soapAction="urn:cms#publier" style="document"/> > <input><soap:body use="literal" namespace="urn:cms"/></input> > <output><soap:body use="literal" namespace="urn:cms"/></output> > </operation></binding> > <service name="cmsserver"><port name="cmsserverPort" > binding="tns:cmsserverBinding"> > <soap:address > location="http://localhost_2/mini_cms/webservice.php"/></port> > </service> > </definitions> > > I'm trying to send data from an Infopath form to that web > service, but I > get an error message saying that Infopath couldn't understand the wsdl > definition file. > It fails both with desc.wsdl and webservice.php as the web service > location in the Infopath dialog box. > > Is there something wrong in my wsdl file ? Did I miss something > important ? > > > Every web page on the subject claims that "NuSOAP can handle both > rpc/encoded and document/literal services" but so far I > haven't found a > single tutorial that explains clearly how to deal with the latter. > Also, why the hell does Microsoft have to encourage the use of > document/literal while the rest of the world is all about > rpc/encoded ? > I thought Web services were the ultimate level of > abstraction, that they > were supposed to be as universal as possible. Actually it > seems that all > these messy W3C recommendations are there to confuse people > rather than > to provide a uniform way of doing things... > > As you see I'm sort of losing my nerve with all that SOAP/Web > Services/Infopath stuff, so any help woud be greatly welcome :) > > > > Guillaume > > > > > > > ------------------------------------------------------- > SF.Net email is sponsored by: Tell us your software development plans! > Take this survey and enter to win a one-year sub to SourceForge.net > Plus IDC's 2005 look-ahead and a copy of this survey > Click here to start! http://www.idcswdc.com/cgi-bin/survey?id5hix > _______________________________________________ > Nusoap-general mailing list > Nusoap-general@xxxxxxxxxxxxxxxxxxxxx > https://lists.sourceforge.net/lists/listinfo/nusoap-general > ------------------------------------------------------- SF.Net email is sponsored by: Tell us your software development plans! Take this survey and enter to win a one-year sub to SourceForge.net Plus IDC's 2005 look-ahead and a copy of this survey Click here to start! http://www.idcswdc.com/cgi-bin/survey?id5hix |
|
| <Prev in Thread] | Current Thread | [Next in Thread> |
|---|---|---|
| Previous by Date: | Re: [NuSOAP+InfoPath] document/literal problem: 00107, Scott Nichol |
|---|---|
| Next by Date: | addComplexType problems with an associative array: 00107, Mario |
| Previous by Thread: | Re: [NuSOAP+InfoPath] document/literal problemi: 00107, Scott Nichol |
| Next by Thread: | Re: [NuSOAP+InfoPath] document/literal problem: 00107, Scott Nichol |
| Indexes: | [Date] [Thread] [Top] [All Lists] |
| News | FAQ | advertise |