AXIS 1.3 vs. AXIS2

2006-01-24 Thread Christian Schmitz

Hello,

I am confused about which axis-version to use. Big changes not at least 
in the architecture are made in AXIS 2, but can somebody give me an 
overview of all changes and the benefits of AXIS2. I haven't something 
like that on the website.


What about AXIS 1.3, is it going to die? Which version would you 
recommend when starting a new project next time?


Regards,
Christian



Re: java.io.IOException: while Running WSDL2Java...

2005-12-07 Thread Christian Schmitz

Hi,

**you are using a type definition with the name ArrayOfAAObject (in your 
message definition or in your types definition) which is not reachable.

Post your wsdl if you will not solve the problem yourself.

Christian

Serkan Sunel schrieb:


Anybody knows what causes to this exception while Running WSDL2Java ???

 

*java.io.IOException: Type* {http://www.someurl}ArrayOfAAObject *is 
referenced but not defined.*


at 
org.apache.axis.wsdl.symbolTable.SymbolTable.checkForUndefined(SymbolTable.java:652)


at 
org.apache.axis.wsdl.symbolTable.SymbolTable.add(SymbolTable.java:532)


at 
org.apache.axis.wsdl.symbolTable.SymbolTable.populate(SymbolTable.java:506)


at 
org.apache.axis.wsdl.symbolTable.SymbolTable.populate(SymbolTable.java:483)


at 
org.apache.axis.wsdl.gen.Parser$WSDLRunnable.run(Parser.java:356)


at java.lang.Thread.run(Thread.java:534)

 




*From:* Xinjun Chen [mailto:[EMAIL PROTECTED]
*Sent:* Monday, December 05, 2005 8:31 AM
*To:* axis-user@ws.apache.org
*Subject:* Re: Can i call web service in side my web service

 

Why not consider Axis client package? It provides dynamic invocation 
interface.


 

But I haven't figured out is how to use the client package to invoke 
document style services.


 

I am wondering whether Axis client package will support 
interoperability between different styles of services by providing 
client functions to probe the style of a remote service and the client 
package to call the service according to the returned service style. 
In this way, the client will no longer need to worry about the remote 
service style.


 


Regards,

Xinjun

 

On 12/2/05, *Guy Rixon* [EMAIL PROTECTED] mailto:[EMAIL PROTECTED] 
wrote:


Yes, we (AstroGrid ) do that habitually. We put the stubs for service B
inside service A and the stubs for service C inside service B.

It works well, provided that the stubs called inside a given service are
generated with the same Axis version as the axis jars in that 
service.  I.e.,
it's OK to have, say, axis 1.1 in service A and call service B that's 
running

Axis 1.3, but the stubs for B in A have to be compatible with axis 1.1.

On Thu, 1 Dec 2005, Sreenivas Reddy wrote:


Yes You can call..


giribabu venugopal  [EMAIL PROTECTED] mailto:[EMAIL PROTECTED] 

wrote:  Hi


  Can i call web service indise my web service?


  see i have to call (provider web service) inside my web 
service  .when provider call my web service(internall i have to call 
their web  service is it possible?



  what issues should i consider am using axis1.2.1?

  am calling.net http://calling.net web service?




-
 Yahoo! Music Unlimited - Access over 1 million songs. Try it free.


Guy Rixon   [EMAIL PROTECTED] 
mailto:[EMAIL PROTECTED]

Institute of Astronomy  Tel: +44-1223-337542
Madingley Road, Cambridge, UK, CB3 0HA  Fax: +44-1223-337523

 




--


OPITZ CONSULTING Gummersbach GmbH
Christian Schmitz -  Dipl.-Wirtschaftsinformatiker (FH)
Kirchstr. 6 - D-51647 Gummersbach
Telefon (Fax): +49 2261 6001-0 (-1139) - Mobil: +49 170 5545138
http://www.opitz-consulting.de





How to make a global Exception-Handling?

2005-11-29 Thread Christian Schmitz

Hello,

I have a service with some methods and I want to have a central point 
toirealize the exception handling. Something like a global try-catch 
block. Is it possible?


Are there any Best Practices to realize exception-handling with axis web 
services?


I tried to write a handler which should transform all thrown exceptions 
in my service methods to an exception defined in my wsdl. My service is 
configured to use this handler in the responseFlow, but neither the 
invoke-method nor the onFault-method is called.


Regards,
Christian




Re: How to make a global Exception-Handling?

2005-11-29 Thread Christian Schmitz

Hi Guenther,

thank you for this, you are right, the onFault of my requestFlow Handler 
is called.
I thought the onFault is just called if an exception is thrown in one of 
the handlers executed in the requestFlow but in the service implementation?


Did you ever realize an exception handling like this? Is it possible to 
get the thrown Exception from the MessageContext or do I have to read 
the SOAPFault from the ResponseMessage and collect the data I need to 
identify what is thrown?


Regards,
Christian

Grossberger, Guenter schrieb:


Hi, Christian!

Yo're on the right track. But only the onFault handlers in the request
flow are called. I don't know why exactly but that's how it works. So
you need to configure your exception handler in the global request flow
and implement the onFault method.

Bye,
Guenter


 


-Original Message-
From: Christian Schmitz 
[mailto:[EMAIL PROTECTED] 
Sent: Tuesday, November 29, 2005 2:39 PM

To: axis-user@ws.apache.org
Subject: How to make a global Exception-Handling?

Hello,

I have a service with some methods and I want to have a central point 
toirealize the exception handling. Something like a global try-catch 
block. Is it possible?


Are there any Best Practices to realize exception-handling 
with axis web 
services?


I tried to write a handler which should transform all thrown 
exceptions 
in my service methods to an exception defined in my wsdl. My 
service is 
configured to use this handler in the responseFlow, but neither the 
invoke-method nor the onFault-method is called.


Regards,
Christian



   




--


Besuchen Sie unsere kostenlose Veranstaltung
Effizientes Prozess- und IT-Management -
Die Verbindung von ARIS mit IT-Infrastrukturen
am 24.11.2005 in Köln. Anmeldungen unter
http://www.opitz-consulting.de

OPITZ CONSULTING Gummersbach GmbH
Christian Schmitz -  Dipl.-Wirtschaftsinformatiker (FH)
Kirchstr. 6 - D-51647 Gummersbach
Telefon (Fax): +49 2261 6001-0 (-1139) - Mobil: +49 170 5545138
http://www.opitz-consulting.de





wsdl2java does not generate class-files for complexTypes

2005-11-21 Thread Christian Schmitz

My WSDL defines the following complexTypes in the types-defintion:

 xsd:complexType name=SearchResults
   xsd:sequence
 xsd:element name=ergebnisse nillable=false minOccurs=0 
maxOccurs=unbounded type=transporttypes:ResultLine/
   /xsd:sequence 
 /xsd:complexType 
 xsd:complexType name=ResultLine

   xsd:sequence
 xsd:element name=ergebnisse nillable=false minOccurs=0 
maxOccurs=unbounded type=xsd:decimal /
   /xsd:sequence 
 /xsd:complexType


The complexType SearchResult should be returned by my service method.

 wsdl:message name=searchResponse
   wsdl:part name=results type=myNS:SearchResults/
 /wsdl:message
...
   soap:binding style=rpc 
transport=http://schemas.xmlsoap.org/soap/http/

   wsdl:operation name=search
 wsdl:input 
   soap:body use=literal/
 /wsdl:input
 wsdl:output
   soap:body use=literal/
 /wsdl:output
   /wsdl:operation

wsdl2java does not generate the classes SearchResults an ResultLine. I 
expect that the tool should generate them. Instead of the expected, it 
generates a 2-dimensional Array as return type of my service method.


public java.math.BigDecimal[][] search(...) throws java.rmi.RemoteException;

Is this the correct? Is it possible to configure wsdl2java to generate 
the classes?


regars,
Christian



error initializing ArraySerializer and ArrayDeserializer

2005-11-21 Thread Christian Schmitz

Hi,

I am using axis 1.3 and I get the following 3 Exceptions for each 
ArrayMapping in the server log file:


java.lang.NoSuchMethodException: 
org.apache.axis.encoding.ser.ArraySerializerFactory.create(java.lang.Class, 
javax.xml.namespace.QName)

   at java.lang.Class.getMethod(Class.java:978)
   at 
org.apache.axis.encoding.ser.BaseSerializerFactory.createFactory(BaseSerializerFactory.java:254)
   at 
org.apache.axis.deployment.wsdd.WSDDService.deployTypeMapping(WSDDService.java:542)
   at 
org.apache.axis.deployment.wsdd.WSDDService.initTMR(WSDDService.java:253)
   at 
org.apache.axis.deployment.wsdd.WSDDService.init(WSDDService.java:233)
   at 
org.apache.axis.deployment.wsdd.WSDDDeployment.init(WSDDDeployment.java:192)
   at 
org.apache.axis.deployment.wsdd.WSDDDocument.setDocument(WSDDDocument.java:139)
   at 
org.apache.axis.deployment.wsdd.WSDDDocument.init(WSDDDocument.java:65)
   at 
org.apache.axis.configuration.FileProvider.configureEngine(FileProvider.java:179)

   at org.apache.axis.AxisEngine.init(AxisEngine.java:172)
   at org.apache.axis.AxisEngine.init(AxisEngine.java:156)
   at org.apache.axis.server.AxisServer.init(AxisServer.java:88)
   at 
org.apache.axis.server.DefaultAxisServerFactory.createServer(DefaultAxisServerFactory.java:109)
   at 
org.apache.axis.server.DefaultAxisServerFactory.getServer(DefaultAxisServerFactory.java:73)

   at org.apache.axis.server.AxisServer.getServer(AxisServer.java:73)
   at 
org.apache.axis.transport.http.AxisServletBase.getEngine(AxisServletBase.java:185)
   at 
org.apache.axis.transport.http.AxisServletBase.getOption(AxisServletBase.java:396)
   at 
org.apache.axis.transport.http.AxisServletBase.init(AxisServletBase.java:112)

   at javax.servlet.GenericServlet.init(GenericServlet.java:258)
   at 
com.evermind.server.http.HttpApplication.loadServlet(HttpApplication.java:2094)
   at 
com.evermind.server.http.HttpApplication.findServlet(HttpApplication.java:4523)
   at 
com.evermind.server.http.HttpApplication.initPreloadServlets(HttpApplication.java:4617)
   at 
com.evermind.server.http.HttpApplication.initDynamic(HttpApplication.java:765)
   at 
com.evermind.server.http.HttpApplication.init(HttpApplication.java:497)
   at 
com.evermind.server.Application.getHttpApplication(Application.java:886)
   at 
com.evermind.server.http.HttpServer.getHttpApplication(HttpServer.java:688)

   at com.evermind.server.http.HttpSite.getApplication(HttpSite.java:420)
   at 
com.evermind.server.http.HttpRequestHandler.processRequest(HttpRequestHandler.java:422)
   at 
com.evermind.server.http.HttpRequestHandler.run(HttpRequestHandler.java:270)
   at 
com.evermind.server.http.HttpRequestHandler.run(HttpRequestHandler.java:112)
   at 
com.evermind.util.ReleasableResourcePooledExecutor$MyWorker.run(ReleasableResourcePooledExecutor.java:186)

   at java.lang.Thread.run(Thread.java:534)
(21.Nov.2005 13:32:03) 
ttpRequestHandler-4889213  661 
DEBUG BaseDeserializerFactory  : Exception:
java.lang.NoSuchMethodException: 
org.apache.axis.encoding.ser.ArrayDeserializerFactory.create(java.lang.Class, 
javax.xml.namespace.QName)

   at java.lang.Class.getMethod(Class.java:978)
   at 
org.apache.axis.encoding.ser.BaseDeserializerFactory.createFactory(BaseDeserializerFactory.java:225)
   at 
org.apache.axis.deployment.wsdd.WSDDService.deployTypeMapping(WSDDService.java:554)
   at 
org.apache.axis.deployment.wsdd.WSDDService.initTMR(WSDDService.java:253)
   at 
org.apache.axis.deployment.wsdd.WSDDService.init(WSDDService.java:233)
   at 
org.apache.axis.deployment.wsdd.WSDDDeployment.init(WSDDDeployment.java:192)
   at 
org.apache.axis.deployment.wsdd.WSDDDocument.setDocument(WSDDDocument.java:139)
   at 
org.apache.axis.deployment.wsdd.WSDDDocument.init(WSDDDocument.java:65)
   at 
org.apache.axis.configuration.FileProvider.configureEngine(FileProvider.java:179)

   at org.apache.axis.AxisEngine.init(AxisEngine.java:172)
   at org.apache.axis.AxisEngine.init(AxisEngine.java:156)
   at org.apache.axis.server.AxisServer.init(AxisServer.java:88)
   at 
org.apache.axis.server.DefaultAxisServerFactory.createServer(DefaultAxisServerFactory.java:109)
   at 
org.apache.axis.server.DefaultAxisServerFactory.getServer(DefaultAxisServerFactory.java:73)

   at org.apache.axis.server.AxisServer.getServer(AxisServer.java:73)
   at 
org.apache.axis.transport.http.AxisServletBase.getEngine(AxisServletBase.java:185)
   at 
org.apache.axis.transport.http.AxisServletBase.getOption(AxisServletBase.java:396)
   at 
org.apache.axis.transport.http.AxisServletBase.init(AxisServletBase.java:112)

   at javax.servlet.GenericServlet.init(GenericServlet.java:258)
   at 
com.evermind.server.http.HttpApplication.loadServlet(HttpApplication.java:2094)
   at 
com.evermind.server.http.HttpApplication.findServlet(HttpApplication.java:4523)
   at 
com.evermind.server.http.HttpApplication.initPreloadServlets(HttpApplication.java:4617)
   at 

client throws SAXExeption while deserializing

2005-11-21 Thread Christian Schmitz

Hi,

I am using axis 1.3 and this simple test-service crashes at the client side:

?xml version=1.0 encoding=UTF-8?
wsdl:definitions name=Testservice
 targetNamespace=http://test.de;
 xmlns:test=http://test.de;
 xmlns:testdaten=http://transport.test.de;
 xmlns:soap=http://schemas.xmlsoap.org/wsdl/soap/;
 xmlns:soapenc=http://schemas.xmlsoap.org/soap/encoding/;
 xmlns:wsdl=http://schemas.xmlsoap.org/wsdl/;
 xmlns:xsd=http://www.w3.org/2001/XMLSchema;
 wsdl:types
   xsd:schema targetNamespace=http://transport.test.de;
 xsd:complexType name=Results
   xsd:sequence
 xsd:element name=resultLines nillable=false 
minOccurs=0 maxOccurs=unbounded type=testdaten:ResultLine /
   /xsd:sequence 
 /xsd:complexType 
 xsd:complexType name=ResultLine

   xsd:sequence
 xsd:element name=hits nillable=false minOccurs=0 
maxOccurs=unbounded type=testdaten:Hit /
   /xsd:sequence 
 /xsd:complexType
 xsd:complexType name=Hit

   xsd:sequence
 xsd:element name=id nillable=false type=xsd:decimal /
 xsd:element name=isElem nillable=false 
type=xsd:boolean /
   /xsd:sequence 
 /xsd:complexType

   /xsd:schema
 /wsdl:types
 wsdl:message name=getResultsRequest
 /wsdl:message
 wsdl:message name=getResultsResponse
   wsdl:part name=outputArray type=testdaten:Results/
 /wsdl:message
 wsdl:portType name=Testservice
   wsdl:operation name=getResults
 wsdl:input message=test:getResultsRequest/
 wsdl:output message=test:getResultsResponse/
   /wsdl:operation
 /wsdl:portType
 wsdl:binding name=TestserviceSOAPBinding type=test:Testservice
   soap:binding style=rpc 
transport=http://schemas.xmlsoap.org/soap/http/

   wsdl:operation name=getResults
 wsdl:input
   soap:body use=literal/
 /wsdl:input
 wsdl:output
   soap:body use=literal/
 /wsdl:output
   /wsdl:operation
 /wsdl:binding
 wsdl:service name=Testservice
   wsdl:port binding=test:TestserviceSOAPBinding name=Testservice
 soap:address 
location=http://localhost:8889/ws/services/Testservice/

   /wsdl:port
 /wsdl:service
/wsdl:definitions

At the client side I get a SAXException:

AxisFault
faultCode: {http://schemas.xmlsoap.org/soap/envelope/}Server.userException
faultSubcode:
faultString: org.xml.sax.SAXException: Found character data inside an 
array element while deserializing

faultActor:
faultNode:
faultDetail:
   {http://xml.apache.org/axis/}stackTrace:org.xml.sax.SAXException: 
Found character data inside an array element while deserializing
   at 
org.apache.axis.encoding.ser.ArrayDeserializer.characters(ArrayDeserializer.java:502)
   at 
org.apache.axis.encoding.DeserializationContext.characters(DeserializationContext.java:966)
   at 
org.apache.axis.message.SAX2EventRecorder.replay(SAX2EventRecorder.java:177)
   at 
org.apache.axis.message.MessageElement.publishToHandler(MessageElement.java:1141)

   at org.apache.axis.message.RPCElement.deserialize(RPCElement.java:236)
   at org.apache.axis.message.RPCElement.getParams(RPCElement.java:384)
   at org.apache.axis.client.Call.invoke(Call.java:2467)
   at org.apache.axis.client.Call.invoke(Call.java:2366)
   at org.apache.axis.client.Call.invoke(Call.java:1812)
   at 
de.test.TestserviceSOAPBindingStub.getResults(TestserviceSOAPBindingStub.java:175)

   at de.test.TestClient.main(TestClient.java:18)

   {http://xml.apache.org/axis/}hostname:LAP52

org.xml.sax.SAXException: Found character data inside an array element 
while deserializing

   at org.apache.axis.AxisFault.makeFault(AxisFault.java:101)
   at org.apache.axis.client.Call.invoke(Call.java:2470)
   at org.apache.axis.client.Call.invoke(Call.java:2366)
   at org.apache.axis.client.Call.invoke(Call.java:1812)
   at 
de.test.TestserviceSOAPBindingStub.getResults(TestserviceSOAPBindingStub.java:175)

   at de.test.TestClient.main(TestClient.java:18)
Caused by: org.xml.sax.SAXException: Found character data inside an 
array element while deserializing
   at 
org.apache.axis.encoding.ser.ArrayDeserializer.characters(ArrayDeserializer.java:502)
   at 
org.apache.axis.encoding.DeserializationContext.characters(DeserializationContext.java:966)
   at 
org.apache.axis.message.SAX2EventRecorder.replay(SAX2EventRecorder.java:177)
   at 
org.apache.axis.message.MessageElement.publishToHandler(MessageElement.java:1141)

   at org.apache.axis.message.RPCElement.deserialize(RPCElement.java:236)
   at org.apache.axis.message.RPCElement.getParams(RPCElement.java:384)
   at org.apache.axis.client.Call.invoke(Call.java:2467)
   ... 4 more
Exception in thread main


Here is the genrated SOAP Response:

  soapenv:Envelope 
xmlns:soapenv=http://schemas.xmlsoap.org/soap/envelope/; 
xmlns:xsd=http://www.w3.org/2001/XMLSchema; 
xmlns:xsi=http://www.w3.org/2001/XMLSchema-instance;

 soapenv:Body

Re: wsdl2java does not generate class-files for complexTypes

2005-11-21 Thread Christian Schmitz

Hi Mark,

i generate the sources using the ant-tasks and I set the parameter 
noWrapped=true when I read about your problem. No result.
I am using rpc/literal because my Service has more than one method. Is 
it possible that the message style causes the problem?


Regards,
Christian

Griffin, Mark schrieb:


Christian,
Don't know if this will work for you, but I had a similar problem. Using
the -W option which turned off wrapped support worked for me. I was able
to then generate the classes.  Not completely sure why other than
something to do with the way axis is interpreting the wsdl.  I thought
my wsdl was docliteral wrapped but apparently axis thought otherwise.
At any rate it worked after the -W option.

markg

-Original Message-
From: Christian Schmitz [mailto:[EMAIL PROTECTED] 
Sent: Monday, November 21, 2005 4:13 AM

To: axis-user@ws.apache.org
Subject: wsdl2java does not generate class-files for complexTypes


My WSDL defines the following complexTypes in the types-defintion:

 xsd:complexType name=SearchResults
   xsd:sequence
 xsd:element name=ergebnisse nillable=false minOccurs=0 
maxOccurs=unbounded type=transporttypes:ResultLine/
   /xsd:sequence 
 /xsd:complexType 
 xsd:complexType name=ResultLine

   xsd:sequence
 xsd:element name=ergebnisse nillable=false minOccurs=0 
maxOccurs=unbounded type=xsd:decimal /
   /xsd:sequence 
 /xsd:complexType


The complexType SearchResult should be returned by my service method.

 wsdl:message name=searchResponse
   wsdl:part name=results type=myNS:SearchResults/
 /wsdl:message
...
   soap:binding style=rpc 
transport=http://schemas.xmlsoap.org/soap/http/

   wsdl:operation name=search
 wsdl:input 
   soap:body use=literal/
 /wsdl:input
 wsdl:output
   soap:body use=literal/
 /wsdl:output
   /wsdl:operation

wsdl2java does not generate the classes SearchResults an ResultLine. I 
expect that the tool should generate them. Instead of the expected, it 
generates a 2-dimensional Array as return type of my service method.


public java.math.BigDecimal[][] search(...) throws
java.rmi.RemoteException;

Is this the correct? Is it possible to configure wsdl2java to generate 
the classes?


regars,
Christian

 





Re: wsdl2java does not generate class-files for complexTypes

2005-11-21 Thread Christian Schmitz
Anne, thank you for this information. I read a lot about message styles 
and the reasons which one to use. But I didn't have any information 
about the support of other SOAP stacks yet.


Anne Thomas Manes schrieb:

Christian, I recommend that you switch to doc/literal rather than 
rpc/literal. Doc/literal certainly supports multiple methods. Then use 
the noWrapped option. Either that, or define an extra layer of 
wrapping for your response element, e.g.,:


element name=response
  complexType
sequence
  element name=return
 complexType
   sequence
 element name=ergebnisse nillable=false minOccurs=0
maxOccurs=unbounded type=transporttypes:ResultLine/
   /sequence
 /complexType
   /element
 /sequence
   /complexType
/element

...

In general, it's a bad idea to use rpc/literal because a lot of SOAP 
stacks don't support that option (e.g., .NET, SAP, BEA,...).


Anne

On 11/21/05, *Christian Schmitz* 
[EMAIL PROTECTED] 
mailto:[EMAIL PROTECTED] wrote:


Hi Mark,

i generate the sources using the ant-tasks and I set the parameter
noWrapped=true when I read about your problem. No result.
I am using rpc/literal because my Service has more than one method. Is
it possible that the message style causes the problem?

Regards,
Christian

Griffin, Mark schrieb:

Christian,
Don't know if this will work for you, but I had a similar
problem. Using
the -W option which turned off wrapped support worked for me. I
was able
to then generate the classes.  Not completely sure why other than
something to do with the way axis is interpreting the wsdl.  I
thought
my wsdl was docliteral wrapped but apparently axis thought otherwise.
At any rate it worked after the -W option.

markg

-Original Message-
From: Christian Schmitz [mailto:
[EMAIL PROTECTED]
mailto:[EMAIL PROTECTED]]
Sent: Monday, November 21, 2005 4:13 AM
To: axis-user@ws.apache.org mailto:axis-user@ws.apache.org
Subject: wsdl2java does not generate class-files for complexTypes


My WSDL defines the following complexTypes in the types-defintion:

  xsd:complexType name=SearchResults
xsd:sequence
  xsd:element name=ergebnisse nillable=false minOccurs=0
maxOccurs=unbounded type=transporttypes:ResultLine/
/xsd:sequence
  /xsd:complexType
  xsd:complexType name=ResultLine
xsd:sequence
  xsd:element name=ergebnisse nillable=false minOccurs=0
maxOccurs=unbounded type=xsd:decimal /
/xsd:sequence
  /xsd:complexType

The complexType SearchResult should be returned by my service
method.

  wsdl:message name=searchResponse
wsdl:part name=results type=myNS:SearchResults/
  /wsdl:message
...
soap:binding style=rpc
transport=http://schemas.xmlsoap.org/soap/http/
http://schemas.xmlsoap.org/soap/http%22/
wsdl:operation name=search
  wsdl:input 
soap:body use=literal/
  /wsdl:input
  wsdl:output
soap:body use=literal/
  /wsdl:output
/wsdl:operation

wsdl2java does not generate the classes SearchResults an
ResultLine. I
expect that the tool should generate them. Instead of the
expected, it
generates a 2-dimensional Array as return type of my service method.

public java.math.BigDecimal[][] search(...) throws
java.rmi.RemoteException;

Is this the correct? Is it possible to configure wsdl2java to
generate
the classes?

regars,
Christian








--


Besuchen Sie unsere kostenlose Veranstaltung
Effizientes Prozess- und IT-Management -
Die Verbindung von ARIS mit IT-Infrastrukturen
am 24.11.2005 in Köln. Anmeldungen unter
http://www.opitz-consulting.de

OPITZ CONSULTING Gummersbach GmbH
Christian Schmitz -  Dipl.-Wirtschaftsinformatiker (FH)
Kirchstr. 6 - D-51647 Gummersbach
Telefon (Fax): +49 2261 6001-0 (-1139) - Mobil: +49 170 5545138
http://www.opitz-consulting.de





Re: Problem with WSDL2Java?

2005-11-21 Thread Christian Schmitz

Hi Tim,

I think my problem discussed on the title wsdl2java does not generate 
class-files for complexTypes seems to be the same as yours. Try the 
--wrapArrays (-w) option when generating the sources.


Regards,
Christian

Tim R J Langford schrieb:


Hello All,

I am upgrading some SOAP clients from Axis 1.2 to Axis 1.3 Final. One 
of them upgraded with little effort,  just some changes to the code 
that processed the new bean convention style generate by WSDL2Java. 
The other project  is proving very troublesome however.


#1 : Firstly the schema beans appear NOT to generate properly. For 
example the following Schema section :



 s:complexType name=RoomStayCandidateType
   s:sequence
 s:element minOccurs=0 maxOccurs=1 name=GuestCounts 
type=s1:GuestCountType /
 s:element minOccurs=0 maxOccurs=unbounded 
name=RoomAmenity type=s1:RoomAmenityPrefType /

   /s:sequence
   s:attribute name=RoomType type=s:string /
   s:attribute name=RoomTypeCode type=s:string /
   s:attribute name=Quantity type=s:positiveInteger /
   s:attribute name=Composite type=s:boolean /
 /s:complexType
 s:complexType name=GuestCountType
   s:sequence
 s:element minOccurs=0 maxOccurs=unbounded 
name=GuestCount type=s1:GuestCountTypeGuestCount /

   /s:sequence
   s:attribute name=IsPerRoom type=s:boolean /
 /s:complexType
 s:complexType name=GuestCountTypeGuestCount
   s:attribute name=AgeQualifyingCode type=s:string /
   s:attribute name=Age type=s:nonNegativeInteger /
   s:attribute name=Count type=s:positiveInteger /
 /s:complexType


But here WSDL2Java enerates a RoomStayCandidateType object that 
contains an array of GuestCountTypeGuestCount objects as a member. 
It does not generate a GuestCountType at all. This of course breaks 
the service. The old version of WSDL2Java generated all these classes 
as was to be expected, and only messed up setting the action type on 
one of the services (whihc was easilly fixed with a code post 
processor). I assume this is a bug. The schema seems valid to me.



#2 : Another problem occured in the generated source where a 
constructor was created thats calls Object.super() as follows...


public class VendorMessageType  implements java.io.Serializable {
   private java.lang.String infoType;  // attribute

   private 
org.opentravel.www.OTA._2003._05.FormattedTextSubSectionTypeParagraph[][] 
formattedTextType;  // attribute


   public VendorMessageType() {
   }

   public VendorMessageType(
  
org.opentravel.www.OTA._2003._05.FormattedTextSubSectionTypeParagraph[][] 
param1,

  java.lang.String Title,
  org.apache.axis.types.Language Language,
  java.lang.String infoType) {
   super(
   param1,
   Title);
   this.Language = Language;
   this.infoType = infoType;
   }

...
etc
...

}

???


When I searched the mailing list I noticed a few possibly similar 
questions to this, but no reponse I could act on. Is there any 
possibility of fixing these problems? If not is there any method of 
fixing/altering the generated source form the old version of Axis 
WSDL2Java to work with new 1.3 library? For example could I code to 
the correctly generated old 1.1 SOAP beans to get them to work with 1.3?


Thanks very much for your help and time! This has become a real show 
stopper, and I got deadlines and a crazy boss!


Tim





--


Besuchen Sie unsere kostenlose Veranstaltung
Effizientes Prozess- und IT-Management -
Die Verbindung von ARIS mit IT-Infrastrukturen
am 24.11.2005 in Köln. Anmeldungen unter
http://www.opitz-consulting.de

OPITZ CONSULTING Gummersbach GmbH
Christian Schmitz -  Dipl.-Wirtschaftsinformatiker (FH)
Kirchstr. 6 - D-51647 Gummersbach
Telefon (Fax): +49 2261 6001-0 (-1139) - Mobil: +49 170 5545138
http://www.opitz-consulting.de





sendXsiTypes does not work with xsd:types

2005-11-16 Thread Christian Schmitz

Hello,

the parameter sendXsiTypes in the AXIS configuration says that the type 
of every value will be sent over the wire. If I have an element with a 
Soapencoding Type in my Type-Definition, I can see that the xsi:type is 
send in every SOAP message


xsd:element name=testElem nillable=false  type=soapenc:string /
sends something like this: testElem xsi:type=xsd:stringtest/testElem

But it will not be send if my element type is set to a xsd:string

xsd:element name=isLeerwertsuche nillable=false  type=xsd:string /
sends something like this: testElemtest/testElem

Is this correct? I expected to get the xsi:type in the last case, too.

Regards,
Christian Schmitz