St�phane COLELLA wrote:

Thanks for your reply here is my code :
i have used the example to write(to copy the code :-)) the code but i don't know if that what i have wrote is correct or not. I get no problem if we use String instead of the a recordSet, but it where better to use recordset.


hi,

QueryBean is of course correct Java Bean (i will assume thi :)) ?

looking on the exception ("{http://rpc.xml.coldfusion}QueryBean";) i would say that you should not map the bean to "http://postgres"; but to "http://rpc.xml.coldfusion";, did you try to do:

        service.mapType(
                new QName("http://rpc.xml.coldfusion";, "QueryBean"),
                Class.forName(
                "coldfusion.xml.rpc.QueryBean")
        );

HTH,

alek

here is my code :

WSIFServiceFactory factory = WSIFServiceFactory.newInstance();
WSIFService service;
try {
        service = factory.getService(
                "http://192.168.1.32/postgres/flashPaper.cfc?wsdl";,
                null,
                null,
                "http://postgres";,
                "flashPaper"
        );
        service.mapType(
                new QName("http://postgres";, "QueryBean"),
                Class.forName(
                "coldfusion.xml.rpc.QueryBean")
        );
        WSIFMessage input = operation.createInputMessage();
        WSIFMessage output = operation.createOutputMessage();
        WSIFMessage fault = operation.createFaultMessage();
        input.setDoublePart("id",7);
        input.setDoublePart("tt",0);
        input.setDoublePart("lg",1);
        operation.executeRequestResponseOperation(input, output, fault)
}catch...


-----Message d'origine----- De : Aleksander Slominski [mailto:[EMAIL PROTECTED] Envoy� : mercredi 24 mars 2004 16:01 � : [EMAIL PROTECTED] Objet : Re: could not find deserializer


hi,


it is always helpful to send all infrormation needed to reproduce the problem :) it seems that here critical to answer is knwoing what is in your Metadata.main()?

