Return-Path: Delivered-To: apmail-ws-axis-user-archive@www.apache.org Received: (qmail 41812 invoked from network); 31 Oct 2007 16:52:43 -0000 Received: from hermes.apache.org (HELO mail.apache.org) (140.211.11.2) by minotaur.apache.org with SMTP; 31 Oct 2007 16:52:43 -0000 Received: (qmail 51176 invoked by uid 500); 31 Oct 2007 16:51:45 -0000 Delivered-To: apmail-ws-axis-user-archive@ws.apache.org Received: (qmail 51153 invoked by uid 500); 31 Oct 2007 16:51:45 -0000 Mailing-List: contact axis-user-help@ws.apache.org; run by ezmlm Precedence: bulk Reply-To: axis-user@ws.apache.org list-help: list-unsubscribe: List-Post: List-Id: Delivered-To: mailing list axis-user@ws.apache.org Received: (qmail 51131 invoked by uid 99); 31 Oct 2007 16:51:45 -0000 Received: from athena.apache.org (HELO athena.apache.org) (140.211.11.136) by apache.org (qpsmtpd/0.29) with ESMTP; Wed, 31 Oct 2007 09:51:45 -0700 X-ASF-Spam-Status: No, hits=2.0 required=10.0 tests=HTML_MESSAGE,SPF_PASS X-Spam-Check-By: apache.org Received-SPF: pass (athena.apache.org: domain of ernestopin@gmail.com designates 66.249.82.234 as permitted sender) Received: from [66.249.82.234] (HELO wx-out-0506.google.com) (66.249.82.234) by apache.org (qpsmtpd/0.29) with ESMTP; Wed, 31 Oct 2007 16:51:49 +0000 Received: by wx-out-0506.google.com with SMTP id r21so183385wxc for ; Wed, 31 Oct 2007 09:51:27 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=beta; h=domainkey-signature:received:received:message-id:date:from:to:subject:in-reply-to:mime-version:content-type:references; bh=5C7BcUsxCUVnDIxqkuDU8pimvMkln642YFChQUKCxGo=; b=qDBJbMSI4darxwFNM2bfxNHjXHv8bi5PvCJIMWYbtQJwMWESbdaeal9DWMRq9tBWICPPi+Ju6RPaqY8uAmdfFXOWPoHgVsgZRKnY7im6W734AghRICbkvb2Ki2MH4tYx0r0P6w3Jj310FZ0ON2xT7aD8zeEJiLuYTxnl19PfpR4= DomainKey-Signature: a=rsa-sha1; c=nofws; d=gmail.com; s=beta; h=received:message-id:date:from:to:subject:in-reply-to:mime-version:content-type:references; b=Rnc8E1TL3LRLNw1lk8mq6+klXEPtqcsAUMcy5xXGmBNZiyn8YGdutx4S5IRR7xtJtVAFHDz9DpE5RCtjWRBVmEqCZo7deAxIqEHanHtvQrLSDrsZiav+LmrCRRwhdHXSmDE3fDpOlXH5kx5WxUvnAYHjROgiC88COEmwAuLH978= Received: by 10.70.17.1 with SMTP id 1mr14863920wxq.1193849486920; Wed, 31 Oct 2007 09:51:26 -0700 (PDT) Received: by 10.70.69.3 with HTTP; Wed, 31 Oct 2007 09:51:26 -0700 (PDT) Message-ID: <723540fc0710310951v1c8a2d54x69e3003916631163@mail.gmail.com> Date: Wed, 31 Oct 2007 14:51:26 -0200 From: "Ernesto Pin" To: axis-user@ws.apache.org, jgreif@alumni.princeton.edu Subject: Re: "Pure" dynamic client using DII In-Reply-To: <723540fc0710310830o4db7e1e4q112e1f6ea33da45e@mail.gmail.com> MIME-Version: 1.0 Content-Type: multipart/alternative; boundary="----=_Part_7162_14357837.1193849486916" References: <723540fc0710301317p24ee3ddanea8adaf5acb9ed71@mail.gmail.com> <152f93f50710301555t6cb3af22w1174b16c69337a7@mail.gmail.com> <723540fc0710310630u2d283346k166573269c8846eb@mail.gmail.com> <47289331.8000201@gmail.com> <723540fc0710310830o4db7e1e4q112e1f6ea33da45e@mail.gmail.com> X-Virus-Checked: Checked by ClamAV on apache.org ------=_Part_7162_14357837.1193849486916 Content-Type: text/plain; charset=ISO-8859-1 Content-Transfer-Encoding: quoted-printable Content-Disposition: inline Hi!... I could tie a deserializer via onStartChild and onEndChild methods and reading was successfull, but I can't return my value, it still returns = a Document. Does anyone know how to do this? 2007/10/31, Ernesto Pin : > > =A1wow!... it sounds very difficult for my project's context. The idea is= to > have (external) web services as information source, and let an administra= tor > add new web services to compose new sources, and we have not much time. > > I think it would be easier to read server's response (which is correct) b= y > myself, but I don't find how to. I've tried to register my own deserializ= er, > but it doesn't works. Methods are never called. > > First: is this possible? how? > Second: is something wrong with next? > > ---------------- > Deser registration (replacing what was on the first code I posted) > > > call.setReturnType(new QName( name.getNamespaceURI(), > "GeoIP")); > call.setReturnClass(GeoIP.class); > > call.registerTypeMapping(GeoIP.class, > new QName(name.getNamespaceURI(), "GeoIP"), > DocumentSerializerFactory.class, > CustomDeseralizerFactory.class, > true > ); > ---------------- > Deser factory > > package deser; > > import javax.xml.rpc.JAXRPCException; > import javax.xml.rpc.encoding.Deserializer; > > import org.apache.axis.encoding.ser.DocumentDeserializerFactory; > import org.jboss.logging.Logger ; > > public class CustomDeseralizerFactory extends DocumentDeserializerFactory= { > > /** > * > */ > private static final long serialVersionUID =3D 1L; > > > public CustomDeseralizerFactory() { > super(); > } > > > @Override > public Deserializer getDeserializerAs(String arg0) throws > JAXRPCException { > Logger.getLogger(this.getClass()).info(arg0); > return new CustomDeserializer(); > } > > } > ---------------- > Deser class: actually, is doing nothing, because I still can't make custo= m > factory's methods to be called > ---------------- > > > 2007/10/31, Jeff Greif : > > > > Getting the specifications is not hard, but using them is a significant > > project. > > > > 1. Find wsdl4j via web search and use it to analyze the WSDL. It will > > also collect the schema types you need for the message elements. (Ther= e > > > > is also some wsdl-cracking machinery in axis2 which may be better.) > > > > 2. You can use the XML Schema API > > > > > > http://www.w3.org/Submission/2004/SUBM-xmlschema-api-20040122/xml-schem= a-api.html#Interface-XSModel > > > > implemented in the Xerces-J package to traverse the XML Schema > > components of the types you need for the message. *In principle*, this > > is enough to construct a form for input of some type and for displaying > > an instance of a type. > > > > 3. If you do this yourself, it's a major project. Most likely there i= s > > a way to use XForms. > > > > Jeff > > > > > > -- > Saludos, > Ernesto Pin --=20 Saludos, Ernesto Pin ------=_Part_7162_14357837.1193849486916 Content-Type: text/html; charset=ISO-8859-1 Content-Transfer-Encoding: quoted-printable Content-Disposition: inline Hi!... I could tie a deserializer via onStartChild and onEndChild methods a= nd reading was successfull, but I can't return my value, it still retur= ns a Document. Does anyone know how to do this?

