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]