You are viewing a plain text version of this content. The canonical link for it is here.
Posted to java-user@axis.apache.org by Clóvis Wichoski <cw...@gmail.com> on 2010/07/06 20:46:18 UTC
how to create WS to support unknown type with AXIS2+JiBX
Hi,
i have an old web application, and i write my own way to process WS, i work
at raw xml data, but with this i created a well that isnt knowed by all
developers, then i wish to migrate to some framework with more devs and
pattern.
one of my WS, is a WS called "execute" that receives the "transaction"
object, with this, the user can send many types of objects inside this
transaction, but with actual interfaces and maps i cant find any way to map
xs:anyType to correct objects, appears that all maps and interfaces
generators require specific types.
to better understand i will post here some kind of the raw soap message:
*1) login*
<soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/"
xmlns:ws="http://mysample.com/">
<soapenv:Header/>
<soapenv:Body>
<ws:execute>
<transaction>
<action>login</action>
<name>login</name>
<object>
<User login="UserName" password="nonononono">
<myCompany><Person name="COMPANY" /></myCompany>
</User>
</object>
</transaction>
</ws:execute>
</soapenv:Body>
</soapenv:Envelope>
*2) insert new Person*
<soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/"
xmlns:ws="http://mysample.com/">
<soapenv:Header/>
<soapenv:Body>
<ws:execute>
<transaction>
<action>insert</action>
<name>newClient</name>
<object>
<Person oid="1" name="Client 1">
<myAddress>
<Address oid="2" address="Street 1">
<myCity>
<City oid="3" />
</myCity>
<Address>
</myAddress>
</Person>
</object>
</transaction>
</ws:execute>
</soapenv:Body>
</soapenv:Envelope>
note that the point i need to solve is the object element that on Java is an
atribute that can receive java.lang.Object, today receive a Vector or any of
my Business Objects.
about Business Objects for Example myAddress is a Vector of Address, and
myCity is a reference to City, about City when only oid comes from client
side, that means that i must load and set that City from Persistence layer.
today i generate code for Every Class and create a kind of ClassResolver
that marshal and unmarshall this kind of XML to Transaction object and with
corresponding Business Objects, and integrated with persistence layer. Any
idea how i can map this scenario using AXIS2 and JiBX?
thanks for any insight.
best regards
Clovis