axis-java-user mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Gennady Shumakher" <Genn...@backflipsoftware.com>
Subject RE: [Axis2]wsdl2java with xmlbeans creates interface with xmlbeans.XmlString instead of java.lang.String
Date Tue, 02 Oct 2007 07:56:49 GMT
Hi Vish,
I faced the similar issues during evaluation of migration of our project
from axis1 to axis2. As far I understand the issue here is that
wsdl2java generation frameworks and databinding techniques don't have
the strict unification of the way the code is generated. So even
switching from one data binding to another would cause the need of code
modifications since the generated complex data types are exposed in
completely different API manner. (ADB - new SomeType(); XmlBeans -
SomeType.Factory.newInstance()).
To switch easily between data binding methods the one could consider
code2wsdl path.
 
Regarding the options you mentioned according to 1.3 documentation jaxme
and jaxbri are in experimental phase.
 
Gennady
 
________________________________

From: Pantvaidya, Vishwajit [mailto:vpantvai@selectica.com] 
Sent: Monday, October 01, 2007 23:32
To: 'axis-user@ws.apache.org'
Subject: RE: [Axis2]wsdl2java with xmlbeans creates interface with
xmlbeans.XmlString instead of java.lang.String



Actually I do see that the complex types are getting generated - but the
"-f" option seems to be working erratically, because of which those
types got generated with a "src" folder at the topmost level.

But unwrapping does not work with jaxme/jaxbri/ADB.

 

My takeaway from this exercise: Axis2 wsdl2java cannot generate same
code like axis1 even if wsdl remains same and irrespective of the value
of the "-d" wsdl2java option. Just migrating to axis2 forces people to
use xmlbeans, adb, etc, and make change in the webservice implementation
to handle, for example, xmlbeans.XmlString instead of java.lang.String.

 

So my options are to:

1.	use jaxme/jaxbri with wrapper classes even for simple webservice
operations like login, etc 
2.	use xmlbeans and change my axis1 implementation to handle
XmlString instead of java String. 

 

Any suggestions/thoughts/corrections?

 

 

________________________________

From: Pantvaidya, Vishwajit 
Sent: Monday, October 01, 2007 12:01 PM
To: axis-user@ws.apache.org
Subject: RE: [Axis2]wsdl2java with xmlbeans creates interface with
xmlbeans.XmlString instead of java.lang.String

 

Hi Amila,

 

Let me know if I am doing anything wrong here or if I need to change
anything.

 

 

- Vish.

 

________________________________

From: Pantvaidya, Vishwajit 
Sent: Friday, September 28, 2007 5:24 PM
To: 'Amila Suriarachchi'
Subject: RE: [Axis2]wsdl2java with xmlbeans creates interface with
xmlbeans.XmlString instead of java.lang.String

 

I also tried using jaxb hoping that it would directly map to java types
- found 2 problems there.

1. axis2 does not support unwrapping for jaxb - why is that?

2. for the same wsdl, I emailed you, it created an interface as follows:

public com.selectica.ws.ecm.wsdlgen.OperationStatusElement Upload (

com.selectica.ws.ecm.wsdlgen.UploadRequestElement uploadRequestElement

);

But it did not create the class for the complex types
com.selectica.ws.ecm.wsdlgen.UploadRequestElement and
OperationStatusElement. Am I doing anything wrong here or is there a
problem with the axis2 jaxb support?

 

 

- Vish.

 

________________________________

From: Pantvaidya, Vishwajit 
Sent: Friday, September 28, 2007 1:29 PM
To: 'Amila Suriarachchi'
Subject: RE: [Axis2]wsdl2java with xmlbeans creates interface with
xmlbeans.XmlString instead of java.lang.String

 

For this wsdl - it creates interface as follows:

 

public com.selectica.ws.ecm.wsdlgen.OperationStatusElementDocument
Upload (

org.apache.xmlbeans.XmlString sessiontoken,

org.apache.xmlbeans.XmlString trackingnumber,

org.apache.xmlbeans.XmlInt version

);

 

So the unwrapping here is okay - but I need java.lang,String params
instead of xmlbeans.XmlString. I know that XmlString contains a string
finally - but I do not really need that additional wrapper.

Is this happening because of the bindings functionality introduced in
axis2?

Is it possible in axis2 to do wsdl2java using only POJO types?

 

 

________________________________

From: Amila Suriarachchi [mailto:amilasuriarachchi@gmail.com] 
Sent: Friday, September 28, 2007 2:58 AM
To: axis-user@ws.apache.org
Subject: Re: [Axis2]wsdl2java with xmlbeans creates interface with
xmlbeans.XmlString instead of java.lang.String

 

 

On 8/23/07, Pantvaidya, Vishwajit <vpantvai@selectica.com> wrote:

Tried scomp with xmlbeans 2.2.0 (same version as bundled with axis2) -
it gives error "error: invalid.document.type: Document is not a wsdl
file".

 

But coming back to original problem - the wsdl used to process fine with
axis1 resulting in interface with parameters of java types. Hasn't that
been retained in axis2?

 

Tried wsdl2java with ADB to see if that gives me what I want. That also
completed fine - but resulting classes had all complex type params with
generated types. So I tried the -uw option - hoping it will unwrap
those. But now I get error

 

org.apache.axis2.wsdl.codegen.CodeGenerationException: Unsupported
Schema format for unwrapping! found unknown type but expected Element


this means you  have a  choice or all type in your complex type.
unwrapping works with the document literal type services. if you can
send your wsdl I can check. 

	 

	
org.apache.axis2.wsdl.codegen.extension.SchemaUnwrapperExtension.process
XMLSchemaSequence(SchemaUnwrapperExtension.java:370),
org.apache.axis2.wsdl.codegen.extension.SchemaUnwrapperExtension.handleA
llCasesOfComplexTypes(SchemaUnwrapperExtension.java:198),
org.apache.axis2.wsdl.codegen.extension.SchemaUnwrapperExtension.walkSch
ema(SchemaUnwrapperExtension.java:143),
org.apache.axis2.wsdl.codegen.extension.SchemaUnwrapperExtension.engage(
SchemaUnwrapperExtension.java:94),
org.apache.axis2.wsdl.codegen.CodeGenerationEngine.generate(CodeGenerati
onEngine.java:218)

	 

	Any idea what this is about? Is -uw option the right one? What
is difference between that and -u? It is not very clear from the
wsdl2java reference.


-u let you generate seperate classes.

	 

	- Vish.

	
________________________________


	From: Amila Suriarachchi [mailto:amilasuriarachchi@gmail.com] 
	Sent: Wednesday, August 22, 2007 8:56 PM
	To: axis-user@ws.apache.org
	Subject: Re: [Axis2]wsdl2java with xmlbeans creates interface
with xmlbeans.XmlString instead of java.lang.String

	 

	can you generate the code using xmlbeans scomp command and see
what is the type?
	anyway I think XmlString contanins a string inside it.
	
	Amila.

	On 8/23/07, Pantvaidya, Vishwajit <vpantvai@selectica.com>
wrote:

	I think I saw someone with same problem but cannot locate that
message. My axis2 1.3 wsdl2java with xmlbeans is completing
successfully. But the generated interface has methods with parameters of
type xmlbeans.XmlString instead of java.lang.String. My expectation was
it would map primitives to java datatypes and create xmlbeans for
complex types. Is this not the case? Do I need to switch to ADB to get
params with java types?

	
	
	
	-- 
	Amila Suriarachchi,
	WSO2 Inc. 




-- 
Amila Suriarachchi,
WSO2 Inc. 


Mime
View raw message