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