2007/10/31, Ernesto Pin <ernesto= pin@gmail.com>:
=A1wow!... it sounds very difficult for my project's context. The idea = is to have (external) web services as information source, and let an admini= strator add new web services to compose new sources, and we have not much t= ime.

I think it would be easier to read server's response (which is = correct) by myself, but I don't find how to. I've tried to register= my own deserializer, but it doesn't works. Methods are never called.= =20

First: is this possible? how?
Second: is something wrong with ne= xt?

----------------
Deser registration (replacing what was on th= e first code I posted)


    &nbs= p;       call.setReturnType (new QName( name.getNamespaceURI(), "GeoIP"));
    &= nbsp;       call.setReturnClass(GeoIP.class);
&= nbsp;          
  &nb= sp;         call.registerTypeMapping(GeoIP.cl= ass,
          = ;          new QName(name.getNamespaceUR= I (), "GeoIP"),=20
              &n= bsp;     DocumentSerializerFactory.class,
 &n= bsp;               &= nbsp;  CustomDeseralizerFactory.class,
     &nb= sp;              true
=                =     );
----------------
Deser factory

package deser;

import javax.xml.rpc.JAXRPCExcep= tion;
import javax.xml.rpc.encoding.Deserializer;
<= br>import org.apache.axis.encoding.ser.DocumentDeserializerFactory;
import org.jboss.logging.Logger ;

public class CustomDeseralizerFactory extends DocumentDeserializer= Factory{

    /**
     *
&n= bsp;    */
    private static final long s= erialVersionUID =3D 1L;
   
   
&n= bsp;   public CustomDeseralizerFactory() {
        super();
    }<= br>

    @Override
    public Deseri= alizer getDeserializerAs(String arg0) throws JAXRPCException {
 &nb= sp;      Logger.getLogger(this.getClass()).info(arg0);<= br>        return new CustomDeserializer();
    }   

}
----------------Deser class: actually, is doing nothing, because I still can't make cu= stom factory's methods to be called
----------------


2007/10/31, Jeff Greif <jeff.g= reif@gmail.com>:
Getting the specifications is not hard, but using them is a significant
= project.

1.  Find wsdl4j via web search and use it to anal= yze the WSDL.  It will
also collect the schema types you need = for the message elements.  (There
is also some wsdl-cracking machinery in axis2 which may be better.)
=
2.  You can use the XML Schema API

http://www.w3.org/Submission/2004/SUBM-xmlschema-api-20040122/xml-schema-ap= i.html#Interface-XSModel

implemented in the Xerces-J package to = traverse the XML Schema
components of the types you need for the message= .  *In principle*, this
is enough to construct a form for input of some type and for displaying=
an instance of a type.

3.  If you do this yourself, it= 's a major project.  Most likely there is
a way to use XFo= rms.

Jeff



--
Saludos,
=          &n= bsp;  Ernesto Pin


--
Saludos,
&nbs= p;           Ernesto= Pin ------=_Part_7162_14357837.1193849486916--