Hi,

 

Below are some issues for which I need help. 

 

In my project I am trying to use Axis. But while performing the task for 
java2wsdl or wsdl2java I am facing the below issues.

 

1) In the webservices development I am using the Java Interfaces as

            a) Return type as Interface instead of returning the concrete class 
type.

            b) Method argument as Java Interface type.

            c) In the service implementation also Java Interfaces are used.

While running “Java2wsdl” ant task receiving the warning message as “- 
[axis-java2wsdl]- The class <Interface Name>  does not contain a default 
constructor, which is a requirement for a bean class.  The class cannot be 
converted into an xml schema type.  An xml schema anyType will be used to 
define this class in the wsdl file.

 

2) If we ignore the above mentioned warning then while running “wsdl2java” task 
returning the error message as 

java.io.IOException: Type {http://<url>}<Interface Name> is referenced but not 
defined.

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

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

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

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

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

 

How to fix this issue. We have tried to fix this issue as : instead of 
returning the Java Interface reference returning the reference of the object 
which is implementing the interface. The issue get resolved . Do we have any 
other way to resolve the issue.

 

3) Ant targets are as below:

For java2wsdl

 

<axis-java2wsdl classpathref="java2wsdl.classpath"

            output="<Complete location to store generated wsdl file >"

           location="${_axis.pkg_prefix}/axis/services/<webservice name>"

           namespace="${_axis.url_prefix}"

           classname="<service class name>"

           implclass="<Base class of the webservice class>"

           exclude="<List of excluded methods>">

            <mapping namespace="<namespace name>" package="<webservice package 
name>"/>

</axis-java2wsdl>

 

And wsdl2java  as

 

   <axis-wsdl2java url="<webservice wsdl file>"

                       output="<Location weher want to copy the service 
classes>"

                       deployscope="application"

                       serverSide="yes"

                      

                       />

4) In project we have also developed the Exception classes in which one of the 
data members is of type “Throwable” and there are corresponding setter and 
getter methods for that data member. While converting for “Java2Wsdl” for 
“Throwable” also it is giving the warning message as

 

[axis-java2wsdl] - The class java.lang.Throwable is defined in a java or javax 
package and cannot be converted into an xml schematype.  An xml schema anyType 
will be used to define this class in the wsdl file.

 

If this warning message is ignore and run “wsdl2java” then in the generated 
file for “Throwable” object type it is considering the data type as 
“java.lang.Object”.

 

Same warning occurs for the class “Class”.

 

5) There are certain classes present in the project in which default 
constructor is not there  but the overloaded(argumented) constructors are there 
but they are defined as “private” and the objects are created in the same class 
with those overloaded constructors. If we add the default constructor in those 
classes to get the rid from the warning message receiving from “java2wsdl”  
then that will be like violating the security by adding the public constructor 
in that. 

 

6) deploy.wsdd and undeploy.wsdd is being generated for each Wsdl file from 
“wsdl2java” task. Since  I am having multiple wsdl files in the project so if I 
run wsdl2java for all the wsdl files simultaneously then in deploy.wsdd the 
service entry is being available of the service from the last wsdl file only. 
So how to generate independent deploy.wsdd and undeploy.wsdd for each 
webservice instead of creating only one. Is there any way to create separate 
“<servicename>-deploy.wsdd” and “<servicename>-undeploy.wsdd” for each wsdl 
file.

 

 

7) We have written one test web service and putting that file as “Test.jws”  
under “Axis.war” because of thet wsdl’s will be generated dynamically but then 
that will be the performance issue.  Instead of that if we generate the wsdl’s 
first , then whether the Axis will recognize those and where to keep those wsdl 
files under Axis.war for Axis  reference.

 

8) For deploying those webservices in Weblogic and websphere created through 
Axis do we need to do any extra settings?

 

9) If the Axis.war file will be kept inside one of the  applications ear file, 
in the Axis.war file only Axis related jar files are kept and the actual wsdl 
files and the webservices classes are kept in some other jar which is being 
kept at some other location then whether axis will recognize that. What the 
extra settings needs to be done for this.

10) If the static variables are declared in the class whether those variables 
will be available in the class generated from "wsdl2java".

11) How to exclude the methods from webservice using ant task "axis-java2wsdl"

 

 

Thanks and Regards,

Pradnya

 



      
____________________________________________________________________________________
Be a better friend, newshound, and 
know-it-all with Yahoo! Mobile.  Try it now.  
http://mobile.yahoo.com/;_ylt=Ahu06i62sR8HDtDypao8Wcj9tAcJ

---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]

Reply via email to