Re: [Axis2] Abstract types and ADB
Amila Suriarachchi wrote on 11.12.2009 07:34: use -g option to generate inherited classes. to other problem it seems to be a bug with Axis2. so either 1. try without -uw option 2. try with a build from the current trunk. Thanks, that did the trick. I think the help text for the -g switch is a bit misleading: "Generates all the classes. Valid only with -ss." I thought it is only required when creating server side classes. For the problem with the syntax errors the "-uw" switch was to blame. Without unwrapping it works. Is that a bug? I will try axis2 from trunk later, as unwrapping is quite comfortable :-) Thanks and best regards, Jens thanks, Amila. On Thu, Dec 10, 2009 at 8:21 PM, Jens Rutschmann wrote: Hi all, currently I'm trying to generate a client stub for this WSDL: https://hosted.datascopeapi.reuters.com/datascopeapi/v1/extractionservice.asmx?wsdl The SOAP 1.2 Binding in this WSDL seems to contain a few errors, so I removed it and the respective port before calling wsdl2java. The WSDL still contains a valid SOAP 1.1 binding as well as a port using it. I'm using axis2 1.5.1 and use the following command line: jens:~/tmpfs> /home/jens/tools/axis2-1.5.1/bin/wsdl2java.sh -uw -u -uri extractionservice.wsdl Using AXIS2_HOME: /home/jens/tools/axis2-1.5.1 Using JAVA_HOME: /home/jens/.gentoo/java-config-2/current-user-vm Retrieving document at 'extractionservice.wsdl'. [WARN] Type { http://reuters.com/datascopeselect/ExtractionService/v1/}anyType<http://reuters.com/datascopeselect/ExtractionService/v1/%7DanyType>missing! jens:~/tmpfs> After that there are only classes for the abstract types, but not for the complex types inheriting from the abstract types. Example (from the WSDL, lines 680-695): wsdl2java only generated a class for InstrumentSearchRequest but not for InstrumentSearchRequestAll. Furthermore the generated stub interface contains errors: (ExtractionService.java, lines 29-32) public com.reuters.datascopeselect.extractionservice.v1.ArrayOfValueInfo getInstrumentTypes( ,com.reuters.datascopeselect.extractionservice.v1.CredentialsHeaderE credentialsHeader44) throws java.rmi.RemoteException Obviously that won't compile. Is there anything i can do to create a functional client stub for that service using axis2 ? Thanks a lot in advance, Jens
Re: [Axis2] Abstract types and ADB
use -g option to generate inherited classes. to other problem it seems to be a bug with Axis2. so either 1. try without -uw option 2. try with a build from the current trunk. thanks, Amila. On Thu, Dec 10, 2009 at 8:21 PM, Jens Rutschmann wrote: > Hi all, > > currently I'm trying to generate a client stub for this WSDL: > > https://hosted.datascopeapi.reuters.com/datascopeapi/v1/extractionservice.asmx?wsdl > > The SOAP 1.2 Binding in this WSDL seems to contain a few errors, so I > removed it and the respective port before calling wsdl2java. The WSDL still > contains a valid SOAP 1.1 binding as well as a port using it. > > I'm using axis2 1.5.1 and use the following command line: > > jens:~/tmpfs> /home/jens/tools/axis2-1.5.1/bin/wsdl2java.sh -uw -u -uri > extractionservice.wsdl > Using AXIS2_HOME: /home/jens/tools/axis2-1.5.1 > Using JAVA_HOME: /home/jens/.gentoo/java-config-2/current-user-vm > Retrieving document at 'extractionservice.wsdl'. > [WARN] Type { > http://reuters.com/datascopeselect/ExtractionService/v1/}anyType<http://reuters.com/datascopeselect/ExtractionService/v1/%7DanyType>missing! > jens:~/tmpfs> > > > After that there are only classes for the abstract types, but not for the > complex types inheriting from the abstract types. > > Example (from the WSDL, lines 680-695): > > > name="PreferredIdentifierType" type="s:string" /> > > > > > > > name="IdentifierSearchValue" type="s:string" /> > type="s:string" /> > type="tns:ArrayOfString" /> > > > > > > wsdl2java only generated a class for InstrumentSearchRequest but not for > InstrumentSearchRequestAll. > > Furthermore the generated stub interface contains errors: > (ExtractionService.java, lines 29-32) > > public > com.reuters.datascopeselect.extractionservice.v1.ArrayOfValueInfo > getInstrumentTypes( > > > ,com.reuters.datascopeselect.extractionservice.v1.CredentialsHeaderE > credentialsHeader44) >throws java.rmi.RemoteException > > Obviously that won't compile. > > > Is there anything i can do to create a functional client stub for that > service using axis2 ? > > Thanks a lot in advance, > Jens > > -- Amila Suriarachchi WSO2 Inc. blog: http://amilachinthaka.blogspot.com/
[Axis2] Abstract types and ADB
Hi all, currently I'm trying to generate a client stub for this WSDL: https://hosted.datascopeapi.reuters.com/datascopeapi/v1/extractionservice.asmx?wsdl The SOAP 1.2 Binding in this WSDL seems to contain a few errors, so I removed it and the respective port before calling wsdl2java. The WSDL still contains a valid SOAP 1.1 binding as well as a port using it. I'm using axis2 1.5.1 and use the following command line: jens:~/tmpfs> /home/jens/tools/axis2-1.5.1/bin/wsdl2java.sh -uw -u -uri extractionservice.wsdl Using AXIS2_HOME: /home/jens/tools/axis2-1.5.1 Using JAVA_HOME: /home/jens/.gentoo/java-config-2/current-user-vm Retrieving document at 'extractionservice.wsdl'. [WARN] Type {http://reuters.com/datascopeselect/ExtractionService/v1/}anyType missing! jens:~/tmpfs> After that there are only classes for the abstract types, but not for the complex types inheriting from the abstract types. Example (from the WSDL, lines 680-695): type="s:string" /> name="IdentifierSearchValue" type="s:string" /> type="s:string" /> type="tns:ArrayOfString" /> wsdl2java only generated a class for InstrumentSearchRequest but not for InstrumentSearchRequestAll. Furthermore the generated stub interface contains errors: (ExtractionService.java, lines 29-32) public com.reuters.datascopeselect.extractionservice.v1.ArrayOfValueInfo getInstrumentTypes( ,com.reuters.datascopeselect.extractionservice.v1.CredentialsHeaderE credentialsHeader44) throws java.rmi.RemoteException Obviously that won't compile. Is there anything i can do to create a functional client stub for that service using axis2 ? Thanks a lot in advance, Jens
Re: Deserializing substitutionGroup and abstract types
I've had some luck using XMLBeans to produce classes corresponding to a schema. It is claimed that this handles all features of XML Schema. There is supposed to be a way (but I haven't read up on it or used it) to integrate those classes into the Axis serialization/deserialization mechanism. Most likely, you would download the XMLBeans libraries from their normal location (xmlbeans.apache.org), and Axis would provide some additional glue classes, apparently in the package org.apache.axis.encoding.ser.xbeans. There's some indication in a quick Google search, that after generating the classes and the auxiliary information from the schema, you have to generate Axis-style type-mappings to guide the Axis serialization mechanism. Some people have wound up having to do it by hand, but it seems likely there is a way to automate it, or that the Axis glue classes could use the information produced by the XMLBeans compiler. Probably if you collect all the qnames of types, global elements and attributes in your schema (perhaps using the XML Schema API as provided by Xerces) and specify the XmlBeanSerializerFactory and XmlBeanDeserializerFactory as their serializer/deserializers in the type mappings, you'll be close. Jeff On 1/30/07, Amy Krause <[EMAIL PROTECTED]> wrote: Hi, > Abstract types and substitution groups seem not to be well supported > in most web service machinery. Even if you find a supporting > platform, there may be interoperability problems if clients use other > platforms. That's interesting. I wasn't aware of that. > You might have an easier time getting something like this > to work: > > > > > > > > > > > > > > > ... > > This is a far more elegant way of writing the schema, I agree - it's what I originally used. Unfortunately, WSDL2Java (Axis 1.4) doesn't seem to support the maxOccurs attribute on a choice element. The beans don't reflect it, there's only one member in the Java bean for each of the subelements. It is a complicated problem. Since the sequence, parallel and pipeline elements can occur in any order and multiplicity the bean would have to provide a List containing those objects. But then those objects need to be cast to the correct types ... This is why I tried to use substitutionGroups. Is there any other way of solving the problem? I hope I was wrong and it's possible to generate beans for the ... solution. Amy > On 1/29/07, Amy Krause <[EMAIL PROTECTED]> wrote: >> Hi, >> >> I'm having a very similar problem as described here: >> http://marc.theaimsgroup.com/?l=axis-user&m=113819830006177&w=2 >> >> My schema is included below. >> I'm trying to implement a composite pattern. There are three types derived >> from an abstract type as follows: >> >> Workflow (abstract) >> / |\ >> Parallel Sequence Pipeline >> >> Both parallel and sequence elements must contain nested Workflow elements >> (one or more of parallel, sequence or pipeline), whereas pipeline elements >> cannot - they form the leaves of the workflow tree. >> An example of a document would be: >> >> >> >> >> ... >> ... >> >> ... >> >> >> >> In the schema I've defined an abstract Workflow element and elements >> parallel, sequence and pipeline. These are substitution elements for the >> Workflow element. >> When I generate Java beans with WSDL2Java there is no trace of the >> parallel and sequence elements. There is a Java class called Composite >> which extends WorkflowComponent but there is no way of telling whether >> this Composite object used to be a sequence or a parallel element. How can >> I force Axis to generate Java beans corresponding to those elements? >> >> Any help with this would be appreciated. >> >> Thanks, >> Amy >> >> >> >> >> >> >> >> >> >> >> >> >> >> >>> type="tns:WorkflowComponent"> >> >> >> >> >> >>> substitutionGroup="tns:workflow" >> type="tns:Composite"/> >>> substitutionGroup="tns:workflow" >> type="tns:Composite"/> >> >> >> >> >> >> >> >>
Re: Deserializing substitutionGroup and abstract types
Hi, Abstract types and substitution groups seem not to be well supported in most web service machinery. Even if you find a supporting platform, there may be interoperability problems if clients use other platforms. That's interesting. I wasn't aware of that. You might have an easier time getting something like this to work: ... This is a far more elegant way of writing the schema, I agree - it's what I originally used. Unfortunately, WSDL2Java (Axis 1.4) doesn't seem to support the maxOccurs attribute on a choice element. The beans don't reflect it, there's only one member in the Java bean for each of the subelements. It is a complicated problem. Since the sequence, parallel and pipeline elements can occur in any order and multiplicity the bean would have to provide a List containing those objects. But then those objects need to be cast to the correct types ... This is why I tried to use substitutionGroups. Is there any other way of solving the problem? I hope I was wrong and it's possible to generate beans for the ... solution. Amy On 1/29/07, Amy Krause <[EMAIL PROTECTED]> wrote: Hi, I'm having a very similar problem as described here: http://marc.theaimsgroup.com/?l=axis-user&m=113819830006177&w=2 My schema is included below. I'm trying to implement a composite pattern. There are three types derived from an abstract type as follows: Workflow (abstract) / |\ Parallel Sequence Pipeline Both parallel and sequence elements must contain nested Workflow elements (one or more of parallel, sequence or pipeline), whereas pipeline elements cannot - they form the leaves of the workflow tree. An example of a document would be: ... ... ... In the schema I've defined an abstract Workflow element and elements parallel, sequence and pipeline. These are substitution elements for the Workflow element. When I generate Java beans with WSDL2Java there is no trace of the parallel and sequence elements. There is a Java class called Composite which extends WorkflowComponent but there is no way of telling whether this Composite object used to be a sequence or a parallel element. How can I force Axis to generate Java beans corresponding to those elements? Any help with this would be appreciated. Thanks, Amy - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED] - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED] -- | Dr Amy Krause Applications Consultant | ||epcc|, The University of Edinburgh | | King's Buildings, Mayfield Road, Edinburgh EH9 3JZ, UK | | Tel: +44 (0)131 650 6718 --- email: [EMAIL PROTECTED] | - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
Re: [Axis2] Are abstract types possible with ADB and RPCMessageReceiver?
Hi Sathija ; You can use the generated message receivers. Once you have the wsdl and you have generated code using that then it generates required message receivers for you. So you do not need to use any other message receivers >Deepal, > >Both the server and client use ADB binding. > > > >>If you are using ADB in server side you do not need to use >>RPCMessageReceiver. >> >> > >What message receiver do I need to use then? > > > - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
Re: [Axis2] Are abstract types possible with ADB and RPCMessageReceiver?
Thanks! Paul On 1/29/07, Sathija Pavuluri <[EMAIL PROTECTED]> wrote: I have created a JIRA: AXIS2-2055 Also attached the entire source and the tcpmon response to the JIRA. Thanks. Sathija. > Sounds like a bug to me. Can you please raise a JIRA? > > Paul > > On 1/29/07, Sathija Pavuluri <[EMAIL PROTECTED]> wrote: >> > The client won't be able to "see" the hierarchy. In other words the >> > client will only see a Weather schema, it won't know that Weather >> > extends from ABC. But apart from that it should work fine. >> >> Does that mean that data from parent class will be lost? >> >> I actually tested this out with these objects. >> >> public class CustomerDTO { >> private String name; >> private String phone; >> private String address; >> // public getters/setters >> } >> >> public class PremierCustomerDTO extends CustomerDTO { >> private String clubName; >> private String vipNumber; >> // public getters/setters >> } >> >> My service class returns a PremierCustomerDTO with data populated on it for all five attributes. >> Whereas, after I retrieve the PremierCustomerDTO at the client side, only the 2 attrs (clubName, vipNumber) declared >> on it are returned. >> The other 3 from the parent are null. >> >> Is that the way its designed to work? Or should I be doing something different? >> >> Thanks! >> Sathija. >> >> > >> > Paul >> > >> > On 1/29/07, Sathija Pavuluri <[EMAIL PROTECTED]> wrote: >> >> >> >> Paul, >> >> >> >> No, I have not used that approach yet, but was looking at that option. My question regarding that, however is, >> does >> >> it >> >> support POJOs that are hierarchical because that's what I really need. >> >> In the Weather example in the POJO guide, if Weather extended from say ABC (could be abstract and also has its >> >> public >> >> getter/setters), would things be any different? >> >> And can the client and service still make use of this hierarchy without doing anything additional that whats >> >> described >> >> in that sample? >> >> >> >> Thanks, >> >> Sathija. >> >> >> >> >> >> > Sajith >> >> > >> >> > Are you following the POJO sample? >> >> > >> >> > Paul >> >> > >> >> > On 1/26/07, Sathija Pavuluri <[EMAIL PROTECTED]> wrote: >> >> >> > When you run WSDL2Java -ss -sd to create the server side skeleton and >> >> >> > ADB binding objects it generates a message receiver and services.xml >> >> >> > for you. You simply need to type ant to built it all into an AAR. >> >> >> >> >> >> Paul, >> >> >> I am using the code first approach and generating wsdl from the java classes. >> >> >> How does what you described stick into this method? >> >> >> >> >> >> Thanks. >> >> >> Sathija >> >> >> >> >> >> > >> >> >> > Paul >> >> >> > >> >> >> > On 1/26/07, Sathija Pavuluri <[EMAIL PROTECTED]> wrote: >> >> >> >> Deepal, >> >> >> >> >> >> >> >> Both the server and client use ADB binding. >> >> >> >> >> >> >> >> > If you are using ADB in server side you do not need to use >> >> >> >> > RPCMessageReceiver. >> >> >> >> >> >> >> >> What message receiver do I need to use then? >> >> >> >> >> >> >> >> Thanks, >> >> >> >> Sathija. >> >> >> >> >> >> >> >> >> >> >> >> >> >> >> >> > Hi Sathija ; >> >> >> >> > >> >> >> >> >>Hello, >> >> >> >> >> >> >> >> >> >>I am using Axis2 1.1.1 for my web services and use ADB for data binding with RPCMessageReceiver. >> >> >> >> >> >> >> >> >> >> >> >> >> >> > are you using ADB in client side or server side ? >> >> >> >> > If you are using ADB in server side you do not need to use >> >> >> >> > RPCMessageReceiver. >> >> >> >> > >> >> >> >> >>I have been unsuccessfully trying to return a datatype 'A1' to my client. 'A1' extends from an abstract >> >> object >> >> >> 'A' >> >> >> >> >>that also contains from attributes. >> >> >> >> >> >> >> >> >> >>However, when the client receives the response, all attributes from A1 are in the response but attributes >> >> from >> >> >> A >> >> >> >> are >> >> >> >> >>missing. >> >> >> >> >> >> >> >> >> >>So I am back to thinking if ADB supports this object hierarchy. I have seen some older posts with such >> >> >> scenarios >> >> >> >> but >> >> >> >> >>no useful suggestions. >> >> >> >> >> >> >> >> >> >>Thanks! >> >> >> >> >>Sathija. >> >> >> >> >> >> >> >> >> >> >> >> >> >> >>- >> >> >> >> >>To unsubscribe, e-mail: [EMAIL PROTECTED] >> >> >> >> >>For additional commands, e-mail: [EMAIL PROTECTED] >> >> >> >> >> >> >> >> >> >> >> >> >> >> >> >> >> >> >> >> >> >> >> >> >> >> >> >> >> > >> >> >> >> > -- >> >> >> >> > Thanks, >> >> >> >> > Deepal >> >> >> >> > >> >> >> >> > "The highest tower is built one brick at a time" >> >> >> >> > >> >> >> >> > >> >> >> >> > >> >> >> >> > - >> >> >> >> > To unsubscribe, e-mail: [EMAIL PROTECTED] >> >> >> >> > For additional commands, e-mail: [EMAIL PROTECTED] >> >
Re: Deserializing substitutionGroup and abstract types
Abstract types and substitution groups seem not to be well supported in most web service machinery. Even if you find a supporting platform, there may be interoperability problems if clients use other platforms. You might have an easier time getting something like this to work: ... Jeff On 1/29/07, Amy Krause <[EMAIL PROTECTED]> wrote: Hi, I'm having a very similar problem as described here: http://marc.theaimsgroup.com/?l=axis-user&m=113819830006177&w=2 My schema is included below. I'm trying to implement a composite pattern. There are three types derived from an abstract type as follows: Workflow (abstract) / |\ Parallel Sequence Pipeline Both parallel and sequence elements must contain nested Workflow elements (one or more of parallel, sequence or pipeline), whereas pipeline elements cannot - they form the leaves of the workflow tree. An example of a document would be: ... ... ... In the schema I've defined an abstract Workflow element and elements parallel, sequence and pipeline. These are substitution elements for the Workflow element. When I generate Java beans with WSDL2Java there is no trace of the parallel and sequence elements. There is a Java class called Composite which extends WorkflowComponent but there is no way of telling whether this Composite object used to be a sequence or a parallel element. How can I force Axis to generate Java beans corresponding to those elements? Any help with this would be appreciated. Thanks, Amy - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED] - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
Re: [Axis2] Are abstract types possible with ADB and RPCMessageReceiver?
I have created a JIRA: AXIS2-2055 Also attached the entire source and the tcpmon response to the JIRA. Thanks. Sathija. > Sounds like a bug to me. Can you please raise a JIRA? > > Paul > > On 1/29/07, Sathija Pavuluri <[EMAIL PROTECTED]> wrote: >> > The client won't be able to "see" the hierarchy. In other words the >> > client will only see a Weather schema, it won't know that Weather >> > extends from ABC. But apart from that it should work fine. >> >> Does that mean that data from parent class will be lost? >> >> I actually tested this out with these objects. >> >> public class CustomerDTO { >> private String name; >> private String phone; >> private String address; >> // public getters/setters >> } >> >> public class PremierCustomerDTO extends CustomerDTO { >> private String clubName; >> private String vipNumber; >> // public getters/setters >> } >> >> My service class returns a PremierCustomerDTO with data populated on it for >> all five attributes. >> Whereas, after I retrieve the PremierCustomerDTO at the client side, only >> the 2 attrs (clubName, vipNumber) declared >> on it are returned. >> The other 3 from the parent are null. >> >> Is that the way its designed to work? Or should I be doing something >> different? >> >> Thanks! >> Sathija. >> >> > >> > Paul >> > >> > On 1/29/07, Sathija Pavuluri <[EMAIL PROTECTED]> wrote: >> >> >> >> Paul, >> >> >> >> No, I have not used that approach yet, but was looking at that option. My >> >> question regarding that, however is, >> does >> >> it >> >> support POJOs that are hierarchical because that's what I really need. >> >> In the Weather example in the POJO guide, if Weather extended from say >> >> ABC (could be abstract and also has its >> >> public >> >> getter/setters), would things be any different? >> >> And can the client and service still make use of this hierarchy without >> >> doing anything additional that whats >> >> described >> >> in that sample? >> >> >> >> Thanks, >> >> Sathija. >> >> >> >> >> >> > Sajith >> >> > >> >> > Are you following the POJO sample? >> >> > >> >> > Paul >> >> > >> >> > On 1/26/07, Sathija Pavuluri <[EMAIL PROTECTED]> wrote: >> >> >> > When you run WSDL2Java -ss -sd to create the server side skeleton and >> >> >> > ADB binding objects it generates a message receiver and services.xml >> >> >> > for you. You simply need to type ant to built it all into an AAR. >> >> >> >> >> >> Paul, >> >> >> I am using the code first approach and generating wsdl from the java >> >> >> classes. >> >> >> How does what you described stick into this method? >> >> >> >> >> >> Thanks. >> >> >> Sathija >> >> >> >> >> >> > >> >> >> > Paul >> >> >> > >> >> >> > On 1/26/07, Sathija Pavuluri <[EMAIL PROTECTED]> wrote: >> >> >> >> Deepal, >> >> >> >> >> >> >> >> Both the server and client use ADB binding. >> >> >> >> >> >> >> >> > If you are using ADB in server side you do not need to use >> >> >> >> > RPCMessageReceiver. >> >> >> >> >> >> >> >> What message receiver do I need to use then? >> >> >> >> >> >> >> >> Thanks, >> >> >> >> Sathija. >> >> >> >> >> >> >> >> >> >> >> >> >> >> >> >> > Hi Sathija ; >> >> >> >> > >> >> >> >> >>Hello, >> >> >> >> >> >> >> >> >> >>I am using Axis2 1.1.1 for my web services and use ADB for data >> >> >> >> >>binding with RPCMessageReceiver. >> >> >> >> >> >> >> >> >> >> >> >> >> >> > are you using ADB in client side or server side ? >> >> >> >> > If you are using ADB in server side you do not need to use >> >> >> >> > RPCMessageReceiver. >> >> >> >> > >> >> >> >> >>I have been unsuccessfully trying to return a datatype 'A1' to my >> >> >> >> >>client. 'A1' extends from an abstract >> >> object >> >> >> 'A' >> >> >> >> >>that also contains from attributes. >> >> >> >> >> >> >> >> >> >>However, when the client receives the response, all attributes >> >> >> >> >>from A1 are in the response but attributes >> >> from >> >> >> A >> >> >> >> are >> >> >> >> >>missing. >> >> >> >> >> >> >> >> >> >>So I am back to thinking if ADB supports this object hierarchy. I >> >> >> >> >>have seen some older posts with such >> >> >> scenarios >> >> >> >> but >> >> >> >> >>no useful suggestions. >> >> >> >> >> >> >> >> >> >>Thanks! >> >> >> >> >>Sathija. >> >> >> >> >> >> >> >> >> >> >> >> >> >> >>- >> >> >> >> >>To unsubscribe, e-mail: [EMAIL PROTECTED] >> >> >> >> >>For additional commands, e-mail: [EMAIL PROTECTED] >> >> >> >> >> >> >> >> >> >> >> >> >> >> >> >> >> >> >> >> >> >> >> >> >> >> >> >> >> > >> >> >> >> > -- >> >> >> >> > Thanks, >> >> >> >> > Deepal >> >> >> >> > >> >> >> >> > "The highest tower is built one brick at a time" >> >> >> >> > >> >> >> >> > >> >> >> >> > >> >> >> >> > - >> >> >> >> > To unsubscribe, e-mail: [EMAIL PROTECTED] >> >> >> >> > For additional commands, e-mail: [EMAI
Re: [Axis2] Are abstract types possible with ADB and RPCMessageReceiver?
Sounds like a bug to me. Can you please raise a JIRA? Paul On 1/29/07, Sathija Pavuluri <[EMAIL PROTECTED]> wrote: > The client won't be able to "see" the hierarchy. In other words the > client will only see a Weather schema, it won't know that Weather > extends from ABC. But apart from that it should work fine. Does that mean that data from parent class will be lost? I actually tested this out with these objects. public class CustomerDTO { private String name; private String phone; private String address; // public getters/setters } public class PremierCustomerDTO extends CustomerDTO { private String clubName; private String vipNumber; // public getters/setters } My service class returns a PremierCustomerDTO with data populated on it for all five attributes. Whereas, after I retrieve the PremierCustomerDTO at the client side, only the 2 attrs (clubName, vipNumber) declared on it are returned. The other 3 from the parent are null. Is that the way its designed to work? Or should I be doing something different? Thanks! Sathija. > > Paul > > On 1/29/07, Sathija Pavuluri <[EMAIL PROTECTED]> wrote: >> >> Paul, >> >> No, I have not used that approach yet, but was looking at that option. My question regarding that, however is, does >> it >> support POJOs that are hierarchical because that's what I really need. >> In the Weather example in the POJO guide, if Weather extended from say ABC (could be abstract and also has its >> public >> getter/setters), would things be any different? >> And can the client and service still make use of this hierarchy without doing anything additional that whats >> described >> in that sample? >> >> Thanks, >> Sathija. >> >> >> > Sajith >> > >> > Are you following the POJO sample? >> > >> > Paul >> > >> > On 1/26/07, Sathija Pavuluri <[EMAIL PROTECTED]> wrote: >> >> > When you run WSDL2Java -ss -sd to create the server side skeleton and >> >> > ADB binding objects it generates a message receiver and services.xml >> >> > for you. You simply need to type ant to built it all into an AAR. >> >> >> >> Paul, >> >> I am using the code first approach and generating wsdl from the java classes. >> >> How does what you described stick into this method? >> >> >> >> Thanks. >> >> Sathija >> >> >> >> > >> >> > Paul >> >> > >> >> > On 1/26/07, Sathija Pavuluri <[EMAIL PROTECTED]> wrote: >> >> >> Deepal, >> >> >> >> >> >> Both the server and client use ADB binding. >> >> >> >> >> >> > If you are using ADB in server side you do not need to use >> >> >> > RPCMessageReceiver. >> >> >> >> >> >> What message receiver do I need to use then? >> >> >> >> >> >> Thanks, >> >> >> Sathija. >> >> >> >> >> >> >> >> >> >> >> >> > Hi Sathija ; >> >> >> > >> >> >> >>Hello, >> >> >> >> >> >> >> >>I am using Axis2 1.1.1 for my web services and use ADB for data binding with RPCMessageReceiver. >> >> >> >> >> >> >> >> >> >> >> > are you using ADB in client side or server side ? >> >> >> > If you are using ADB in server side you do not need to use >> >> >> > RPCMessageReceiver. >> >> >> > >> >> >> >>I have been unsuccessfully trying to return a datatype 'A1' to my client. 'A1' extends from an abstract >> object >> >> 'A' >> >> >> >>that also contains from attributes. >> >> >> >> >> >> >> >>However, when the client receives the response, all attributes from A1 are in the response but attributes >> from >> >> A >> >> >> are >> >> >> >>missing. >> >> >> >> >> >> >> >>So I am back to thinking if ADB supports this object hierarchy. I have seen some older posts with such >> >> scenarios >> >> >> but >> >> >> >>no useful suggestions. >> >> >> >> >> >> >> >>Thanks! >> >> >> >>Sathija. >> >> >> >> >> >> >> >> >> >> >> >>- >> >> >> >>To unsubscribe, e-mail: [EMAIL PROTECTED] >> >> >> >>For additional commands, e-mail: [EMAIL PROTECTED] >> >> >> >> >> >> >> >> >> >> >> >> >> >> >> >> >> >> >> >> >> >> >> > >> >> >> > -- >> >> >> > Thanks, >> >> >> > Deepal >> >> >> > >> >> >> > "The highest tower is built one brick at a time" >> >> >> > >> >> >> > >> >> >> > >> >> >> > - >> >> >> > To unsubscribe, e-mail: [EMAIL PROTECTED] >> >> >> > For additional commands, e-mail: [EMAIL PROTECTED] >> >> >> > >> >> >> > >> >> >> >> >> >> >> >> >> >> >> >> - >> >> >> To unsubscribe, e-mail: [EMAIL PROTECTED] >> >> >> For additional commands, e-mail: [EMAIL PROTECTED] >> >> >> >> >> >> >> >> > >> >> > >> >> > -- >> >> > Paul Fremantle >> >> > VP/Technology, WSO2 and OASIS WS-RX TC Co-chair >> >> > >> >> > http://bloglines.com/blog/paulfremantle >> >> > [EMAIL PROTECTED] >> >> > >> >> > "Oxygenating the Web Service Platform", www.wso2.com >> >> > >> >> > - >> >> > To unsubscrib
Re: [Axis2] Are abstract types possible with ADB and RPCMessageReceiver?
> The client won't be able to "see" the hierarchy. In other words the > client will only see a Weather schema, it won't know that Weather > extends from ABC. But apart from that it should work fine. Does that mean that data from parent class will be lost? I actually tested this out with these objects. public class CustomerDTO { private String name; private String phone; private String address; // public getters/setters } public class PremierCustomerDTO extends CustomerDTO { private String clubName; private String vipNumber; // public getters/setters } My service class returns a PremierCustomerDTO with data populated on it for all five attributes. Whereas, after I retrieve the PremierCustomerDTO at the client side, only the 2 attrs (clubName, vipNumber) declared on it are returned. The other 3 from the parent are null. Is that the way its designed to work? Or should I be doing something different? Thanks! Sathija. > > Paul > > On 1/29/07, Sathija Pavuluri <[EMAIL PROTECTED]> wrote: >> >> Paul, >> >> No, I have not used that approach yet, but was looking at that option. My >> question regarding that, however is, does >> it >> support POJOs that are hierarchical because that's what I really need. >> In the Weather example in the POJO guide, if Weather extended from say ABC >> (could be abstract and also has its >> public >> getter/setters), would things be any different? >> And can the client and service still make use of this hierarchy without >> doing anything additional that whats >> described >> in that sample? >> >> Thanks, >> Sathija. >> >> >> > Sajith >> > >> > Are you following the POJO sample? >> > >> > Paul >> > >> > On 1/26/07, Sathija Pavuluri <[EMAIL PROTECTED]> wrote: >> >> > When you run WSDL2Java -ss -sd to create the server side skeleton and >> >> > ADB binding objects it generates a message receiver and services.xml >> >> > for you. You simply need to type ant to built it all into an AAR. >> >> >> >> Paul, >> >> I am using the code first approach and generating wsdl from the java >> >> classes. >> >> How does what you described stick into this method? >> >> >> >> Thanks. >> >> Sathija >> >> >> >> > >> >> > Paul >> >> > >> >> > On 1/26/07, Sathija Pavuluri <[EMAIL PROTECTED]> wrote: >> >> >> Deepal, >> >> >> >> >> >> Both the server and client use ADB binding. >> >> >> >> >> >> > If you are using ADB in server side you do not need to use >> >> >> > RPCMessageReceiver. >> >> >> >> >> >> What message receiver do I need to use then? >> >> >> >> >> >> Thanks, >> >> >> Sathija. >> >> >> >> >> >> >> >> >> >> >> >> > Hi Sathija ; >> >> >> > >> >> >> >>Hello, >> >> >> >> >> >> >> >>I am using Axis2 1.1.1 for my web services and use ADB for data >> >> >> >>binding with RPCMessageReceiver. >> >> >> >> >> >> >> >> >> >> >> > are you using ADB in client side or server side ? >> >> >> > If you are using ADB in server side you do not need to use >> >> >> > RPCMessageReceiver. >> >> >> > >> >> >> >>I have been unsuccessfully trying to return a datatype 'A1' to my >> >> >> >>client. 'A1' extends from an abstract >> object >> >> 'A' >> >> >> >>that also contains from attributes. >> >> >> >> >> >> >> >>However, when the client receives the response, all attributes from >> >> >> >>A1 are in the response but attributes >> from >> >> A >> >> >> are >> >> >> >>missing. >> >> >> >> >> >> >> >>So I am back to thinking if ADB supports this object hierarchy. I >> >> >> >>have seen some older posts with such >> >> scenarios >> >> >> but >> >> >> >>no useful suggestions. >> >> >> >> >> >> >> >>Thanks! >> >> >> >>Sathija. >> >> >> >> >> >> >> >> >> >> >> >>- >> >> >> >>To unsubscribe, e-mail: [EMAIL PROTECTED] >> >> >> >>For additional commands, e-mail: [EMAIL PROTECTED] >> >> >> >> >> >> >> >> >> >> >> >> >> >> >> >> >> >> >> >> >> >> >> > >> >> >> > -- >> >> >> > Thanks, >> >> >> > Deepal >> >> >> > >> >> >> > "The highest tower is built one brick at a time" >> >> >> > >> >> >> > >> >> >> > >> >> >> > - >> >> >> > To unsubscribe, e-mail: [EMAIL PROTECTED] >> >> >> > For additional commands, e-mail: [EMAIL PROTECTED] >> >> >> > >> >> >> > >> >> >> >> >> >> >> >> >> >> >> >> - >> >> >> To unsubscribe, e-mail: [EMAIL PROTECTED] >> >> >> For additional commands, e-mail: [EMAIL PROTECTED] >> >> >> >> >> >> >> >> > >> >> > >> >> > -- >> >> > Paul Fremantle >> >> > VP/Technology, WSO2 and OASIS WS-RX TC Co-chair >> >> > >> >> > http://bloglines.com/blog/paulfremantle >> >> > [EMAIL PROTECTED] >> >> > >> >> > "Oxygenating the Web Service Platform", www.wso2.com >> >> > >> >> > - >> >> > To unsubscribe, e-mail: [EMAIL PROTECTED] >> >> > For additional commands
Re: [Axis2] Are abstract types possible with ADB and RPCMessageReceiver?
Sajitha The client won't be able to "see" the hierarchy. In other words the client will only see a Weather schema, it won't know that Weather extends from ABC. But apart from that it should work fine. Paul On 1/29/07, Sathija Pavuluri <[EMAIL PROTECTED]> wrote: Paul, No, I have not used that approach yet, but was looking at that option. My question regarding that, however is, does it support POJOs that are hierarchical because that's what I really need. In the Weather example in the POJO guide, if Weather extended from say ABC (could be abstract and also has its public getter/setters), would things be any different? And can the client and service still make use of this hierarchy without doing anything additional that whats described in that sample? Thanks, Sathija. > Sajith > > Are you following the POJO sample? > > Paul > > On 1/26/07, Sathija Pavuluri <[EMAIL PROTECTED]> wrote: >> > When you run WSDL2Java -ss -sd to create the server side skeleton and >> > ADB binding objects it generates a message receiver and services.xml >> > for you. You simply need to type ant to built it all into an AAR. >> >> Paul, >> I am using the code first approach and generating wsdl from the java classes. >> How does what you described stick into this method? >> >> Thanks. >> Sathija >> >> > >> > Paul >> > >> > On 1/26/07, Sathija Pavuluri <[EMAIL PROTECTED]> wrote: >> >> Deepal, >> >> >> >> Both the server and client use ADB binding. >> >> >> >> > If you are using ADB in server side you do not need to use >> >> > RPCMessageReceiver. >> >> >> >> What message receiver do I need to use then? >> >> >> >> Thanks, >> >> Sathija. >> >> >> >> >> >> >> >> > Hi Sathija ; >> >> > >> >> >>Hello, >> >> >> >> >> >>I am using Axis2 1.1.1 for my web services and use ADB for data binding with RPCMessageReceiver. >> >> >> >> >> >> >> >> > are you using ADB in client side or server side ? >> >> > If you are using ADB in server side you do not need to use >> >> > RPCMessageReceiver. >> >> > >> >> >>I have been unsuccessfully trying to return a datatype 'A1' to my client. 'A1' extends from an abstract object >> 'A' >> >> >>that also contains from attributes. >> >> >> >> >> >>However, when the client receives the response, all attributes from A1 are in the response but attributes from >> A >> >> are >> >> >>missing. >> >> >> >> >> >>So I am back to thinking if ADB supports this object hierarchy. I have seen some older posts with such >> scenarios >> >> but >> >> >>no useful suggestions. >> >> >> >> >> >>Thanks! >> >> >>Sathija. >> >> >> >> >> >> >> >> >>- >> >> >>To unsubscribe, e-mail: [EMAIL PROTECTED] >> >> >>For additional commands, e-mail: [EMAIL PROTECTED] >> >> >> >> >> >> >> >> >> >> >> >> >> >> >> >> >> > >> >> > -- >> >> > Thanks, >> >> > Deepal >> >> > >> >> > "The highest tower is built one brick at a time" >> >> > >> >> > >> >> > >> >> > - >> >> > To unsubscribe, e-mail: [EMAIL PROTECTED] >> >> > For additional commands, e-mail: [EMAIL PROTECTED] >> >> > >> >> > >> >> >> >> >> >> >> >> - >> >> To unsubscribe, e-mail: [EMAIL PROTECTED] >> >> For additional commands, e-mail: [EMAIL PROTECTED] >> >> >> >> >> > >> > >> > -- >> > Paul Fremantle >> > VP/Technology, WSO2 and OASIS WS-RX TC Co-chair >> > >> > http://bloglines.com/blog/paulfremantle >> > [EMAIL PROTECTED] >> > >> > "Oxygenating the Web Service Platform", www.wso2.com >> > >> > - >> > To unsubscribe, e-mail: [EMAIL PROTECTED] >> > For additional commands, e-mail: [EMAIL PROTECTED] >> > >> > >> >> >> >> - >> To unsubscribe, e-mail: [EMAIL PROTECTED] >> For additional commands, e-mail: [EMAIL PROTECTED] >> >> > > > -- > Paul Fremantle > VP/Technology, WSO2 and OASIS WS-RX TC Co-chair > > http://bloglines.com/blog/paulfremantle > [EMAIL PROTECTED] > > "Oxygenating the Web Service Platform", www.wso2.com > > - > To unsubscribe, e-mail: [EMAIL PROTECTED] > For additional commands, e-mail: [EMAIL PROTECTED] > > - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED] -- Paul Fremantle VP/Technology, WSO2 and OASIS WS-RX TC Co-chair http://bloglines.com/blog/paulfremantle [EMAIL PROTECTED] "Oxygenating the Web Service Platform", www.wso2.com - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
Re: [Axis2] Are abstract types possible with ADB and RPCMessageReceiver?
Paul, No, I have not used that approach yet, but was looking at that option. My question regarding that, however is, does it support POJOs that are hierarchical because that's what I really need. In the Weather example in the POJO guide, if Weather extended from say ABC (could be abstract and also has its public getter/setters), would things be any different? And can the client and service still make use of this hierarchy without doing anything additional that whats described in that sample? Thanks, Sathija. > Sajith > > Are you following the POJO sample? > > Paul > > On 1/26/07, Sathija Pavuluri <[EMAIL PROTECTED]> wrote: >> > When you run WSDL2Java -ss -sd to create the server side skeleton and >> > ADB binding objects it generates a message receiver and services.xml >> > for you. You simply need to type ant to built it all into an AAR. >> >> Paul, >> I am using the code first approach and generating wsdl from the java classes. >> How does what you described stick into this method? >> >> Thanks. >> Sathija >> >> > >> > Paul >> > >> > On 1/26/07, Sathija Pavuluri <[EMAIL PROTECTED]> wrote: >> >> Deepal, >> >> >> >> Both the server and client use ADB binding. >> >> >> >> > If you are using ADB in server side you do not need to use >> >> > RPCMessageReceiver. >> >> >> >> What message receiver do I need to use then? >> >> >> >> Thanks, >> >> Sathija. >> >> >> >> >> >> >> >> > Hi Sathija ; >> >> > >> >> >>Hello, >> >> >> >> >> >>I am using Axis2 1.1.1 for my web services and use ADB for data binding >> >> >>with RPCMessageReceiver. >> >> >> >> >> >> >> >> > are you using ADB in client side or server side ? >> >> > If you are using ADB in server side you do not need to use >> >> > RPCMessageReceiver. >> >> > >> >> >>I have been unsuccessfully trying to return a datatype 'A1' to my >> >> >>client. 'A1' extends from an abstract object >> 'A' >> >> >>that also contains from attributes. >> >> >> >> >> >>However, when the client receives the response, all attributes from A1 >> >> >>are in the response but attributes from >> A >> >> are >> >> >>missing. >> >> >> >> >> >>So I am back to thinking if ADB supports this object hierarchy. I have >> >> >>seen some older posts with such >> scenarios >> >> but >> >> >>no useful suggestions. >> >> >> >> >> >>Thanks! >> >> >>Sathija. >> >> >> >> >> >> >> >> >>- >> >> >>To unsubscribe, e-mail: [EMAIL PROTECTED] >> >> >>For additional commands, e-mail: [EMAIL PROTECTED] >> >> >> >> >> >> >> >> >> >> >> >> >> >> >> >> >> > >> >> > -- >> >> > Thanks, >> >> > Deepal >> >> > >> >> > "The highest tower is built one brick at a time" >> >> > >> >> > >> >> > >> >> > - >> >> > To unsubscribe, e-mail: [EMAIL PROTECTED] >> >> > For additional commands, e-mail: [EMAIL PROTECTED] >> >> > >> >> > >> >> >> >> >> >> >> >> - >> >> To unsubscribe, e-mail: [EMAIL PROTECTED] >> >> For additional commands, e-mail: [EMAIL PROTECTED] >> >> >> >> >> > >> > >> > -- >> > Paul Fremantle >> > VP/Technology, WSO2 and OASIS WS-RX TC Co-chair >> > >> > http://bloglines.com/blog/paulfremantle >> > [EMAIL PROTECTED] >> > >> > "Oxygenating the Web Service Platform", www.wso2.com >> > >> > - >> > To unsubscribe, e-mail: [EMAIL PROTECTED] >> > For additional commands, e-mail: [EMAIL PROTECTED] >> > >> > >> >> >> >> - >> To unsubscribe, e-mail: [EMAIL PROTECTED] >> For additional commands, e-mail: [EMAIL PROTECTED] >> >> > > > -- > Paul Fremantle > VP/Technology, WSO2 and OASIS WS-RX TC Co-chair > > http://bloglines.com/blog/paulfremantle > [EMAIL PROTECTED] > > "Oxygenating the Web Service Platform", www.wso2.com > > - > To unsubscribe, e-mail: [EMAIL PROTECTED] > For additional commands, e-mail: [EMAIL PROTECTED] > > - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
Deserializing substitutionGroup and abstract types
Hi, I'm having a very similar problem as described here: http://marc.theaimsgroup.com/?l=axis-user&m=113819830006177&w=2 My schema is included below. I'm trying to implement a composite pattern. There are three types derived from an abstract type as follows: Workflow (abstract) / |\ Parallel Sequence Pipeline Both parallel and sequence elements must contain nested Workflow elements (one or more of parallel, sequence or pipeline), whereas pipeline elements cannot - they form the leaves of the workflow tree. An example of a document would be: ... ... ... In the schema I've defined an abstract Workflow element and elements parallel, sequence and pipeline. These are substitution elements for the Workflow element. When I generate Java beans with WSDL2Java there is no trace of the parallel and sequence elements. There is a Java class called Composite which extends WorkflowComponent but there is no way of telling whether this Composite object used to be a sequence or a parallel element. How can I force Axis to generate Java beans corresponding to those elements? Any help with this would be appreciated. Thanks, Amy - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
Re: [Axis2] Are abstract types possible with ADB and RPCMessageReceiver?
Sajith Are you following the POJO sample? Paul On 1/26/07, Sathija Pavuluri <[EMAIL PROTECTED]> wrote: > When you run WSDL2Java -ss -sd to create the server side skeleton and > ADB binding objects it generates a message receiver and services.xml > for you. You simply need to type ant to built it all into an AAR. Paul, I am using the code first approach and generating wsdl from the java classes. How does what you described stick into this method? Thanks. Sathija > > Paul > > On 1/26/07, Sathija Pavuluri <[EMAIL PROTECTED]> wrote: >> Deepal, >> >> Both the server and client use ADB binding. >> >> > If you are using ADB in server side you do not need to use >> > RPCMessageReceiver. >> >> What message receiver do I need to use then? >> >> Thanks, >> Sathija. >> >> >> >> > Hi Sathija ; >> > >> >>Hello, >> >> >> >>I am using Axis2 1.1.1 for my web services and use ADB for data binding with RPCMessageReceiver. >> >> >> >> >> > are you using ADB in client side or server side ? >> > If you are using ADB in server side you do not need to use >> > RPCMessageReceiver. >> > >> >>I have been unsuccessfully trying to return a datatype 'A1' to my client. 'A1' extends from an abstract object 'A' >> >>that also contains from attributes. >> >> >> >>However, when the client receives the response, all attributes from A1 are in the response but attributes from A >> are >> >>missing. >> >> >> >>So I am back to thinking if ADB supports this object hierarchy. I have seen some older posts with such scenarios >> but >> >>no useful suggestions. >> >> >> >>Thanks! >> >>Sathija. >> >> >> >> >> >>- >> >>To unsubscribe, e-mail: [EMAIL PROTECTED] >> >>For additional commands, e-mail: [EMAIL PROTECTED] >> >> >> >> >> >> >> >> >> >> >> > >> > -- >> > Thanks, >> > Deepal >> > >> > "The highest tower is built one brick at a time" >> > >> > >> > >> > - >> > To unsubscribe, e-mail: [EMAIL PROTECTED] >> > For additional commands, e-mail: [EMAIL PROTECTED] >> > >> > >> >> >> >> - >> To unsubscribe, e-mail: [EMAIL PROTECTED] >> For additional commands, e-mail: [EMAIL PROTECTED] >> >> > > > -- > Paul Fremantle > VP/Technology, WSO2 and OASIS WS-RX TC Co-chair > > http://bloglines.com/blog/paulfremantle > [EMAIL PROTECTED] > > "Oxygenating the Web Service Platform", www.wso2.com > > - > To unsubscribe, e-mail: [EMAIL PROTECTED] > For additional commands, e-mail: [EMAIL PROTECTED] > > - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED] -- Paul Fremantle VP/Technology, WSO2 and OASIS WS-RX TC Co-chair http://bloglines.com/blog/paulfremantle [EMAIL PROTECTED] "Oxygenating the Web Service Platform", www.wso2.com - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
Re: [Axis2] Are abstract types possible with ADB and RPCMessageReceiver?
> When you run WSDL2Java -ss -sd to create the server side skeleton and > ADB binding objects it generates a message receiver and services.xml > for you. You simply need to type ant to built it all into an AAR. Paul, I am using the code first approach and generating wsdl from the java classes. How does what you described stick into this method? Thanks. Sathija > > Paul > > On 1/26/07, Sathija Pavuluri <[EMAIL PROTECTED]> wrote: >> Deepal, >> >> Both the server and client use ADB binding. >> >> > If you are using ADB in server side you do not need to use >> > RPCMessageReceiver. >> >> What message receiver do I need to use then? >> >> Thanks, >> Sathija. >> >> >> >> > Hi Sathija ; >> > >> >>Hello, >> >> >> >>I am using Axis2 1.1.1 for my web services and use ADB for data binding >> >>with RPCMessageReceiver. >> >> >> >> >> > are you using ADB in client side or server side ? >> > If you are using ADB in server side you do not need to use >> > RPCMessageReceiver. >> > >> >>I have been unsuccessfully trying to return a datatype 'A1' to my client. >> >>'A1' extends from an abstract object 'A' >> >>that also contains from attributes. >> >> >> >>However, when the client receives the response, all attributes from A1 are >> >>in the response but attributes from A >> are >> >>missing. >> >> >> >>So I am back to thinking if ADB supports this object hierarchy. I have >> >>seen some older posts with such scenarios >> but >> >>no useful suggestions. >> >> >> >>Thanks! >> >>Sathija. >> >> >> >> >> >>- >> >>To unsubscribe, e-mail: [EMAIL PROTECTED] >> >>For additional commands, e-mail: [EMAIL PROTECTED] >> >> >> >> >> >> >> >> >> >> >> > >> > -- >> > Thanks, >> > Deepal >> > >> > "The highest tower is built one brick at a time" >> > >> > >> > >> > - >> > To unsubscribe, e-mail: [EMAIL PROTECTED] >> > For additional commands, e-mail: [EMAIL PROTECTED] >> > >> > >> >> >> >> - >> To unsubscribe, e-mail: [EMAIL PROTECTED] >> For additional commands, e-mail: [EMAIL PROTECTED] >> >> > > > -- > Paul Fremantle > VP/Technology, WSO2 and OASIS WS-RX TC Co-chair > > http://bloglines.com/blog/paulfremantle > [EMAIL PROTECTED] > > "Oxygenating the Web Service Platform", www.wso2.com > > - > To unsubscribe, e-mail: [EMAIL PROTECTED] > For additional commands, e-mail: [EMAIL PROTECTED] > > - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
Re: [Axis2] Are abstract types possible with ADB and RPCMessageReceiver?
Sajitha When you run WSDL2Java -ss -sd to create the server side skeleton and ADB binding objects it generates a message receiver and services.xml for you. You simply need to type ant to built it all into an AAR. Paul On 1/26/07, Sathija Pavuluri <[EMAIL PROTECTED]> wrote: Deepal, Both the server and client use ADB binding. > If you are using ADB in server side you do not need to use > RPCMessageReceiver. What message receiver do I need to use then? Thanks, Sathija. > Hi Sathija ; > >>Hello, >> >>I am using Axis2 1.1.1 for my web services and use ADB for data binding with RPCMessageReceiver. >> >> > are you using ADB in client side or server side ? > If you are using ADB in server side you do not need to use > RPCMessageReceiver. > >>I have been unsuccessfully trying to return a datatype 'A1' to my client. 'A1' extends from an abstract object 'A' >>that also contains from attributes. >> >>However, when the client receives the response, all attributes from A1 are in the response but attributes from A are >>missing. >> >>So I am back to thinking if ADB supports this object hierarchy. I have seen some older posts with such scenarios but >>no useful suggestions. >> >>Thanks! >>Sathija. >> >> >>- >>To unsubscribe, e-mail: [EMAIL PROTECTED] >>For additional commands, e-mail: [EMAIL PROTECTED] >> >> >> >> >> > > -- > Thanks, > Deepal > > "The highest tower is built one brick at a time" > > > > - > To unsubscribe, e-mail: [EMAIL PROTECTED] > For additional commands, e-mail: [EMAIL PROTECTED] > > - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED] -- Paul Fremantle VP/Technology, WSO2 and OASIS WS-RX TC Co-chair http://bloglines.com/blog/paulfremantle [EMAIL PROTECTED] "Oxygenating the Web Service Platform", www.wso2.com - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
Re: [Axis2] Are abstract types possible with ADB and RPCMessageReceiver?
Deepal, Both the server and client use ADB binding. > If you are using ADB in server side you do not need to use > RPCMessageReceiver. What message receiver do I need to use then? Thanks, Sathija. > Hi Sathija ; > >>Hello, >> >>I am using Axis2 1.1.1 for my web services and use ADB for data binding with >>RPCMessageReceiver. >> >> > are you using ADB in client side or server side ? > If you are using ADB in server side you do not need to use > RPCMessageReceiver. > >>I have been unsuccessfully trying to return a datatype 'A1' to my client. >>'A1' extends from an abstract object 'A' >>that also contains from attributes. >> >>However, when the client receives the response, all attributes from A1 are in >>the response but attributes from A are >>missing. >> >>So I am back to thinking if ADB supports this object hierarchy. I have seen >>some older posts with such scenarios but >>no useful suggestions. >> >>Thanks! >>Sathija. >> >> >>- >>To unsubscribe, e-mail: [EMAIL PROTECTED] >>For additional commands, e-mail: [EMAIL PROTECTED] >> >> >> >> >> > > -- > Thanks, > Deepal > > "The highest tower is built one brick at a time" > > > > - > To unsubscribe, e-mail: [EMAIL PROTECTED] > For additional commands, e-mail: [EMAIL PROTECTED] > > - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
Re: [Axis2] Are abstract types possible with ADB and RPCMessageReceiver?
Hi Sathija ; >Hello, > >I am using Axis2 1.1.1 for my web services and use ADB for data binding with >RPCMessageReceiver. > > are you using ADB in client side or server side ? If you are using ADB in server side you do not need to use RPCMessageReceiver. >I have been unsuccessfully trying to return a datatype 'A1' to my client. 'A1' >extends from an abstract object 'A' >that also contains from attributes. > >However, when the client receives the response, all attributes from A1 are in >the response but attributes from A are >missing. > >So I am back to thinking if ADB supports this object hierarchy. I have seen >some older posts with such scenarios but >no useful suggestions. > >Thanks! >Sathija. > > >- >To unsubscribe, e-mail: [EMAIL PROTECTED] >For additional commands, e-mail: [EMAIL PROTECTED] > > > > > -- Thanks, Deepal "The highest tower is built one brick at a time" - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
[Axis2] Are abstract types possible with ADB and RPCMessageReceiver?
Hello, I am using Axis2 1.1.1 for my web services and use ADB for data binding with RPCMessageReceiver. I have been unsuccessfully trying to return a datatype 'A1' to my client. 'A1' extends from an abstract object 'A' that also contains from attributes. However, when the client receives the response, all attributes from A1 are in the response but attributes from A are missing. So I am back to thinking if ADB supports this object hierarchy. I have seen some older posts with such scenarios but no useful suggestions. Thanks! Sathija. - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
RE: Abstract types
i use axis 1.3 and abstract types quite extensively... I 'originally' had a problem with axis, but i have had none for around 6-12 months... i find though that you really need to follow the process to the letter to make it work... here's my process, if it helps... 1.) construct a valid wsdl 2.) run ant target on wsdl to create .java classes making sure to pass the -s option to get the deploy.wsdd file 3.) cut the and tags and copy them if need be 5.) restart i find that if you edit the server-config.wsdd by hand, you could run into real trouble, so if you've done that (and it sounds like you did as you refer to 'beanmapping') i'd suggest you try this... i used to try to edit the files myself manaully too but i had such a hard time with axis that i now edit ONLY the wsdl file, and use the axis tools 100% from that point... hth, cwd -Original Message- From: [EMAIL PROTECTED] [mailto:[EMAIL PROTECTED] Sent: Friday, May 05, 2006 4:15 PM To: axis-user@ws.apache.org Subject: RE: Abstract types This seems very similar to an issue that I had. I believe it is a bug. I ended up going back to 1.2.1. Gregg _ From: [EMAIL PROTECTED] on behalf of Daniel Goodman Sent: Fri 5/5/2006 9:01 AM To: axis-user@ws.apache.org Subject: Abstract types Hi, I'm using axis 1.3 and jdk 1.5, and I'm trying to send a tree constructed using the composite design pattern. So I have an abstract class and a set of instantiating classes. I've then constructed the WSDL to describe these classes and using WSDL2Java constructed the bean serialisers etc. I've added the beanMappings to the wsdd file and it is being added to the server-config.wsdd file correctly. The abstract class contains no data. If I send an object is instantiated from a concrete class with no data it all works fine. However if send an object that contains data it fails with the error; org.xml.sax.SAXException: Invalid element in net.climateprediction.handleService.statements.expandedStatements.Expand edSt atement - (name of data reference) I think this is because although the extended concrete class has the set option the abstract class doesn't, and axis is trying to call set on the abstract class instead of the concrete class. Also I get the error org.xml.sax.SAXException: No object was found for class type class [Lnet.climateprediction.handleService.statements.expandedStatements.Expa nded Statement; if the class contains a reference to the abstract class to enable it to reference another node in the tree (ie. the concrete class is a branch node). It seems axis is trying to instantiate an object from the abstract class instead of the concrete class derived from it. Both of these errors would appear to be caused by axis trying to use references to the wrong class. Does anyone have any ideas on how to correct this, do I need to add additional information to the beanMapping when classes are extended, or to the wsdd file or is this a bug. Any help would be greatfully appreciated Daniel
RE: Abstract types
This seems very similar to an issue that I had. I believe it is a bug. I ended up going back to 1.2.1. Gregg _ From: [EMAIL PROTECTED] on behalf of Daniel Goodman Sent: Fri 5/5/2006 9:01 AM To: axis-user@ws.apache.org Subject: Abstract types Hi, I'm using axis 1.3 and jdk 1.5, and I'm trying to send a tree constructed using the composite design pattern. So I have an abstract class and a set of instantiating classes. I've then constructed the WSDL to describe these classes and using WSDL2Java constructed the bean serialisers etc. I've added the beanMappings to the wsdd file and it is being added to the server-config.wsdd file correctly. The abstract class contains no data. If I send an object is instantiated from a concrete class with no data it all works fine. However if send an object that contains data it fails with the error; org.xml.sax.SAXException: Invalid element in net.climateprediction.handleService.statements.expandedStatements.ExpandedSt atement - (name of data reference) I think this is because although the extended concrete class has the set option the abstract class doesn't, and axis is trying to call set on the abstract class instead of the concrete class. Also I get the error org.xml.sax.SAXException: No object was found for class type class [Lnet.climateprediction.handleService.statements.expandedStatements.Expanded Statement; if the class contains a reference to the abstract class to enable it to reference another node in the tree (ie. the concrete class is a branch node). It seems axis is trying to instantiate an object from the abstract class instead of the concrete class derived from it. Both of these errors would appear to be caused by axis trying to use references to the wrong class. Does anyone have any ideas on how to correct this, do I need to add additional information to the beanMapping when classes are extended, or to the wsdd file or is this a bug. Any help would be greatfully appreciated Daniel
Abstract types
Hi, I'm using axis 1.3 and jdk 1.5, and I'm trying to send a tree constructed using the composite design pattern. So I have an abstract class and a set of instantiating classes. I've then constructed the WSDL to describe these classes and using WSDL2Java constructed the bean serialisers etc. I've added the beanMappings to the wsdd file and it is being added to the server-config.wsdd file correctly. The abstract class contains no data. If I send an object is instantiated from a concrete class with no data it all works fine. However if send an object that contains data it fails with the error; org.xml.sax.SAXException: Invalid element in net.climateprediction.handleService.statements.expandedStatements.ExpandedStatement - (name of data reference) I think this is because although the extended concrete class has the set option the abstract class doesn't, and axis is trying to call set on the abstract class instead of the concrete class. Also I get the error org.xml.sax.SAXException: No object was found for class type class [Lnet.climateprediction.handleService.statements.expandedStatements.ExpandedStatement; if the class contains a reference to the abstract class to enable it to reference another node in the tree (ie. the concrete class is a branch node). It seems axis is trying to instantiate an object from the abstract class instead of the concrete class derived from it. Both of these errors would appear to be caused by axis trying to use references to the wrong class. Does anyone have any ideas on how to correct this, do I need to add additional information to the beanMapping when classes are extended, or to the wsdd file or is this a bug. Any help would be greatfully appreciated Daniel
Re: At my wits end - Axis2 and abstract types...
Accidentally discovered the root cause of the problem... Still not sure how to fix it though. It seems that Axis2 has some trouble parsing input that is 'Web Services Addressing' encoded. Discovered that by accident when I was trying to debug the problem, but had a wsa->xsi filter in line to allow MS clients to connect. So, is there any way to switch Axis2 Web Services Addressing off? Firstly, this would make it easier to connect to dotNET clients, and secondly, it would fix the abstract types problem... ? Thanks, Justin PS - Managed to convert types by XMLBeans, but still cannot retrieve the type information... EANDeviceID gid = (EANDeviceID)EANDeviceID.Factory.parse(cid.toString()); Will convert abstract type cid to real implementation gid, but you need to know the type of gid up front - cid.schemaType() is that of the abstract type... Justin Schoeman wrote: Rodrigo Ruiz wrote: I use Axis 1.3, and it generates a different set of classes. I am not getting any class called "DeviceIDImpl", but an abstract "DeviceID" one. I think the difference comes from Axis2 XmlBeans support (I see you activate this option in the command-line). Have you inspected the source code of "DeviceIDImpl"? For what you said, it seems that it has the appropriate data, at least internally, despite its class name. If that class is a "bag" for several WSDL types, it might have methods for converting from and to the "supported" subtypes. This is just a guess, because I don't know how XmlBeans work. :-P I borrowed some class inspection code, and recursed up the entire object hierarchy without finding any obvious methods/properties... I am at work now, so I cannot expend much time in testing the generated classes, but I will try later ;-) Thanks - any chance if you can see if you can convice Axis1.3 to serialise the abstract classes? 1.3 looks a lot better all-round (except for this problem). Apart from this, I see another error in the msgId field. Its datetime attribute is filled with the result of calling toString() on a Calendar instance, and this is incorrect. In the client code, you should do something like: Hmmm... The autogenerated bean asks for a java.util.Calendar object... Thanks for all the help! -justin
Re: At my wits end - Axis2 and abstract types...
Rodrigo Ruiz wrote: I use Axis 1.3, and it generates a different set of classes. I am not getting any class called "DeviceIDImpl", but an abstract "DeviceID" one. I think the difference comes from Axis2 XmlBeans support (I see you activate this option in the command-line). Have you inspected the source code of "DeviceIDImpl"? For what you said, it seems that it has the appropriate data, at least internally, despite its class name. If that class is a "bag" for several WSDL types, it might have methods for converting from and to the "supported" subtypes. This is just a guess, because I don't know how XmlBeans work. :-P I borrowed some class inspection code, and recursed up the entire object hierarchy without finding any obvious methods/properties... I am at work now, so I cannot expend much time in testing the generated classes, but I will try later ;-) Thanks - any chance if you can see if you can convice Axis1.3 to serialise the abstract classes? 1.3 looks a lot better all-round (except for this problem). Apart from this, I see another error in the msgId field. Its datetime attribute is filled with the result of calling toString() on a Calendar instance, and this is incorrect. In the client code, you should do something like: Hmmm... The autogenerated bean asks for a java.util.Calendar object... Thanks for all the help! -justin
Re: At my wits end - Axis2 and abstract types...
I use Axis 1.3, and it generates a different set of classes. I am not getting any class called "DeviceIDImpl", but an abstract "DeviceID" one. I think the difference comes from Axis2 XmlBeans support (I see you activate this option in the command-line). Have you inspected the source code of "DeviceIDImpl"? For what you said, it seems that it has the appropriate data, at least internally, despite its class name. If that class is a "bag" for several WSDL types, it might have methods for converting from and to the "supported" subtypes. This is just a guess, because I don't know how XmlBeans work. :-P I am at work now, so I cannot expend much time in testing the generated classes, but I will try later ;-) Apart from this, I see another error in the msgId field. Its datetime attribute is filled with the result of calling toString() on a Calendar instance, and this is incorrect. In the client code, you should do something like: SimpleDateFormat sdf = new SimpleDateFormat("MMddHHmmss"); String dateTime = sdf.format(calendar.getTime()); And use the string value, as this is the format expected for the attribute in the XSD. Regards, Rodrigo Ruiz Justin Schoeman wrote: wsdl at: http://nrs.eskom.co.za/xmlvend/docs/Specification/November2005/XMLVend20.asp command line: java -classpath $AXIS2_CLASSPATH org.apache.axis2.wsdl.WSDL2Java -p expertron_client -d xmlbeans -uri xmlvend-full-2.0.wsdl -ss -t -sd Example soap request (no response yet) (please forgive the formatting - ripped from tcpdump):
Re: At my wits end - Axis2 and abstract types...
wsdl at: http://nrs.eskom.co.za/xmlvend/docs/Specification/November2005/XMLVend20.asp command line: java -classpath $AXIS2_CLASSPATH org.apache.axis2.wsdl.WSDL2Java -p expertron_client -d xmlbeans -uri xmlvend-full-2.0.wsdl -ss -t -sd Example soap request (no response yet) (please forgive the formatting - ripped from tcpdump): POST./axis2/ services/XMLVend Service2.0.HTTP/ 1.1..User-Agent: .Axis/2.0..SOAPA ction:.ConfirmCu stomerRequest..C onnection:.Keep- Alive..Host:.192 .168.1.245:8080. .Transfer-Encodi ng:.chunked..Con tent-Type:.text/ xml;.charset=UTF-8 http://schemas. xmlsoap.org/ws/2 004/08/addressin g">http://sch emas.xmlsoap.org /ws/2004/08/addr essing">http://1 92.168.1.245:808 0/axis2/services /XMLVendService2 .0http://schema s.xmlsoap.org/ws /2004/08/address ing">http://schemas .xmlsoap.org/ws/ 2004/08/addressi ng/role/anonymou s< /wsa:ReplyTo>http://sc hemas.xmlsoap.or g/ws/2004/08/add ressing">A36AABD A7EA449102611407 772597641http://www.nr s.eskom.co.za/xm lvend/revenue/2. 0/schema">http://www.nrs .eskom.co.za/xml vend/base/2.0/sc hema".dateTime=" java.util.Gregor ianCalendar[time =1140777259494,a reFieldsSet=true ,areAllFieldsSet =true,lenient=tr ue,zone=sun.util .calendar.ZoneIn fo[id="Afri ca/Johannesburg& quot;,offset=720 ,dstSavings= 0,useDaylight=fa lse,transitions= 7,lastRule=null] ,firstDayOfWeek= 2,minimalDaysInF RA=1,YEAR=20 06,MONTH=1,WEEK_ OF_YEAR=9,WEEK_O F_MONTH=4,DAY_OF _MONTH=24,DAY_OF _YEAR=55,DAY_OF_ WEEK=6,DAY_OF_WE EK_IN_MONTH=4,AM _PM=1,HOUR=0,HOU R_OF_DAY=12,MINU TE=34,SECOND=19, MILLISECOND=494, ZONE_OFFSET=7200 000,DST_OFFSET=0 ]".uniqueNumber= "34"./>;010180 9705===99000 ? Example request envelope Rodrigo Ruiz wrote: Mmm, I guess I'm not seeing the whole picture :-/ Could you send the wsdl, and an example of the full request/response envelopes you are getting? I think it would help me to understand what is happening :-) Rodrigo Ruiz Justin Schoeman wrote: Rodrigo Ruiz wrote: Justin, Starting from a WSDL file that uses inheritance, I have successfully generated the beans, and they keep their hierarchy relationship, using Axis 1.2.1 (from within a Eclipse with WST). It only re-generates the beans if they are not in the classpath, so I am able to customize them, and keep the changes. No sign of any duplicate classes. All the class names match the expected names and namespaces. Perhaps your problem is that wsdl2java is generating a parallel bean hierarchy on another package. Try to print the class name of your bean's parent class. Done that - names are correct. It seems as though the deserialiser creates the object at the level of the hierarchy as specified in the WSDL document, NOT as specified in the type attribute in the message... -justin
Re: At my wits end - Axis2 and abstract types...
Mmm, I guess I'm not seeing the whole picture :-/ Could you send the wsdl, and an example of the full request/response envelopes you are getting? I think it would help me to understand what is happening :-) Rodrigo Ruiz Justin Schoeman wrote: Rodrigo Ruiz wrote: Justin, Starting from a WSDL file that uses inheritance, I have successfully generated the beans, and they keep their hierarchy relationship, using Axis 1.2.1 (from within a Eclipse with WST). It only re-generates the beans if they are not in the classpath, so I am able to customize them, and keep the changes. No sign of any duplicate classes. All the class names match the expected names and namespaces. Perhaps your problem is that wsdl2java is generating a parallel bean hierarchy on another package. Try to print the class name of your bean's parent class. Done that - names are correct. It seems as though the deserialiser creates the object at the level of the hierarchy as specified in the WSDL document, NOT as specified in the type attribute in the message... -justin
Re: At my wits end - Axis2 and abstract types...
Rodrigo Ruiz wrote: Justin, Starting from a WSDL file that uses inheritance, I have successfully generated the beans, and they keep their hierarchy relationship, using Axis 1.2.1 (from within a Eclipse with WST). It only re-generates the beans if they are not in the classpath, so I am able to customize them, and keep the changes. No sign of any duplicate classes. All the class names match the expected names and namespaces. Perhaps your problem is that wsdl2java is generating a parallel bean hierarchy on another package. Try to print the class name of your bean's parent class. Done that - names are correct. It seems as though the deserialiser creates the object at the level of the hierarchy as specified in the WSDL document, NOT as specified in the type attribute in the message... -justin
Re: At my wits end - Axis2 and abstract types...
Justin, Starting from a WSDL file that uses inheritance, I have successfully generated the beans, and they keep their hierarchy relationship, using Axis 1.2.1 (from within a Eclipse with WST). It only re-generates the beans if they are not in the classpath, so I am able to customize them, and keep the changes. Perhaps your problem is that wsdl2java is generating a parallel bean hierarchy on another package. Try to print the class name of your bean's parent class. If this is the problem, you should map the type namespace to the correct package, in order to allow the generator tool to know that the bean classes already exist. You will have to manually modify the generated deploy.wsdd, to indicate which class must be instantiated when deserializing your abstract bean. Otherwise, Axis will fail trying to instantiate your abstract bean. HTH, Rodrigo Ruiz
Re: At my wits end - Axis2 and abstract types...
Yes, tried that. Axis1 does not even manage to serialise abstract classes... As you can see from the extract below, only type information is included for simple abstract classes, and complex abstract classes (idmethod) are completely empty: http://www.nrs.eskom.co.za/xmlvend/revenue/2.0/schema";> mlns:ns1="http://www.nrs.eskom.co.za/xmlvend/base/2.0/schema"/> xmlns:ns2="http://www.nrs.eskom.co.za/xmlvend/base/2.0/schema"/> mlns:ns3="http://www.nrs.eskom.co.za/xmlvend/base/2.0/schema"/> It seems axis1 is a dead loss (does not even serialise abstract classes correctly, axis2 is possible with a number of ugly hacks (incorect type attribute namespace, cannot expose deserialised abstract classes), pocketSOAP is a dead loss (crashes in compile), JWSDP is a dead loss (does not generate fault exceptions correctly)... It seems the only WSDL comiler that can hack it is wsdl.exe from VS,NET :-( (and I really don't want to go there). Unless someone can save me from it, it looks like I will have to go to windoze :-(. -justin Anne Thomas Manes wrote: Have you tried Axis 1? On 2/23/06, *Justin Schoeman* <[EMAIL PROTECTED] <mailto:[EMAIL PROTECTED]>> wrote: Either you have completely lost me, or we are thinking of different things. Constructors for the objects work, and casting them up for serialisation works. Deserialisation also works, but casting them down to the implemented class does not... -justin robert lazarski wrote: > Sorry to leave you hanging Justin, been busy and this question > required a bit of thinking. > > You can do inheritance and abstract classes via xml binding. See this > jira for how it works: > > http://issues.apache.org/jira/browse/AXIS2-310 - this got fixed in axis > 1.3 and I found a work around for axis2. > > So you'll get this signature in axis 1.3 using the referenced wsdl: > > public class ReturnWeb_Login extends > com.callcentreweb.types.ReturnWeb_Base implements java.io.Serializable > > The abstract class your looking for. In axis2, here we use xmlbeans > (same basic wsdl only with different names, and this time using doc / > lit ) . > > public interface SmartLoginResponse extends swasmartns.types.ReturnWebBase > > I wasn't able to get extends to work using adb. > > Does this help? > Robert > http://www.braziloutsource.com/ <http://www.braziloutsource.com/> > > > > > On 2/23/06, *Justin Schoeman* <[EMAIL PROTECTED] <mailto:[EMAIL PROTECTED]> > <mailto:[EMAIL PROTECTED] <mailto:[EMAIL PROTECTED]>>> wrote: > > Hi again, > > I am begging now - I have tried everything that I can think of. This is > my last effort before scrapping Linux/Apache/Axis for this project and > switching to Widoze/C# :-( > > The problem is: > > I need to implement a webservice for XMLVend (generated by a standards > body) that uses abstract types for just about everything. The abstract > types contain no methods/properties of their own - they are just there > to allow for various data types to be plugged in as required. > > As an example, one abstract type is DeviceID (abstract) for which we use > the GenericDeviceID implementation. On the client, this looks like: > > EANDeviceID id = EANDeviceID.Factory.newInstance(); > id.setEAN("hello"); > req.setClientID (id); > > All works fine up till now. Call out the client, and get this bit of xml > over the wire: > http://www.nrs.eskom.co.za/xmlvend/base/2.0/schema"; > xmlns:sch="http://www.nrs.eskom.co.za/xmlvend/base/2.0/schema"; > ean="1234567890123" type="sch:EANDeviceID" /> > > As you can see, all is fine (except that type= should be xsi:type=, but > client and server are Axis2, so not an issue here). > > On the server, I retrieve the ClientID with: > > DeviceID = req.getClientID(); > System.out.println(id.getClass().getName()); > > This outputs: > 'za.co.eskom.nrs.www.xmlvend.base._2_0.schema.impl.DeviceIDImpl' > > NOW: HOW DO I GET FROM THE DeviceIDImpl TYPE BACK TO THE EANDeviceID? > Casting does not work, and I can think of nothing else. > > As a simple test, I plugged
Re: At my wits end - Axis2 and abstract types...
Have you tried Axis 1?On 2/23/06, Justin Schoeman <[EMAIL PROTECTED]> wrote: Either you have completely lost me, or we are thinking of different things.Constructors for the objects work, and casting them up for serialisationworks. Deserialisation also works, but casting them down to the implemented class does not...-justinrobert lazarski wrote:> Sorry to leave you hanging Justin, been busy and this question> required a bit of thinking.>> You can do inheritance and abstract classes via xml binding. See this > jira for how it works:>> http://issues.apache.org/jira/browse/AXIS2-310 - this got fixed in axis> 1.3 and I found a work around for axis2. >> So you'll get this signature in axis 1.3 using the referenced wsdl:>> public class ReturnWeb_Login extends> com.callcentreweb.types.ReturnWeb_Base implements java.io.Serializable >> The abstract class your looking for. In axis2, here we use xmlbeans> (same basic wsdl only with different names, and this time using doc /> lit ) .>> public interface SmartLoginResponse extends swasmartns.types.ReturnWebBase>> I wasn't able to get extends to work using adb.>> Does this help?> Robert> http://www.braziloutsource.com/ >>>>> On 2/23/06, *Justin Schoeman* <[EMAIL PROTECTED]> [EMAIL PROTECTED] >> wrote:>> Hi again,>> I am begging now - I have tried everything that I can think of. This is> my last effort before scrapping Linux/Apache/Axis for this project and > switching to Widoze/C# :-(>> The problem is:>> I need to implement a webservice for XMLVend (generated by a standards> body) that uses abstract types for just about everything. The abstract > types contain no methods/properties of their own - they are just there> to allow for various data types to be plugged in as required.>> As an example, one abstract type is DeviceID (abstract) for which we use > the GenericDeviceID implementation. On the client, this looks like:>> EANDeviceID id = EANDeviceID.Factory.newInstance();> id.setEAN("hello");> req.setClientID (id);>> All works fine up till now. Call out the client, and get this bit of xml> over the wire:> http://www.nrs.eskom.co.za/xmlvend/base/2.0/schema"> xmlns:sch="http://www.nrs.eskom.co.za/xmlvend/base/2.0/schema"> ean="1234567890123" type="sch:EANDeviceID" /> >> As you can see, all is fine (except that type= should be xsi:type=, but> client and server are Axis2, so not an issue here).>> On the server, I retrieve the ClientID with: >> DeviceID = req.getClientID();> System.out.println(id.getClass().getName());>> This outputs:> 'za.co.eskom.nrs.www.xmlvend.base._2_0.schema.impl.DeviceIDImpl' >> NOW: HOW DO I GET FROM THE DeviceIDImpl TYPE BACK TO THE EANDeviceID?> Casting does not work, and I can think of nothing else.>> As a simple test, I plugged the id back into the response: >> resp.setClientID(id);>> and look at the response on the wire:>> http://www.nrs.eskom.co.za/xmlvend/base/2.0/schema "> xmlns:sch="http://www.nrs.eskom.co.za/xmlvend/base/2.0/schema"> ean="1234567890123" type="sch:EANDeviceID" /> >> So 'id' does definitely have the type and value information, but I> cannot figure out how to get it out programatically!>> If anybody can give me some advice before I go totally insane, I would > greatly appreciate it ;-)>> Thanks,>> -justin>> PS - There is nothing quite as frustrating as KNOWING that the data is> right there, and KNOWING there must be a simple way of getting at it, > but not being able to do it...>>
Re: At my wits end - Axis2 and abstract types...
Either you have completely lost me, or we are thinking of different things. Constructors for the objects work, and casting them up for serialisation works. Deserialisation also works, but casting them down to the implemented class does not... -justin robert lazarski wrote: Sorry to leave you hanging Justin, been busy and this question required a bit of thinking. You can do inheritance and abstract classes via xml binding. See this jira for how it works: http://issues.apache.org/jira/browse/AXIS2-310 - this got fixed in axis 1.3 and I found a work around for axis2. So you'll get this signature in axis 1.3 using the referenced wsdl: public class ReturnWeb_Login extends com.callcentreweb.types.ReturnWeb_Base implements java.io.Serializable The abstract class your looking for. In axis2, here we use xmlbeans (same basic wsdl only with different names, and this time using doc / lit ) . public interface SmartLoginResponse extends swasmartns.types.ReturnWebBase I wasn't able to get extends to work using adb. Does this help? Robert http://www.braziloutsource.com/ On 2/23/06, *Justin Schoeman* <[EMAIL PROTECTED] <mailto:[EMAIL PROTECTED]>> wrote: Hi again, I am begging now - I have tried everything that I can think of. This is my last effort before scrapping Linux/Apache/Axis for this project and switching to Widoze/C# :-( The problem is: I need to implement a webservice for XMLVend (generated by a standards body) that uses abstract types for just about everything. The abstract types contain no methods/properties of their own - they are just there to allow for various data types to be plugged in as required. As an example, one abstract type is DeviceID (abstract) for which we use the GenericDeviceID implementation. On the client, this looks like: EANDeviceID id = EANDeviceID.Factory.newInstance(); id.setEAN("hello"); req.setClientID(id); All works fine up till now. Call out the client, and get this bit of xml over the wire: http://www.nrs.eskom.co.za/xmlvend/base/2.0/schema"; xmlns:sch="http://www.nrs.eskom.co.za/xmlvend/base/2.0/schema"; ean="1234567890123" type="sch:EANDeviceID" /> As you can see, all is fine (except that type= should be xsi:type=, but client and server are Axis2, so not an issue here). On the server, I retrieve the ClientID with: DeviceID = req.getClientID(); System.out.println(id.getClass().getName()); This outputs: 'za.co.eskom.nrs.www.xmlvend.base._2_0.schema.impl.DeviceIDImpl' NOW: HOW DO I GET FROM THE DeviceIDImpl TYPE BACK TO THE EANDeviceID? Casting does not work, and I can think of nothing else. As a simple test, I plugged the id back into the response: resp.setClientID(id); and look at the response on the wire: http://www.nrs.eskom.co.za/xmlvend/base/2.0/schema"; xmlns:sch="http://www.nrs.eskom.co.za/xmlvend/base/2.0/schema"; ean="1234567890123" type="sch:EANDeviceID" /> So 'id' does definitely have the type and value information, but I cannot figure out how to get it out programatically! If anybody can give me some advice before I go totally insane, I would greatly appreciate it ;-) Thanks, -justin PS - There is nothing quite as frustrating as KNOWING that the data is right there, and KNOWING there must be a simple way of getting at it, but not being able to do it...
Re: At my wits end - Axis2 and abstract types...
Sorry to leave you hanging Justin, been busy and this question required a bit of thinking. You can do inheritance and abstract classes via xml binding. See this jira for how it works: http://issues.apache.org/jira/browse/AXIS2-310 - this got fixed in axis 1.3 and I found a work around for axis2. So you'll get this signature in axis 1.3 using the referenced wsdl: public class ReturnWeb_Login extends com.callcentreweb.types.ReturnWeb_Base implements java.io.Serializable The abstract class your looking for. In axis2, here we use xmlbeans (same basic wsdl only with different names, and this time using doc / lit ) . public interface SmartLoginResponse extends swasmartns.types.ReturnWebBase I wasn't able to get extends to work using adb. Does this help? Robert http://www.braziloutsource.com/ On 2/23/06, Justin Schoeman <[EMAIL PROTECTED]> wrote: Hi again,I am begging now - I have tried everything that I can think of. This ismy last effort before scrapping Linux/Apache/Axis for this project andswitching to Widoze/C# :-(The problem is: I need to implement a webservice for XMLVend (generated by a standardsbody) that uses abstract types for just about everything. The abstracttypes contain no methods/properties of their own - they are just there to allow for various data types to be plugged in as required.As an example, one abstract type is DeviceID (abstract) for which we usethe GenericDeviceID implementation. On the client, this looks like:EANDeviceID id = EANDeviceID.Factory.newInstance();id.setEAN("hello");req.setClientID(id);All works fine up till now. Call out the client, and get this bit of xmlover the wire: http://www.nrs.eskom.co.za/xmlvend/base/2.0/schema"xmlns:sch="http://www.nrs.eskom.co.za/xmlvend/base/2.0/schema"ean="1234567890123" type="sch:EANDeviceID" /> As you can see, all is fine (except that type= should be xsi:type=, butclient and server are Axis2, so not an issue here).On the server, I retrieve the ClientID with:DeviceID = req.getClientID(); System.out.println(id.getClass().getName());This outputs:'za.co.eskom.nrs.www.xmlvend.base._2_0.schema.impl.DeviceIDImpl'NOW: HOW DO I GET FROM THE DeviceIDImpl TYPE BACK TO THE EANDeviceID?Casting does not work, and I can think of nothing else. As a simple test, I plugged the id back into the response:resp.setClientID(id);and look at the response on the wire: http://www.nrs.eskom.co.za/xmlvend/base/2.0/schema"xmlns:sch="http://www.nrs.eskom.co.za/xmlvend/base/2.0/schema"ean="1234567890123" type="sch:EANDeviceID" /> So 'id' does definitely have the type and value information, but Icannot figure out how to get it out programatically!If anybody can give me some advice before I go totally insane, I wouldgreatly appreciate it ;-) Thanks,-justinPS - There is nothing quite as frustrating as KNOWING that the data isright there, and KNOWING there must be a simple way of getting at it,but not being able to do it...
At my wits end - Axis2 and abstract types...
Hi again, I am begging now - I have tried everything that I can think of. This is my last effort before scrapping Linux/Apache/Axis for this project and switching to Widoze/C# :-( The problem is: I need to implement a webservice for XMLVend (generated by a standards body) that uses abstract types for just about everything. The abstract types contain no methods/properties of their own - they are just there to allow for various data types to be plugged in as required. As an example, one abstract type is DeviceID (abstract) for which we use the GenericDeviceID implementation. On the client, this looks like: EANDeviceID id = EANDeviceID.Factory.newInstance(); id.setEAN("hello"); req.setClientID(id); All works fine up till now. Call out the client, and get this bit of xml over the wire: http://www.nrs.eskom.co.za/xmlvend/base/2.0/schema"; xmlns:sch="http://www.nrs.eskom.co.za/xmlvend/base/2.0/schema"; ean="1234567890123" type="sch:EANDeviceID" /> As you can see, all is fine (except that type= should be xsi:type=, but client and server are Axis2, so not an issue here). On the server, I retrieve the ClientID with: DeviceID = req.getClientID(); System.out.println(id.getClass().getName()); This outputs: 'za.co.eskom.nrs.www.xmlvend.base._2_0.schema.impl.DeviceIDImpl' NOW: HOW DO I GET FROM THE DeviceIDImpl TYPE BACK TO THE EANDeviceID? Casting does not work, and I can think of nothing else. As a simple test, I plugged the id back into the response: resp.setClientID(id); and look at the response on the wire: http://www.nrs.eskom.co.za/xmlvend/base/2.0/schema"; xmlns:sch="http://www.nrs.eskom.co.za/xmlvend/base/2.0/schema"; ean="1234567890123" type="sch:EANDeviceID" /> So 'id' does definitely have the type and value information, but I cannot figure out how to get it out programatically! If anybody can give me some advice before I go totally insane, I would greatly appreciate it ;-) Thanks, -justin PS - There is nothing quite as frustrating as KNOWING that the data is right there, and KNOWING there must be a simple way of getting at it, but not being able to do it...
RE: (Sorry) Client side serialization of abstract types. (Was: Complex problem)
Thanks, However, when running wsdl2java, I can't see any trace of the elements, and I'm also pretty sure the static typedescriptions in my generated classes are not affected by the element declarations, meaning that the xml serialization is unaffected by the presence of the tags in my WSDL/XSD. Of course I might be wrong here, but I will definitely check it out. From: Anne Thomas Manes [mailto:[EMAIL PROTECTED] Sent: 25. januar 2006 17:05 To: axis-user@ws.apache.org Subject: Re: (Sorry) Client side serialization of abstract types. (Was: Complex problem) You need to specify the types for these two elements: Anne On 1/25/06, glenn bech <[EMAIL PROTECTED]> wrote: (Sorry for the premature send) Following the idea outlined here http://www.xfront.com/ElementHierarchy.html I have an object hiearachy and are trying to create a JAX-RPC service using axis 1.3 However I believe Axis generates wrong code for serialization. Have anyone else seen this before? The element Create>>ItemAttributes can hold any element extending the AbstractCreateItemDefinition type. However, on serialization things go wrong, and the client sends the server XML like this ; http://schemas.xmlsoap.org/soap/envelope/ " xmlns:xsd="http://www.w3.org/2001/XMLSchema"; xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance "> http://www.glennbech.com/abstractiontest/abstract/";> [EMAIL PROTECTED] 1 http://www.glennbech.com/abstractiontest/abstract/"/> I think this is due to the Typedescription generated for the class CreateItemAttributes: static { typeDesc.setXmlType(new javax.xml.namespace.QName(" http://www.glennbech.com/abstractiontest/abstract /", ">>Create>ItemAttributes")); org.apache.axis.description.ElementDesc elemField = new org.apache.axis.description.ElementDesc (); elemField.setFieldName("createItemDefinition"); elemField.setXmlName(new javax.xml.namespace.QName("http://www.glennbech.com/abstractiontest/abstract /", "CreateItemDefinition")); elemField.setXmlType(new javax.xml.namespace.QName("http://www.glennbech.com/abstractiontest/abstract /", "AbstractCreateItemDefinition")); elemField.setNillable(false); typeDesc.addFieldDesc(elemField); } Any Ideas ? WSDL http://schemas.xmlsoap.org/wsdl/"; xmlns:soap="http://schemas.xmlsoap.org/wsdl/soap/"; xmlns:http=" http://schemas.xmlsoap.org/wsdl/http/"; xmlns:xs="http://www.w3.org/2001/XMLSchema"; xmlns:soapenc=" http://schemas.xmlsoap.org/soap/encoding/"; xmlns:mime="http://schemas.xmlsoap.org/wsdl/mime/"; xmlns:gb="http://www.glennbech.com/abstractiontest/abstract/"; targetNamespace=" http://www.glennbech.com/abstractiontest/abstract/";> http://www.glennbech.com/abstractiontest/abstract/"; location="abstract.xsd"/> http://www.glennbech.com/abstraction/concrete/"; location="concrete.xsd"/> http://schemas.xmlsoap.org/soap/http"/> http://localhost:/axis/services/Provisioning"/> ' Abstract.xsd http://www.glennbech.com/abstractiontest/abstract/"; xmlns=" http://www.glennbech.com/abstractiontest/abstract/"; xmlns:xs="http://www.w3.org/2001/XMLSchema";> Concrete.xsd http://www.glennbech.com/abstractiontest/concrete/"; xmlns="http://www.glennbech.com/abstractiontest/concrete/"; xmlns:gb=" http://www.glennbech.com/abstractiontest/abstract/"; xmlns:xs="http://www.w3.org/2001/XMLSchema";> From: Anne Thomas Manes [mailto:[EMAIL PROTECTED] Sent: 24. januar 2006 14:21 To: axis-user@ws.apache.org Subject: Re: Complex problem The use of a substitutionGroup combined with an abstract type allows you to do what you want: change both the name and type of the element. A subtitutionGroup allows you to change the name of an element, but the type of a substitutionGroup element must be the same as the original element, or it must be derived from type of the original element. Using abstract types lets you also change the element type. An alternative solution is to use the compositor. If you'd like to read up a little more on substitution groups and abstract types, see: http://www.w3schools.com/schema/schema_complex_subst.asp http://www.w3.org/TR/xmlschema-0/#SubsGroups http://www.zvon.org/xxl/XMLSchemaTutorial/Output/ser_substitution_st0.html http://www.xml.com/pub/a/2000/11/29/schemas/part1.html?page=7 (page down
Re: (Sorry) Client side serialization of abstract types. (Was: Complex problem)
You need to specify the types for these two elements: substitutionGroup="gb:CreateItemDefinition"/> substitutionGroup="gb:CreateItemDefinition"/> Anne On 1/25/06, glenn bech <[EMAIL PROTECTED]> wrote: (Sorry for the premature send)Following the idea outlined here http://www.xfront.com/ElementHierarchy.htmlI have an object hiearachy and are trying to create a JAX-RPC service using axis 1.3However I believe Axis generates wrong code for serialization. Have anyoneelse seen this before?The element Create>>ItemAttributes can hold any element extending theAbstractCreateItemDefinition type. However, on serialization things go wrong, and the client sends the serverXML like this ;http://schemas.xmlsoap.org/soap/envelope/ "xmlns:xsd="http://www.w3.org/2001/XMLSchema"xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance "> http://www.glennbech.com/abstractiontest/abstract/"> [EMAIL PROTECTED] 1 xsi:type="ns1:AbstractCreateItemDefinition" xmlns:ns1="http://www.glennbech.com/abstractiontest/abstract/"/> I think this is due to the Typedescription generated for the classCreateItemAttributes:static {typeDesc.setXmlType(newjavax.xml.namespace.QName(" http://www.glennbech.com/abstractiontest/abstract/", ">>Create>ItemAttributes"));org.apache.axis.description.ElementDesc elemField = neworg.apache.axis.description.ElementDesc ();elemField.setFieldName("createItemDefinition");elemField.setXmlName(newjavax.xml.namespace.QName("http://www.glennbech.com/abstractiontest/abstract /", "CreateItemDefinition"));elemField.setXmlType(newjavax.xml.namespace.QName("http://www.glennbech.com/abstractiontest/abstract /", "AbstractCreateItemDefinition"));elemField.setNillable(false);typeDesc.addFieldDesc(elemField); }Any Ideas ?WSDLhttp://schemas.xmlsoap.org/wsdl/" xmlns:soap="http://schemas.xmlsoap.org/wsdl/soap/" xmlns:http=" http://schemas.xmlsoap.org/wsdl/http/" xmlns:xs="http://www.w3.org/2001/XMLSchema" xmlns:soapenc=" http://schemas.xmlsoap.org/soap/encoding/" xmlns:mime="http://schemas.xmlsoap.org/wsdl/mime/" xmlns:gb="http://www.glennbech.com/abstractiontest/abstract/" targetNamespace=" http://www.glennbech.com/abstractiontest/abstract/"> http://www.glennbech.com/abstractiontest/abstract/" location="abstract.xsd"/> http://www.glennbech.com/abstraction/concrete/"location="concrete.xsd"/> transport=" http://schemas.xmlsoap.org/soap/http"/> location="http://localhost:/axis/services/Provisioning"/> ' Abstract.xsd targetNamespace="http://www.glennbech.com/abstractiontest/abstract/" xmlns=" http://www.glennbech.com/abstractiontest/abstract/" xmlns:xs="http://www.w3.org/2001/XMLSchema"> type="AbstractCreateItemDefinition" abstract="true"/> Concrete.xsd targetNamespace=" http://www.glennbech.com/abstractiontest/concrete/" xmlns="http://www.glennbech.com/abstractiontest/concrete/" xmlns:gb=" http://www.glennbech.com/abstractiontest/abstract/" xmlns:xs="http://www.w3.org/2001/XMLSchema"> name="CreateDigitalCameraParametersType"> substitutionGroup="gb:CreateItemDefinition"/> substitutionGroup="gb:CreateItemDefinition"/> From: Anne Thomas Manes [mailto:[EMAIL PROTECTED]]Sent: 24. januar 2006 14:21To: axis-user@ws.apache.orgSubject: Re: Complex problem The use of a substitutionGroup combined with an abstract type allows you todo what you want: change both the name and type of the element. AsubtitutionGroup allows you to change the name of an element, but the type of a substitutionGroup element must be the same as the original element, orit must be derived from type of the original element. Using abstract typeslets you also change the element type.An alternative solution is to use the compositor. If you'd like to read up a little more on substitution groups and abstracttypes, see:http://www.w3schools.com/schema/schema_complex_subst.asp http://www.w3.org/TR/xmlschema-0/#SubsGroupshttp://www.zvon.org/xxl/XMLSchemaTutorial/Output/ser_substitution_st0.html http://www.xml.com/pub/a/2000/11/29/schemas/part1.html?page=7 (page down abit) http://www.xfront.com/ElementHierarchy.htmlRegards,AnneOn 1/24/06, glenn bech <[EMAIL PROTECTED]> wrote:Hi Anne, thank you for looking into my case, I can see from the mailing list that you're one of the ones pulling the load around here.-)Anyways ; I realize now that the substitutiongroup attribute belongs toelements, and not types. Personally, I'm a bit confused about the use of *both* in my case, the abstract schema I have to work with require me to usean xs:extension, and put the element in a substitution group. However, it is"company policy" and I cannot get around it. Question; Is it "common" to both use Substitution groups and abstract typesas in my case ?Question; Since substitution groups belo
(Sorry) Client side serialization of abstract types. (Was: Complex problem)
(Sorry for the premature send) Following the idea outlined here http://www.xfront.com/ElementHierarchy.html I have an object hiearachy and are trying to create a JAX-RPC service using axis 1.3 However I believe Axis generates wrong code for serialization. Have anyone else seen this before? The element Create>>ItemAttributes can hold any element extending the AbstractCreateItemDefinition type. However, on serialization things go wrong, and the client sends the server XML like this ; http://schemas.xmlsoap.org/soap/envelope/"; xmlns:xsd="http://www.w3.org/2001/XMLSchema"; xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance";> http://www.glennbech.com/abstractiontest/abstract/";> [EMAIL PROTECTED] 1 http://www.glennbech.com/abstractiontest/abstract/"/> I think this is due to the Typedescription generated for the class CreateItemAttributes: static { typeDesc.setXmlType(new javax.xml.namespace.QName("http://www.glennbech.com/abstractiontest/abstract /", ">>Create>ItemAttributes")); org.apache.axis.description.ElementDesc elemField = new org.apache.axis.description.ElementDesc(); elemField.setFieldName("createItemDefinition"); elemField.setXmlName(new javax.xml.namespace.QName("http://www.glennbech.com/abstractiontest/abstract /", "CreateItemDefinition")); elemField.setXmlType(new javax.xml.namespace.QName("http://www.glennbech.com/abstractiontest/abstract /", "AbstractCreateItemDefinition")); elemField.setNillable(false); typeDesc.addFieldDesc(elemField); } Any Ideas ? WSDL http://schemas.xmlsoap.org/wsdl/"; xmlns:soap="http://schemas.xmlsoap.org/wsdl/soap/"; xmlns:http="http://schemas.xmlsoap.org/wsdl/http/"; xmlns:xs="http://www.w3.org/2001/XMLSchema"; xmlns:soapenc="http://schemas.xmlsoap.org/soap/encoding/"; xmlns:mime="http://schemas.xmlsoap.org/wsdl/mime/"; xmlns:gb="http://www.glennbech.com/abstractiontest/abstract/"; targetNamespace="http://www.glennbech.com/abstractiontest/abstract/";> http://www.glennbech.com/abstractiontest/abstract/"; location="abstract.xsd"/> http://www.glennbech.com/abstraction/concrete/"; location="concrete.xsd"/> http://schemas.xmlsoap.org/soap/http"/> http://localhost:/axis/services/Provisioning"/> Abstract.xsd http://www.glennbech.com/abstractiontest/abstract/"; xmlns="http://www.glennbech.com/abstractiontest/abstract/"; xmlns:xs="http://www.w3.org/2001/XMLSchema";> Concrete.xsd http://www.glennbech.com/abstractiontest/concrete/"; xmlns="http://www.glennbech.com/abstractiontest/concrete/"; xmlns:gb="http://www.glennbech.com/abstractiontest/abstract/"; xmlns:xs="http://www.w3.org/2001/XMLSchema";> From: Anne Thomas Manes [mailto:[EMAIL PROTECTED] Sent: 24. januar 2006 14:21 To: axis-user@ws.apache.org Subject: Re: Complex problem The use of a substitutionGroup combined with an abstract type allows you to do what you want: change both the name and type of the element. A subtitutionGroup allows you to change the name of an element, but the type of a substitutionGroup element must be the same as the original element, or it must be derived from type of the original element. Using abstract types lets you also change the element type. An alternative solution is to use the compositor. If you'd like to read up a little more on substitution groups and abstract types, see: http://www.w3schools.com/schema/schema_complex_subst.asp http://www.w3.org/TR/xmlschema-0/#SubsGroups http://www.zvon.org/xxl/XMLSchemaTutorial/Output/ser_substitution_st0.html http://www.xml.com/pub/a/2000/11/29/schemas/part1.html?page=7 (page down a bit) http://www.xfront.com/ElementHierarchy.html Regards, Anne On 1/24/06, glenn bech <[EMAIL PROTECTED]> wrote: Hi Anne, thank you for looking into my case, I can see from the mailing list that you're one of the ones pulling the load around here.-) Anyways ; I realize now that the substitutiongroup attribute belongs to elements, and not types. Personally, I'm a bit confused about the use of *both* in my case, the abstract schema I have to work with require me to use an xs:extension, and put the ele