so i am guessing but did you declare a mapping for {http://rpc.xml.coldfusion}QueryBean in Metadata?

if you need to do it check out:
http://cvs.apache.org/viewcvs.cgi/ws-wsif/java/samples/complexsoap/client/dynamic/Run.java?rev=1.4&view=auto
and description:
http://cvs.apache.org/viewcvs/~checkout~/ws-wsif/java/samples/complexsoap/client/dynamic/README.htmlhttp://cvs.apache.org/viewcvs/~checkout~/ws-wsif/java/samples/complexsoap/README.html
http://cvs.apache.org/viewcvs/~checkout~/ws-wsif/java/samples/complexsoap/README.html

HTH,

alek



St�phane COLELLA wrote:



Hi, i would like use the wsif api to buil client to access a coldfusion web services, but i get always this error :
Exception:
org.xml.sax.SAXException: Deserializing parameter 'getInfosReturn': could not find deserializer for type {http://rpc.xml.coldfusion}QueryBean
at org.apache.axis.message.RPCHandler.onStartChild(RPCHandler.java:302)
at org.apache.axis.encoding.DeserializationContextImpl.startElement(DeserializationContextImpl.java:963)
at org.apache.axis.message.SAX2EventRecorder.replay(SAX2EventRecorder.java:198)
at org.apache.axis.message.MessageElement.publishToHandler(MessageElement.java:722)
at org.apache.axis.message.RPCElement.deserialize(RPCElement.java:233)
at org.apache.axis.message.RPCElement.getParams(RPCElement.java:347)
at org.apache.axis.client.Call.invoke(Call.java:2272)
at org.apache.axis.client.Call.invoke(Call.java:2171)
at org.apache.wsif.providers.soap.apacheaxis.WSIFOperation_ApacheAxis.invokeAXISRPCStyle(Unknown Source)
at org.apache.wsif.providers.soap.apacheaxis.WSIFOperation_ApacheAxis.invokeRequestResponseOperation(Unknown Source)
at org.apache.wsif.providers.soap.apacheaxis.WSIFOperation_ApacheAxis.executeRequestResponseOperation(Unknown Source)
at Metadata.main(Metadata.java:107)


here is the wsdl file :
<?xml version="1.0" encoding="UTF-8" ?> - <wsdl:definitions targetNamespace="http://postgres"; xmlns:impl="http://postgres"; xmlns:intf="http://postgres"; xmlns:apachesoap="http://xml.apache.org/xml-soap"; xmlns:wsdlsoap="http://schemas.xmlsoap.org/wsdl/soap/"; xmlns:soapenc="http://schemas.xmlsoap.org/soap/encoding/"; xmlns:xsd="http://www.w3.org/2001/XMLSchema"; xmlns:tns1="http://rpc.xml.coldfusion"; xmlns:wsdl="http://schemas.xmlsoap.org/wsdl/"; xmlns="http://schemas.xmlsoap.org/wsdl/";> <wsdl:types> <schema xmlns="http://www.w3.org/2001/XMLSchema"; targetNamespace="http://postgres";> <import namespace="http://schemas.xmlsoap.org/soap/encoding/"; /> <complexType name="ArrayOf_xsd_string"> <complexContent> <restriction base="soapenc:Array"> <attribute ref="soapenc:arrayType" wsdl:arrayType="xsd:string[]" /> </restriction> </complexContent> </complexType> <complexType name="ArrayOfArrayOf_xsd_anyType"> <complexContent> <restriction base="soapenc:Array"> <attribute ref="soapenc:arrayType" wsdl:arrayType="xsd:anyType[][]" /> </restriction> </complexContent> </complexType> </schema> <schema xmlns="http://www.w3.org/2001/XMLSchema"; targetNamespace="http://rpc.xml.coldfusion";> <import namespace="http://schemas.xmlsoap.org/soap/encoding/"; /> <complexType name="QueryBean"> <sequence> <element name="columnList" nillable="true" type="impl:ArrayOf_xsd_string" /> <element name="data" nillable="true" type="impl:ArrayOfArrayOf_xsd_anyType" /> </sequence> </complexType> <complexType name="CFCInvocationException"> <sequence /> </complexType> </schema> </wsdl:types> <wsdl:message name="CFCInvocationException"> <wsdl:part name="fault" type="tns1:CFCInvocationException" /> </wsdl:message> <wsdl:message name="getInfosRequest"> <wsdl:part name="id" type="xsd:double" /> <wsdl:part name="tt" type="xsd:double" /> <wsdl:part name="lg" type="xsd:double" /> </wsdl:message> <wsdl:message name="getInfosResponse"> <wsdl:part name="getInfosReturn" type="tns1:QueryBean" /> </wsdl:message> <wsdl:portType name="flashPaper"> <wsdl:operation name="getInfos" parameterOrder="id tt lg"> <wsdl:input name="getInfosRequest" message="impl:getInfosRequest" /> <wsdl:output name="getInfosResponse" message="impl:getInfosResponse" /> <wsdl:fault name="CFCInvocationException" message="impl:CFCInvocationException" /> </wsdl:operation> </wsdl:portType> <wsdl:binding name="flashPaper.cfcSoapBinding" type="impl:flashPaper"> <wsdlsoap:binding style="rpc" transport="http://schemas.xmlsoap.org/soap/http"; /> <wsdl:operation name="getInfos"> <wsdlsoap:operation soapAction="" /> <wsdl:input name="getInfosRequest"> <wsdlsoap:body use="encoded" encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"; namespace="http://postgres"; /> </wsdl:input> <wsdl:output name="getInfosResponse"> <wsdlsoap:body use="encoded" encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"; namespace="http://postgres"; /> </wsdl:output> <wsdl:fault name="CFCInvocationException"> <wsdlsoap:fault use="encoded" encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"; namespace="http://postgres"; /> </wsdl:fault> </wsdl:operation> </wsdl:binding> <wsdl:service name="flashPaperService">
<wsdl:port name="flashPaper.cfc" binding="impl:flashPaper.cfcSoapBinding"> <wsdlsoap:address location="http://192.168.1.32/postgres/flashPaper.cfc"; /> </wsdl:port> </wsdl:service> </wsdl:definitions>



please help, i am new in using this api and web services.


thanks Stefan colella











--
The best way to predict the future is to invent it - Alan Kay



Reply via email to