Infopath->Web service error

G

glebur

Hi,

Here's the WSDL of my Web Service (originally an RPC/encoded but I tried to
turn it into a document/literal to suit Infopath's needs) :

<?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: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:eek:peration soapAction="http://localhost_2/mini_cms/webservice.php"/>
<input><soap:body use="literal" namespace="urn:cms"/></input>
<output><soap:body use="literal" namespace="urn:cms"/></output>
</operation>
</binding>

<service name="cmsserver">
<documentation>Docu</documentation>
<port name="cmsserverPort" binding="tns:cmsserverBinding">
<soap:address location="http://localhost_2/mini_cms/webservice.php"/></port>
</service>

</definitions>

I'm getting an error when defining this Web Service as an output connexion
for my InfoPath form :

SoapMapper:La définition de schéma pour l'objet SoapMapper publier n'a pas
été comprise. HRESULT=0x80004005: Erreur non spécifiée
- SoapMapper:Impossible de créer l'objet SoapMapper pour l'élément publier.
HRESULT=0x80004005: Erreur non spécifiée
- WSDLOperation:Échec de l'initialisation d'un SoapMapper pour l'opération
publier. HRESULT=0x80004005: Erreur non spécifiée
- WSDLOperation:Échec de l'initialisation du message d'entrée pour
l'opération publier. HRESULT=0x80004005: Erreur non spécifiée
- WSDLPort:Impossible d'initialiser une opération sur le port
cmsserverPort. HRESULT=0x80004005: Erreur non spécifiée
- WSDLPort:Échec de l'analyse des informations de liaison pour le port
cmsserverPort. HRESULT=0x80004005: Erreur non spécifiée
- WSDLService:Échec de l'initialisation du port pour le service cmsserver.
HRESULT=0x80004005: Erreur non spécifiée
- WSDLReader:Échec de l'analyse du fichier WSDL. HRESULT=0x80004005: Erreur
non spécifiée

Could someone tell me what's wrong with that WSDL ? Basically, what's the
difference between RPC/encoded and Document/literal apart from the
<soap:binding> and <soap:body> elements ?

Thanks in advance.
 
G

glebur

Thanks a lot !

I have changed 'type="tns:publier"' to 'element="tns:publier"' , and this
almost solved my problem.
Now Infopath passes the wsdl parsing step but when I select the operation
"publier" it says that the method doesn't accept valid XML data...
 

Ask a Question

Want to reply to this thread or ask your own question?

You'll need to choose a username for the site, which only take a couple of moments. After that, you can post your question and our members will help you out.

Ask a Question

Top