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/

Reply via email to