Amila Suriarachchi wrote on 11.12.2009 07:34:
use -g option to generate inherited classes.

to other problem it seems to be a bug with Axis2. so either
1. try without -uw option
2. try with a build from the current trunk.

Thanks, that did the trick. I think the help text for the -g switch is a bit misleading:
"Generates all the classes. Valid only with -ss."
I thought it is only required when creating server side classes.

For the problem with the syntax errors the "-uw" switch was to blame. Without unwrapping it works. Is that a bug?

I will try axis2 from trunk later, as unwrapping is quite comfortable :-)

Thanks and best regards,
Jens


thanks,
Amila.


On Thu, Dec 10, 2009 at 8:21 PM, Jens Rutschmann
<jens.rutschm...@gmx.info>wrote:

Hi all,

currently I'm trying to generate a client stub for this WSDL:

https://hosted.datascopeapi.reuters.com/datascopeapi/v1/extractionservice.asmx?wsdl

The SOAP 1.2 Binding in this WSDL seems to contain a few errors, so I
removed it and the respective port before calling wsdl2java. The WSDL still
contains a valid SOAP 1.1 binding as well as a port using it.

I'm using axis2 1.5.1 and use the following command line:

jens:~/tmpfs> /home/jens/tools/axis2-1.5.1/bin/wsdl2java.sh -uw -u -uri
extractionservice.wsdl
 Using AXIS2_HOME:   /home/jens/tools/axis2-1.5.1
 Using JAVA_HOME:       /home/jens/.gentoo/java-config-2/current-user-vm
Retrieving document at 'extractionservice.wsdl'.
[WARN] Type {
http://reuters.com/datascopeselect/ExtractionService/v1/}anyType<http://reuters.com/datascopeselect/ExtractionService/v1/%7DanyType>missing!
jens:~/tmpfs>


After that there are only classes for the abstract types, but not for the
complex types inheriting from the abstract types.

Example (from the WSDL, lines 680-695):
     <s:complexType name="InstrumentSearchRequest" abstract="true">
       <s:sequence>
         <s:element minOccurs="0" maxOccurs="1"
name="PreferredIdentifierType" type="s:string" />
       </s:sequence>
     </s:complexType>
     <s:complexType name="InstrumentSearchRequestAll">
       <s:complexContent mixed="false">
         <s:extension base="tns:InstrumentSearchRequest">
           <s:sequence>
             <s:element minOccurs="0" maxOccurs="1"
name="IdentifierSearchValue" type="s:string" />
             <s:element minOccurs="0" maxOccurs="1" name="IdentifierType"
type="s:string" />
             <s:element minOccurs="0" maxOccurs="1" name="InstrumentTypes"
type="tns:ArrayOfString" />
           </s:sequence>
         </s:extension>
       </s:complexContent>
     </s:complexType>

wsdl2java only generated a class for InstrumentSearchRequest but not for
InstrumentSearchRequestAll.

Furthermore the generated stub interface contains errors:
(ExtractionService.java, lines 29-32)

                    public
com.reuters.datascopeselect.extractionservice.v1.ArrayOfValueInfo
getInstrumentTypes(


,com.reuters.datascopeselect.extractionservice.v1.CredentialsHeaderE
credentialsHeader44)
                       throws java.rmi.RemoteException

Obviously that won't compile.


Is there anything i can do to create a functional client stub for that
service using axis2 ?

Thanks a lot in advance,
Jens





Reply via email to