You are viewing a plain text version of this content. The canonical link for it is here.
Posted to java-dev@axis.apache.org by bu...@apache.org on 2003/09/26 16:29:24 UTC

DO NOT REPLY [Bug 19783] - axis-java2wsdl ant task produces incorrect wsdl when javax.xml.rpc.holder classes are present as parameters

DO NOT REPLY TO THIS EMAIL, BUT PLEASE POST YOUR BUG 
RELATED COMMENTS THROUGH THE WEB INTERFACE AVAILABLE AT
<http://nagoya.apache.org/bugzilla/show_bug.cgi?id=19783>.
ANY REPLY MADE TO THIS MESSAGE WILL NOT BE COLLECTED AND 
INSERTED IN THE BUG DATABASE.

http://nagoya.apache.org/bugzilla/show_bug.cgi?id=19783

axis-java2wsdl ant task produces incorrect wsdl when javax.xml.rpc.holder classes are present as parameters





------- Additional Comments From epritcha@wiley.co.uk  2003-09-26 14:29 -------
I'm getting exactly the same in Axis 1.1; the Ant task <axis-java2wsdl> seems to
be broken but the command line version is not:

package com.wiley.wispers.service.dr;
public interface DRService extends java.rmi.Remote {

    public void test(javax.xml.rpc.holders.StringHolder xxxxxxx) throws java.rm\
i.RemoteException;
}

>From Ant <axis-java2wsdl> I get:
[axis-java2wsdl] - The class javax.xml.rpc.holders.StringHolder is defined in a
java or javax package and cannot be converted into an xml schema type.  An xml
schema anyType will be used to define this class in the wsdl file.

The task is run as:
    <axis-java2wsdl classname="com.wiley.wispers.service.dr.DRService"
                    implclass="com.wiley.wispers.service.dr.DRServiceImpl"
                     location="http://${axis.host}:${axis.port}/axis/services/W\
isServices/DR"
                    namespace="http://wiley.com/wispers/service/dr"
              serviceportname="WisServices/DR"
                       output="${build.dir}/${app.name}/wsdl/DR.wsdl">
      <classpath>
        <pathelement location="${build.dir}/${app.name}/classes"/>
        <pathelement location="${wispers-idl.classpath}" />
        <pathelement location="${wispers-repositories.classpath}" />
        <fileset refid="axis.classpath"/>
      </classpath>
   </axis-java2wsdl>

Where axis.classpath is axis-1_1/lib.

However, if I run from the command line with:

/usr/java1.3/bin/java -classpath
"/wispers/opt/xerces2/xmlParserAPIs.jar:/wispers/opt/xerces2/xercesImpl.jar:$AXIS_HOME/lib/commons-logging.jar:$AXIS_HOME/lib/commons-discovery.jar:$AXIS_HOME/lib/axis.jar:$AXIS_HOME/lib/saaj.jar:$AXIS_HOME/lib/jaxrpc.jar:$AXIS_HOME/lib/wsdl4j.jar:/wispers/home/ellis/Projects/distrib/install/classes/WISPERS1.4_IDL.jar:/wispers/home/ellis/Projects/distrib/install/classes/WISPERS1.4_Repositories.jar:/wispers/home/ellis/Projects/WISPERS1.4/WisServices/build/WisServices/classes"
org.apache.axis.wsdl.Java2WSDL --implClass
"com.wiley.wispers.service.dr.DRServiceImpl" --location
"http://development2.wiley.co.uk:41500/axis/services/WisServices/DR" --namespace
"http://wiley.com/wispers/service/dr" --servicePortName "WisServices/DR"
--output "./build/WisServices/wsdl/DR.wsdl" "com.wiley.wispers.service.dr.DRService"

It runs fine and generates the expected WSDL.

Same effect with both JDK1.3 and JDK1.4 (with additional java.endorsed.dirs).


Workaround: Use <java> task in Ant to run org.apache.axis.wsdl.Java2WSDL, rather
than <axis-java2wsdl>.