Hi,
I get the following error while parsing my wsdl with wsdl2java of axis2,
with wsdl2 java of axis1 this will work fine...
Exception in thread "main"
org.apache.axis2.wsdl.codegen.CodeGenerationException:
java.lang.RuntimeException: java.lang.reflect.InvocationTargetException
at
org.apache.axis2.wsdl.codegen.CodeGenerationEngine.generate(CodeGenerationEngine.java:271)
at org.apache.axis2.wsdl.WSDL2Code.main(WSDL2Code.java:35)
at org.apache.axis2.wsdl.WSDL2Java.main(WSDL2Java.java:24)
Caused by: java.lang.RuntimeException:
java.lang.reflect.InvocationTargetException
at
org.apache.axis2.wsdl.codegen.extension.SimpleDBExtension.engage(SimpleDBExtension.java:53)
at
org.apache.axis2.wsdl.codegen.CodeGenerationEngine.generate(CodeGenerationEngine.java:224)
... 2 more
Caused by: java.lang.reflect.InvocationTargetException
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at
sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
at
sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
at java.lang.reflect.Method.invoke(Method.java:585)
at
org.apache.axis2.wsdl.codegen.extension.SimpleDBExtension.engage(SimpleDBExtension.java:50)
... 3 more
Caused by: org.apache.axis2.schema.SchemaCompilationException: can not
find type {http://schemas.xmlsoap.org/soap/encoding/}Array from the
parent schema urn:DMdeliverySoapAPI
at
org.apache.axis2.schema.SchemaCompiler.copyMetaInfoHierarchy(SchemaCompiler.java:1296)
at
org.apache.axis2.schema.SchemaCompiler.processComplexContent(SchemaCompiler.java:1258)
at
org.apache.axis2.schema.SchemaCompiler.processContentModel(SchemaCompiler.java:1153)
at
org.apache.axis2.schema.SchemaCompiler.processComplexType(SchemaCompiler.java:1097)
at
org.apache.axis2.schema.SchemaCompiler.processNamedComplexSchemaType(SchemaCompiler.java:1017)
at
org.apache.axis2.schema.SchemaCompiler.processSchema(SchemaCompiler.java:931)
at
org.apache.axis2.schema.SchemaCompiler.processElement(SchemaCompiler.java:592)
at
org.apache.axis2.schema.SchemaCompiler.processElement(SchemaCompiler.java:552)
at
org.apache.axis2.schema.SchemaCompiler.process(SchemaCompiler.java:1991)
at
org.apache.axis2.schema.SchemaCompiler.processParticle(SchemaCompiler.java:1874)
at
org.apache.axis2.schema.SchemaCompiler.processComplexType(SchemaCompiler.java:1081)
at
org.apache.axis2.schema.SchemaCompiler.processAnonymousComplexSchemaType(SchemaCompiler.java:980)
at
org.apache.axis2.schema.SchemaCompiler.processSchema(SchemaCompiler.java:934)
at
org.apache.axis2.schema.SchemaCompiler.processElement(SchemaCompiler.java:592)
at
org.apache.axis2.schema.SchemaCompiler.processElement(SchemaCompiler.java:563)
at
org.apache.axis2.schema.SchemaCompiler.compile(SchemaCompiler.java:370)
at
org.apache.axis2.schema.SchemaCompiler.compile(SchemaCompiler.java:280)
at
org.apache.axis2.schema.ExtensionUtility.invoke(ExtensionUtility.java:103)
Any ideas? In attach my wsdl.
Regards,
Sander
<?xml version="1.0"?>
<wsdl:definitions xmlns:typens="urn:DMdeliverySoapAPI" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:soap="http://schemas.xmlsoap.org/wsdl/soap/" xmlns:soapenc="http://schemas.xmlsoap.org/soap/encoding/" xmlns:wsdl="http://schemas.xmlsoap.org/wsdl/" xmlns="http://schemas.xmlsoap.org/wsdl/" name="DMdeliverySoapAPI" targetNamespace="urn:DMdeliverySoapAPI">
<wsdl:types>
<xsd:schema xmlns="http://www.w3.org/2001/XMLSchema" targetNamespace="urn:DMdeliverySoapAPI">
<xsd:complexType name="ArrayOfIntType">
<xsd:annotation>
<xsd:documentation>This datatype represents an array of integers.</xsd:documentation>
</xsd:annotation>
<xsd:complexContent>
<xsd:restriction base="soapenc:Array">
<xsd:attribute ref="soapenc:arrayType" wsdl:arrayType="xsd:int[]"/>
</xsd:restriction>
</xsd:complexContent>
</xsd:complexType>
<xsd:complexType name="ArrayOfStringType">
<xsd:annotation>
<xsd:documentation>This datatype represents an array of strings.</xsd:documentation>
</xsd:annotation>
<xsd:complexContent>
<xsd:restriction base="soapenc:Array">
<xsd:attribute ref="soapenc:arrayType" wsdl:arrayType="xsd:string[]"/>
</xsd:restriction>
</xsd:complexContent>
</xsd:complexType>
<xsd:complexType name="DMdeliveryLoginType">
<xsd:annotation>
<xsd:documentation>This (input)datatype represents a DMdelivery login, an object containing a username and a password.</xsd:documentation>
</xsd:annotation>
<xsd:sequence>
<xsd:element name="username" type="xsd:string" minOccurs="1">
<xsd:annotation>
<xsd:documentation>The username to login with. Must be an existing user for this DMdelivery server. minLength=1, maxLength=24.</xsd:documentation>
</xsd:annotation>
</xsd:element>
<xsd:element name="password" type="xsd:string" minOccurs="1">
<xsd:annotation>
<xsd:documentation>The password to login with. minLength=1, maxLength=24.</xsd:documentation>
</xsd:annotation>
</xsd:element>
</xsd:sequence>
</xsd:complexType>
<xsd:complexType name="RecordResultType">
<xsd:annotation>
<xsd:documentation>This (return)datatype is used as a return value for adding a new record (for example: group or recipient) to DMdelivery.</xsd:documentation>
</xsd:annotation>
<xsd:sequence>
<xsd:element name="status" type="xsd:string" minOccurs="1">
<xsd:annotation>
<xsd:documentation>Either 'OK' (record added successfully), 'DUPLICATE' (duplicate record) or 'ERROR' (an error occured).</xsd:documentation>
</xsd:annotation>
</xsd:element>
<xsd:element name="statusMsg" type="xsd:string" minOccurs="0">
<xsd:annotation>
<xsd:documentation>Only available when status = 'ERROR'. Contains the error message.</xsd:documentation>
</xsd:annotation>
</xsd:element>
<xsd:element name="id" type="xsd:int" minOccurs="0">
<xsd:annotation>
<xsd:documentation>Only available when status = 'OK' or 'DUPLICATE'. Contains the databaseid for the record.</xsd:documentation>
</xsd:annotation>
</xsd:element>
</xsd:sequence>
</xsd:complexType>
<xsd:complexType name="CampaignExportType">
<xsd:annotation>
<xsd:documentation>This (return)datatype is used as a return-value when exporting a single campaign.</xsd:documentation>
</xsd:annotation>
<xsd:sequence>
<xsd:element name="id" type="xsd:int" minOccurs="1">
<xsd:annotation>
<xsd:documentation>The database id of the campaign</xsd:documentation>
</xsd:annotation>
</xsd:element>
<xsd:element name="brand_id" type="xsd:int" minOccurs="0">
<xsd:annotation>
<xsd:documentation>The database id of the brand this campaign belongs to</xsd:documentation>
</xsd:annotation>
</xsd:element>
<xsd:element name="name" type="xsd:string" minOccurs="1">
<xsd:annotation>
<xsd:documentation>The name of the campaign. minLength=1, maxLength=80</xsd:documentation>
</xsd:annotation>
</xsd:element>
<xsd:element name="lang" type="xsd:string" minOccurs="1">
<xsd:annotation>
<xsd:documentation>The languages used in the campaign. Tow digit ISO codes, comma separated. Ex: nl,en. minLength=2, maxLength=80</xsd:documentation>
</xsd:annotation>
</xsd:element>
<xsd:element name="is_overall" type="xsd:boolean" minOccurs="1">
<xsd:annotation>
<xsd:documentation>Whether or not the campaign is an overall campaign</xsd:documentation>
</xsd:annotation>
</xsd:element>
<xsd:element name="is_active" type="xsd:boolean" minOccurs="1">
<xsd:annotation>
<xsd:documentation>Whether or not the campaign is an active campaign</xsd:documentation>
</xsd:annotation>
</xsd:element>
<xsd:element name="create_date" type="xsd:date" minOccurs="1">
<xsd:annotation>
<xsd:documentation>The create-date of the campaign.</xsd:documentation>
</xsd:annotation>
</xsd:element>
<xsd:element name="cleanup_date" type="xsd:date" minOccurs="1">
<xsd:annotation>
<xsd:documentation>The cleanup-date of the campaign.</xsd:documentation>
</xsd:annotation>
</xsd:element>
<xsd:element name="bouncelevel" type="xsd:int" minOccurs="1">
<xsd:annotation>
<xsd:documentation>The bouncelevel of the campaign. Either 1 or 3</xsd:documentation>
</xsd:annotation>
</xsd:element>
<xsd:element name="remarks" type="xsd:string" minOccurs="0">
<xsd:annotation>
<xsd:documentation>The remarks for the campaign. minLength=1, maxLength=65536</xsd:documentation>
</xsd:annotation>
</xsd:element>
</xsd:sequence>
</xsd:complexType>
<xsd:complexType name="CampaignExportArrayType">
<xsd:annotation>
<xsd:documentation>This (return)datatype is used as a return-value when exporting multiple campaigns.</xsd:documentation>
</xsd:annotation>
<xsd:complexContent>
<xsd:restriction base="soapenc:Array">
<xsd:attribute ref="soapenc:arrayType" wsdl:arrayType="typens:CampaignExportType[]"/>
</xsd:restriction>
</xsd:complexContent>
</xsd:complexType>
<xsd:complexType name="ForwardAddressExportType">
<xsd:annotation>
<xsd:documentation>This (return)datatype is used as a return-value when exporting a forward address.</xsd:documentation>
</xsd:annotation>
<xsd:sequence>
<xsd:element name="id" type="xsd:int" minOccurs="1">
<xsd:annotation>
<xsd:documentation>The database id of the forward address</xsd:documentation>
</xsd:annotation>
</xsd:element>
<xsd:element name="dmdelivery_address" type="xsd:string" minOccurs="1">
<xsd:annotation>
<xsd:documentation>The from address used by DMdelivery. minLength=1, maxLength=255</xsd:documentation>
</xsd:annotation>
</xsd:element>
<xsd:element name="forward_address" type="xsd:string" minOccurs="1">
<xsd:annotation>
<xsd:documentation>The forward email address. minLength=1, maxLength=255</xsd:documentation>
</xsd:annotation>
</xsd:element>
<xsd:element name="alias_address" type="xsd:string" minOccurs="0">
<xsd:annotation>
<xsd:documentation>The (optional) alias. minLength=1, maxLength=255</xsd:documentation>
</xsd:annotation>
</xsd:element>
</xsd:sequence>
</xsd:complexType>
<xsd:complexType name="ForwardAddressExportArrayType">
<xsd:annotation>
<xsd:documentation>This (return)datatype is used as a return-value when exporting multiple forward addresses.</xsd:documentation>
</xsd:annotation>
<xsd:complexContent>
<xsd:restriction base="soapenc:Array">
<xsd:attribute ref="soapenc:arrayType" wsdl:arrayType="typens:ForwardAddressExportType[]"/>
</xsd:restriction>
</xsd:complexContent>
</xsd:complexType>
<xsd:complexType name="RecipientType">
<xsd:annotation>
<xsd:documentation>This DYNAMIC (input)datatype is used for adding a new recipient to DMdelivery. The definition of this datatype changes whenever a field is added, removed or changed in DMdelivery!</xsd:documentation>
</xsd:annotation>
<xsd:sequence>
<xsd:element name="email" type="xsd:string" minOccurs="1">
<xsd:annotation>
<xsd:documentation>minLength=1,maxLength=255</xsd:documentation>
</xsd:annotation>
</xsd:element>
<xsd:element name="externid" type="xsd:int" minOccurs="0"/>
</xsd:sequence>
</xsd:complexType>
<xsd:complexType name="RecipientArrayType">
<xsd:annotation>
<xsd:documentation>This (input)datatype is used for adding multiple new recipients to DMdelivery.</xsd:documentation>
</xsd:annotation>
<xsd:complexContent>
<xsd:restriction base="soapenc:Array">
<xsd:attribute ref="soapenc:arrayType" wsdl:arrayType="typens:RecipientType[]"/>
</xsd:restriction>
</xsd:complexContent>
</xsd:complexType>
<xsd:complexType name="RecipientMatchType">
<xsd:annotation>
<xsd:documentation>This DYNAMIC (input)datatype is used for matching a recipient in DMdelivery. The definition of this datatype changes whenever a field is added, removed or changed in DMdelivery!</xsd:documentation>
</xsd:annotation>
<xsd:sequence>
<xsd:element name="id" type="xsd:int" minOccurs="0"/>
<xsd:element name="email" type="xsd:string" minOccurs="0">
<xsd:annotation>
<xsd:documentation>minLength=1,maxLength=255</xsd:documentation>
</xsd:annotation>
</xsd:element>
<xsd:element name="externid" type="xsd:int" minOccurs="0"/>
</xsd:sequence>
</xsd:complexType>
<xsd:complexType name="RecipientExportType">
<xsd:annotation>
<xsd:documentation>This DYNAMIC (return)datatype is used as a return-value when exporting a single recipient. The definition of this datatype changes whenever a field is added, removed or changed in DMdelivery!</xsd:documentation>
</xsd:annotation>
<xsd:sequence>
<xsd:element name="id" type="xsd:int" minOccurs="0"/>
<xsd:element name="create_date" type="xsd:string" minOccurs="0">
<xsd:annotation>
<xsd:documentation>length=19,pattern=YYYY-MM-DD HH:MM:SS</xsd:documentation>
</xsd:annotation>
</xsd:element>
<xsd:element name="email" type="xsd:string" minOccurs="0">
<xsd:annotation>
<xsd:documentation>minLength=1,maxLength=255</xsd:documentation>
</xsd:annotation>
</xsd:element>
<xsd:element name="externid" type="xsd:int" minOccurs="0"/>
</xsd:sequence>
</xsd:complexType>
<xsd:complexType name="RecipientExportArrayType">
<xsd:annotation>
<xsd:documentation>This (return)datatype is used as a return-value when exporting multiple recipients.</xsd:documentation>
</xsd:annotation>
<xsd:complexContent>
<xsd:restriction base="soapenc:Array">
<xsd:attribute ref="soapenc:arrayType" wsdl:arrayType="typens:RecipientExportType[]"/>
</xsd:restriction>
</xsd:complexContent>
</xsd:complexType>
<xsd:complexType name="RecipientCampaignsExportType">
<xsd:annotation>
<xsd:documentation>This (return)datatype is used as a return-value when retrieving the overall campaigns a recipient is member of.</xsd:documentation>
</xsd:annotation>
<xsd:sequence>
<xsd:element name="id" type="xsd:int" minOccurs="1">
<xsd:annotation>
<xsd:documentation>The database id of the campaign</xsd:documentation>
</xsd:annotation>
</xsd:element>
<xsd:element name="groups" type="typens:ArrayOfIntType" minOccurs="0">
<xsd:annotation>
<xsd:documentation>Array of group ids the recipient is in, within the campaign</xsd:documentation>
</xsd:annotation>
</xsd:element>
</xsd:sequence>
</xsd:complexType>
<xsd:complexType name="RecipientCampaignsExportArrayType">
<xsd:annotation>
<xsd:documentation>This (return)datatype is used as a return-value when retrieving the overall campaigns a recipient is member of.
</xsd:documentation>
</xsd:annotation>
<xsd:complexContent>
<xsd:restriction base="soapenc:Array">
<xsd:attribute ref="soapenc:arrayType" wsdl:arrayType="typens:RecipientCampaignsExportType[]"/>
</xsd:restriction>
</xsd:complexContent>
</xsd:complexType>
</xsd:schema>
</wsdl:types>
<wsdl:message name="getCampaignsMsg">
<wsdl:part name="login" type="typens:DMdeliveryLoginType"/>
</wsdl:message>
<wsdl:message name="getCampaignsResponseMsg">
<wsdl:part name="return" type="typens:CampaignExportArrayType"/>
</wsdl:message>
<wsdl:message name="getForwardAddressesMsg">
<wsdl:part name="login" type="typens:DMdeliveryLoginType"/>
</wsdl:message>
<wsdl:message name="getForwardAddressesResponseMsg">
<wsdl:part name="return" type="typens:ForwardAddressExportArrayType"/>
</wsdl:message>
<wsdl:message name="editRecipientMsg">
<wsdl:part name="login" type="typens:DMdeliveryLoginType"/>
<wsdl:part name="id" type="xsd:int"/>
<wsdl:part name="recipient" type="typens:RecipientType"/>
</wsdl:message>
<wsdl:message name="editRecipientResponseMsg">
<wsdl:part name="return" type="typens:RecordResultType"/>
</wsdl:message>
<wsdl:message name="getRecipientCampaignsMsg">
<wsdl:part name="login" type="typens:DMdeliveryLoginType"/>
<wsdl:part name="id" type="xsd:int"/>
</wsdl:message>
<wsdl:message name="getRecipientCampaignsResponseMsg">
<wsdl:part name="return" type="typens:RecipientCampaignsExportArrayType"/>
</wsdl:message>
<wsdl:message name="getRecipientsByMatchMsg">
<wsdl:part name="login" type="typens:DMdeliveryLoginType"/>
<wsdl:part name="recipientMatchData" type="typens:RecipientMatchType"/>
</wsdl:message>
<wsdl:message name="getRecipientsByMatchResponseMsg">
<wsdl:part name="return" type="typens:RecipientExportArrayType"/>
</wsdl:message>
<wsdl:portType name="DMdeliverySoapAPIPort">
<wsdl:operation name="editRecipient">
<wsdl:documentation>Edit the data of an existing overall recipient.
@param login: DMdelivery login object.
@param id: The database id of the recipient to edit. Can be found via getRecipientsByMatch.
@param recipientData: An associative array (key: name of field, value: value of field) containing updated recipient data.
@returns: The database id of the updated recipient.</wsdl:documentation>
<wsdl:input message="typens:editRecipientMsg"/>
<wsdl:output message="typens:editRecipientResponseMsg"/>
</wsdl:operation>
<wsdl:operation name="getCampaigns">
<wsdl:documentation>Retrieve all campaigns from DMdelivery.
@param login: DMdelivery login object.
@returns: An array of all campaigns in the DMdelivery environment.</wsdl:documentation>
<wsdl:input message="typens:getCampaignsMsg"/>
<wsdl:output message="typens:getCampaignsResponseMsg"/>
</wsdl:operation>
<wsdl:operation name="getForwardAddresses">
<wsdl:documentation>Retrieve all forward addresses from DMdelivery.
@param login: DMdelivery login object.
@returns: An array of all forward addresses in the DMdelivery environment.</wsdl:documentation>
<wsdl:input message="typens:getForwardAddressesMsg"/>
<wsdl:output message="typens:getForwardAddressesResponseMsg"/>
</wsdl:operation>
<wsdl:operation name="getRecipientCampaigns">
<wsdl:documentation>Retrieve all campaigns an overall recipient is member of, and the groups they're member of within those campaigns.
@param login: DMdelivery login object.
@param id: The database id of the overall recipient. Can be found via getRecipientsByMatch.
@returns: An array of campaigns (and groups) the recipient is member of.</wsdl:documentation>
<wsdl:input message="typens:getRecipientCampaignsMsg"/>
<wsdl:output message="typens:getRecipientCampaignsResponseMsg"/>
</wsdl:operation>
<wsdl:operation name="getRecipientsByMatch">
<wsdl:documentation>Retrieve overall recipients that match certain criteria, inlcuding their database id.
@param login: DMdelivery login object.
@param recipientMatchData: An associative array of criteria to match recipients by. Ex: ('email'=>'[EMAIL PROTECTED]', 'firstname'=>'John').
@returns: An array of recipients.</wsdl:documentation>
<wsdl:input message="typens:getRecipientsByMatchMsg"/>
<wsdl:output message="typens:getRecipientsByMatchResponseMsg"/>
</wsdl:operation>
</wsdl:portType>
<wsdl:binding name="DMdeliverySoapAPIBinding" type="typens:DMdeliverySoapAPIPort">
<soap:binding style="rpc" transport="http://schemas.xmlsoap.org/soap/http"/>
<wsdl:operation name="editRecipient">
<soap:operation soapAction="urn:DMdeliveryAction"/>
<wsdl:input>
<soap:body use="encoded" namespace="urn:DMdeliverySoapAPI" encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"/>
</wsdl:input>
<wsdl:output>
<soap:body use="encoded" namespace="urn:DMdeliverySoapAPI" encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"/>
</wsdl:output>
</wsdl:operation>
<wsdl:operation name="getCampaigns">
<soap:operation soapAction="urn:DMdeliveryAction"/>
<wsdl:input>
<soap:body use="encoded" namespace="urn:DMdeliverySoapAPI" encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"/>
</wsdl:input>
<wsdl:output>
<soap:body use="encoded" namespace="urn:DMdeliverySoapAPI" encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"/>
</wsdl:output>
</wsdl:operation>
<wsdl:operation name="getForwardAddresses">
<soap:operation soapAction="urn:DMdeliveryAction"/>
<wsdl:input>
<soap:body use="encoded" namespace="urn:DMdeliverySoapAPI" encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"/>
</wsdl:input>
<wsdl:output>
<soap:body use="encoded" namespace="urn:DMdeliverySoapAPI" encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"/>
</wsdl:output>
</wsdl:operation>
<wsdl:operation name="getRecipientCampaigns">
<soap:operation soapAction="urn:DMdeliveryAction"/>
<wsdl:input>
<soap:body use="encoded" namespace="urn:DMdeliverySoapAPI" encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"/>
</wsdl:input>
<wsdl:output>
<soap:body use="encoded" namespace="urn:DMdeliverySoapAPI" encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"/>
</wsdl:output>
</wsdl:operation>
<wsdl:operation name="getRecipientsByMatch">
<soap:operation soapAction="urn:DMdeliveryAction"/>
<wsdl:input>
<soap:body use="encoded" namespace="urn:DMdeliverySoapAPI" encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"/>
</wsdl:input>
<wsdl:output>
<soap:body use="encoded" namespace="urn:DMdeliverySoapAPI" encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"/>
</wsdl:output>
</wsdl:operation>
</wsdl:binding>
<!-- Endpoint for DMdelivery Web APIs -->
<wsdl:service name="DMdeliverySoapAPI">
<wsdl:documentation>This is the DMdelivery "overall" SOAP webservice.
This webservice contains functions for maintaining overall recipients, forward addresses and campaigns.
There is another, campaign specific, webservice available as well: http://************
In order to be able to use this webservice, you need to have a login for DMdelivery. A login consists of a username and a password. Each SOAP call in the webservice needs this username and password for access! Please inquire with the DMdelivery administrator for a login.</wsdl:documentation>
<wsdl:port name="DMdeliverySoapAPIPort" binding="typens:DMdeliverySoapAPIBinding">
<soap:address location="https://**************"/>
</wsdl:port>
</wsdl:service>
</wsdl:definitions>
---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]