PDA

View Full Version : My webservice connector doesnbt work


Julien B6 (Unregistered Guest)
07-22-2004, 12:33
when the trace come on the soapRPC flow, the system answer:
com.wm.app.b2b.server.ServiceException: com.wm.soap.coder.SoapCoderRuntimeException: [B2BCORE.0076.9201] SOAP Message Coder cannot decode message; no encoding style is specified

I found no encoding input anywhere in the webservice connector implementation...

somebody knows how to fix that?

thx

Julien B6 (Unregistered Guest)
07-23-2004, 02:34
I think the problem comes from a bad type of records mapped with the Web Service's inputs...
the wsdl says:

<complexType name="ArrayOfstring">
<complexContent>
<restriction base="soap:Array">
<attribute ref="soap:arrayType" wsdl:arrayType="string[]" />
</restriction>
</complexContent>
</complexType>

[...]

<xsd:simpleType name="typeDeConsultation">
<xsd:restriction base="xsd:string">
<xsd:enumeration value="periode" />
<xsd:enumeration value="profondeur" />
<xsd:enumeration value="uneSeuleDate" />
</xsd:restriction>
</xsd:simpleType>

[...]

<message name="consultationDesSeriesRequest">
<part name="nomUtilisateur" type="xsd:string" />
<part name="motDePasse" type="xsd:string" />
<part name="sources" type="tns:ArrayOfstring" />
<part name="diffuseurs" type="tns:ArrayOfstring" />
<part name="identifiantsSerie" type="tns:ArrayOfstring" />
<part name="typeDeConsultation" type="webservices:typeDeConsultation" />
<part name="dateDebut" type="xsd:string" />
<part name="dateFin" type="xsd:string" />
<part name="typeDeProfondeur" type="webservices:typeDeProfondeur" />
<part name="profondeur" type="xsd:int" />
<part name="datePrecise" type="xsd:string" />
</message>

and my question is: what kind of record do I have to use for the tns:ArrayOfstring and the webservices:typeDeConsultation ??

thanks for help,

Julien

Julien B6 (Unregistered Guest)
07-23-2004, 09:44
I found where the problem was, but I don't know how to fix it...
the item <part name="profondeur" type="xsd:int" /> is generated by Soap encoder like this: <profondeur xsi:type="xsd:string">0</profondeur>

if I change manually the xsd:string in xsd:int, it works perfectly...

I changed the constraint on the field profondeur with an int content type... but the soap transcoder still generate xsd:string...

does someone know the solution?

thanks for help,

Julien