Compilation runs fine using Axis from 12-Mar-2002, but using the latest versions, wsdl2java doesn't generate a holder class for an output parameter, but still tries to use it in the SoapBindingImpl class, which results in a compilation error.
The files I'm using are included below. Many thanks, Nuno Guerreiro --------------------------------------------------- activation.wsdl --------------------------------------------------- <?xml version="1.0" encoding="UTF-8"?> <definitions targetNamespace="http://www.cidadebcp.pt/webservices/services/cidadebcp-activate" xmlns="http://schemas.xmlsoap.org/wsdl/" xmlns:SOAP-ENC="http://schemas.xmlsoap.org/soap/encoding/" xmlns:impl="http://www.cidadebcp.pt/webservices/services/cidadebcp-activate-impl" xmlns:intf="http://www.cidadebcp.pt/webservices/services/cidadebcp-activate" xmlns:tns0="http://www.cidadebcp.pt/webservices/schemas/types" xmlns:tns1="http://www.cidadebcp.pt/webservices/schemas/activation" xmlns:wsdl="http://schemas.xmlsoap.org/wsdl/" xmlns:wsdlsoap="http://schemas.xmlsoap.org/wsdl/soap/" xmlns:xsd="http://www.w3.org/2001/XMLSchema"> <import namespace="http://www.cidadebcp.pt/webservices/activation" location="schemas/Activation.xsd"/> <message name="activateResponse"> <part name="outputContext" element="tns0:outputContext"/> <part name="activationOutput" element="tns1:activationOutput"/> </message> <message name="activateRequest"> <part name="activationInput" element="tns1:activationInput"/> <part name="inputContext" element="tns0:inputContext"/> </message> <portType name="ActivateService"> <operation name="activate" parameterOrder="activationInput inputContext"> <input message="intf:activateRequest"/> <output message="intf:activateResponse"/> </operation> </portType> <binding name="cidadebcp-activateSoapBinding" type="intf:ActivateService"> <wsdlsoap:binding style="rpc" transport="http://schemas.xmlsoap.org/soap/http"/> <operation name="activate"> <wsdlsoap:operation soapAction="" style="rpc"/> <input> <wsdlsoap:body encodingStyle="http://schemas.xmlsoap.org/soap/encoding/" namespace="http://www.cidadebcp.pt/webservices/services/cidadebcp-activate" use="encoded"/> </input> <output> <wsdlsoap:body encodingStyle="http://schemas.xmlsoap.org/soap/encoding/" namespace="http://www.cidadebcp.pt/webservices/services/cidadebcp-activate" use="encoded"/> </output> </operation> </binding> <service name="cidadebcp-activate"> <port binding="intf:cidadebcp-activateSoapBinding" name="cidadebcp-activate"> <wsdlsoap:address location="http://localhost:8080/axis/services/cidadebcp-activate"/> </port> </service> </definitions> --------------------------------------------------- activation.xsd --------------------------------------------------- <?xml version="1.0" encoding="UTF-8"?> <!-- edited with XML Spy v4.3 U (http://www.xmlspy.com) by Cidadebcp (IT-CidadeBCP) --> <xs:schema targetNamespace="http://www.cidadebcp.pt/webservices/schemas/activation" xmlns:typ="http://www.cidadebcp.pt/webservices/schemas/types" xmlns="http://www.cidadebcp.pt/webservices/schemas/activation" xmlns:xs="http://www.w3.org/2001/XMLSchema"> <xs:import namespace="http://www.cidadebcp.pt/webservices/schemas/types" schemaLocation="Types.xsd"/> <xs:element name="activationInput"> <xs:complexType> <xs:all> <xs:element name="username" type="typ:UsernameType"/> <xs:element name="password" type="typ:PasswordType"/> </xs:all> </xs:complexType> </xs:element> <xs:element name="activationOutput"> <xs:complexType> <xs:sequence> <xs:element name="message" type="xs:string"/> </xs:sequence> </xs:complexType> </xs:element> <xs:element name="activate"> <xs:complexType> <xs:sequence> <xs:element ref="activationInput"/> </xs:sequence> </xs:complexType> </xs:element> <xs:element name="activateResponse"> <xs:complexType> <xs:sequence> <xs:element ref="activationOutput"/> </xs:sequence> </xs:complexType> </xs:element> </xs:schema> --------------------------------------------------- Types.xsd --------------------------------------------------- <?xml version="1.0" encoding="UTF-8"?> <!-- edited with XML Spy v4.2 U (http://www.xmlspy.com) by Nasdaq Boom (World of Cracking) --> <xs:schema targetNamespace="http://www.cidadebcp.pt/webservices/schemas/types" xmlns="http://www.cidadebcp.pt/webservices/schemas/types" xmlns:xs="http://www.w3.org/2001/XMLSchema"> <xs:complexType name="InputContextType"> <xs:annotation> <xs:documentation>Generic information used in every service input</xs:documentation> </xs:annotation> <xs:sequence> <xs:element name="channel" type="ChannelType"> <xs:annotation> <xs:documentation>channel name, e.g. WAP</xs:documentation> </xs:annotation> </xs:element> <xs:element name="device" type="DeviceType" minOccurs="0"> <xs:annotation> <xs:documentation>physical device properties</xs:documentation> </xs:annotation> </xs:element> <xs:element name="source" type="xs:string" minOccurs="0"> <xs:annotation> <xs:documentation>entity where request took place, e.g. ONIWAY</xs:documentation> </xs:annotation> </xs:element> <xs:element name="deferExecution" type="xs:boolean" minOccurs="0"> <xs:annotation> <xs:documentation>If true, prepares the current transaction for future execution (Store And Forward mechanism)</xs:documentation> </xs:annotation> </xs:element> <xs:element name="securityCodeValues" minOccurs="0"> <xs:annotation> <xs:documentation>3 values corresponding to the requested 3 random positions</xs:documentation> </xs:annotation> <xs:complexType> <xs:sequence> <xs:element name="positionValue" type="xs:byte" minOccurs="3" maxOccurs="3"/> </xs:sequence> </xs:complexType> </xs:element> </xs:sequence> </xs:complexType> <xs:complexType name="OutputContextType"> <xs:annotation> <xs:documentation>Generic information used in every service output</xs:documentation> </xs:annotation> <xs:sequence> <xs:element name="session" type="xs:string" minOccurs="0"/> <xs:element name="metadata" minOccurs="0"> <xs:annotation> <xs:documentation>General information about the data being returned</xs:documentation> </xs:annotation> <xs:complexType> <xs:attribute name="source" type="MetadataSourceType" use="optional"/> <xs:attribute name="status" type="MetadataStatusType" use="optional"/> <xs:attribute name="date" type="xs:dateTime" use="optional"> <xs:annotation> <xs:documentation>Corresponds to actual time if data was obtained online, otherwise it corresponds to the time when data was last saved in source</xs:documentation> </xs:annotation> </xs:attribute> </xs:complexType> </xs:element> <xs:element name="securityCodePositions" minOccurs="0"> <xs:annotation> <xs:documentation>3 random positions from a securitycode</xs:documentation> </xs:annotation> <xs:complexType> <xs:sequence> <xs:element name="position" type="xs:byte" minOccurs="3" maxOccurs="3"/> </xs:sequence> </xs:complexType> </xs:element> <xs:element name="observations" type="xs:string" minOccurs="0"/> </xs:sequence> </xs:complexType> <xs:simpleType name="ChannelType"> <xs:restriction base="xs:string"> <xs:enumeration value="SMS"/> <xs:enumeration value="WAP"/> <xs:enumeration value="WEB"/> </xs:restriction> </xs:simpleType> <xs:complexType name="DeviceType"> <xs:attribute name="id" type="xs:string" use="required"> <xs:annotation> <xs:documentation>unique device identification, e.g. mobile number</xs:documentation> </xs:annotation> </xs:attribute> </xs:complexType> <xs:element name="inputContext" type="InputContextType"/> <xs:element name="outputContext" type="OutputContextType"/> <xs:simpleType name="CodePositionType"> <xs:restriction base="xs:byte"> <xs:minInclusive value="1"/> <xs:maxInclusive value="7"/> </xs:restriction> </xs:simpleType> <xs:simpleType name="CodeValueType"> <xs:restriction base="xs:byte"> <xs:minInclusive value="0"/> <xs:maxInclusive value="9"/> </xs:restriction> </xs:simpleType> <xs:simpleType name="MetadataSourceType"> <xs:annotation> <xs:documentation>The place in which data originated, e.g. Mainframe</xs:documentation> </xs:annotation> <xs:restriction base="xs:string"> <xs:enumeration value="Mainframe"/> <xs:enumeration value="Contingency Database"/> </xs:restriction> </xs:simpleType> <xs:simpleType name="MetadataStatusType"> <xs:annotation> <xs:documentation>The mainframe status when this transaction was processed (online/offline)</xs:documentation> </xs:annotation> <xs:restriction base="xs:string"> <xs:enumeration value="online"/> <xs:enumeration value="offline"/> </xs:restriction> </xs:simpleType> <xs:simpleType name="AccountIndexType"> <xs:restriction base="xs:byte"> <xs:minInclusive value="1"/> </xs:restriction> </xs:simpleType> <xs:complexType name="AccountBalanceType"> <xs:sequence> <xs:element name="money" type="MoneyType"/> </xs:sequence> <xs:attribute name="kind" type="BalanceKindType" use="required"/> </xs:complexType> <xs:simpleType name="CurrencyType"> <xs:restriction base="xs:string"> <xs:length value="3"/> </xs:restriction> </xs:simpleType> <xs:simpleType name="NetworkAliasType"> <xs:restriction base="xs:string"> <xs:enumeration value="NR"/> <xs:enumeration value="BPA"/> <xs:enumeration value="SM"/> <xs:enumeration value="PART"/> <xs:enumeration value="EA"/> <xs:enumeration value="RS"/> <xs:enumeration value="BCPPB"/> <xs:enumeration value="BPAPB"/> <xs:enumeration value="OFMAD"/> <xs:enumeration value="BPAOV"/> <xs:enumeration value="SR"/> </xs:restriction> </xs:simpleType> <xs:simpleType name="AccountNumberType"> <xs:restriction base="xs:long"> <xs:minInclusive value="1"/> </xs:restriction> </xs:simpleType> <xs:simpleType name="UsernameType"> <xs:restriction base="xs:string"> <xs:minLength value="6"/> <xs:maxLength value="10"/> </xs:restriction> </xs:simpleType> <xs:simpleType name="PasswordType"> <xs:restriction base="xs:string"> <xs:minLength value="6"/> <xs:maxLength value="8"/> </xs:restriction> </xs:simpleType> <xs:simpleType name="NetworkNameType"> <xs:restriction base="xs:string"/> </xs:simpleType> <xs:complexType name="MoneyType"> <xs:attribute name="amount" type="AmountType" use="required"/> <xs:attribute name="currency" type="CurrencyType" use="required"/> </xs:complexType> <xs:simpleType name="AmountType"> <xs:restriction base="xs:double"/> </xs:simpleType> <xs:simpleType name="FiscalNumberType"> <xs:restriction base="xs:int"/> </xs:simpleType> <xs:simpleType name="BalanceKindType"> <xs:restriction base="xs:string"> <xs:enumeration value="ledger"/> <xs:enumeration value="available"/> </xs:restriction> </xs:simpleType> <xs:simpleType name="NIBType"> <xs:restriction base="xs:string"> <xs:length value="21"/> </xs:restriction> </xs:simpleType> <xs:complexType name="DDAccountType"> <xs:choice> <xs:element name="accountIndex" type="AccountIndexType"/> <xs:element name="account" type="AccountType"/> </xs:choice> </xs:complexType> <xs:simpleType name="CardKindType"> <xs:restriction base="xs:string"/> </xs:simpleType> <xs:complexType name="AccountType"> <xs:attribute name="number" type="AccountNumberType" use="required"/> <xs:attribute name="networkAlias" type="NetworkAliasType" use="optional"/> </xs:complexType> <xs:simpleType name="BourseOperationType"> <xs:restriction base="xs:string"/> </xs:simpleType> <xs:simpleType name="EntityType"> <xs:restriction base="xs:string"> <xs:length value="5"/> </xs:restriction> </xs:simpleType> <xs:simpleType name="ReferenceType"> <xs:restriction base="xs:string"> <xs:length value="9"/> </xs:restriction> </xs:simpleType> <xs:complexType name="NetworkType"> <xs:attribute name="alias" type="NetworkAliasType" use="required"/> <xs:attribute name="name" type="NetworkNameType" use="required"/> </xs:complexType> <xs:simpleType name="CompanyType"> <xs:restriction base="xs:byte"/> </xs:simpleType> <xs:simpleType name="CisType"> <xs:restriction base="xs:int"> <xs:minInclusive value="0"/> </xs:restriction> </xs:simpleType> <xs:simpleType name="ConfirmationCodeType"> <xs:restriction base="xs:int"> <xs:totalDigits value="7"/> <xs:minInclusive value="0"/> </xs:restriction> </xs:simpleType> <xs:element name="error"> <xs:complexType> <xs:sequence> <xs:element name="userMsg" type="xs:string"/> <xs:element name="systemMsg" type="xs:string"/> </xs:sequence> </xs:complexType> </xs:element> </xs:schema> __________________________________________________ Do You Yahoo!? Yahoo! Movies - coverage of the 74th Academy Awards® http://movies.yahoo.com/