D
dp
Hello,
I have a problem, and thats is a long posting. Thanks in advance for
helping !!!
I try to generate server classes from two wsdl files and xml schemas.
I don´t understand the error message !
Wich Members may not be derived ?
I just edited a example from Aaron Skonnard...
(http://msdn.microsoft.com/library/default.asp?url=/msdnmag/issues/02/12/XMLFiles/TOC.asp)
so I generate the server class from my edited and validated files:
"wsdl /Server math-interface.wsdl math-soapbinding.wsdl
eMail3.0-A.0.xsd"
The XML Schema File eMail3.0-A.0.xsd include the IPDRDoc3.0.xsd
Both files are in the same local directory.
(Both files are show below & are available on
http://www.ipdr.org/public/eMail3.0-A.0.xsd
http://www.ipdr.org/public/ipdrDoc3.0.xsd)
And I get follow Error Message:
Error: Unable to import binding 'MathServiceSoapBinding' from
namespace 'http://example.org/math/wsdl/service'.
- Unable to import operation 'Divide'.
- These members may not be derived.
Here my edited math-interface.wsdl:
I have just change the both message parts, the import location and the
types namespace.
<wsdl:definitions name="MathService"
targetNamespace="http://example.org/math/wsdl/interface"
xmlns:tns="http://example.org/math/wsdl/interface"
xmlns:xsd="http://www.w3.org/2001/XMLSchema"
xmlns:wsdl="http://schemas.xmlsoap.org/wsdl/"
xmlns:types="http://www.ipdr.org/namespaces/ipdr">
<wsdl:import location="eMail3.0-A.0.xsd"
namespace="http://www.ipdr.org/namespaces/ipdr"/>
<wsdl:message name="DivideSoapOutMsg">
<wsdlart name="p" type="types:IPDR-EMAIL-Type"/>
</wsdl:message>
<wsdl:message name="DivideSoapInMsg">
<wsdlart name="p" type="types:IPDR-EMAIL-Type"/>
</wsdl:message>
<wsdlortType name="IMath">
<wsdlperation name="Divide">
<wsdl:input name="DivideInput" message="tnsivideSoapInMsg"/>
<wsdlutput name="DivideOutput" message="tnsivideSoapOutMsg"/>
</wsdlperation>
</wsdlortType>
</wsdl:definitions>
here the eMail3.0-A.0.xsd:
<?xml version="1.0" encoding="UTF-8"?>
<schema targetNamespace="http://www.ipdr.org/namespaces/ipdr"
xmlns="http://www.w3.org/2001/XMLSchema"
xmlns:ipdr="http://www.ipdr.org/namespaces/ipdr"
elementFormDefault="qualified" attributeFormDefault="unqualified"
version="3.0-A.0">
<annotation>
<documentation>
Referring to a local copy will normally yield significantly faster
performance.
The name of the master IPDR schema file can either be:
http://www.ipdr.org/public/ipdrDoc3.0.xsd
Alternatively, it can be a local copy of this file.
Please modify the preceding "include schemaLocation"
appropriately.
</documentation>
<documentation>This is the master IPDR schema file for
Email</documentation>
</annotation>
<include schemaLocation="ipdrDoc3.0.xsd"/>
<element name="serviceProviderID" type="string"/>
<element name="subscriberId" type="string"/>
<element name="userLoginName" type="string"/>
<element name="userLoginLocation" type="string"/>
<element name="providerName" type="string"/>
<element name="providerLocation" type="string"/>
<element name="eventType">
<simpleType>
<restriction base="string">
<enumeration value="Incoming"/>
<enumeration value="Outgoing"/>
<enumeration value="Storage"/>
</restriction>
</simpleType>
</element>
<element name="eventTime" type="dateTime"/>
<element name="size" type="int"/>
<element name="startTime" type="dateTime"/>
<element name="endTime" type="dateTime"/>
<element name="emailSubject" type="string"/>
<element name="emailAddressees" type="string"/>
<element name="numAddressees" type="int"/>
<complexType name="IPDR-EMAIL-Type">
<complexContent>
<extension base="ipdr:IPDRType">
<sequence>
<element ref="ipdr:serviceProviderID"/>
<element ref="ipdr:subscriberId"/>
<element ref="ipdr:userLoginLocation"/>
<element ref="ipdr:userLoginName"/>
<element ref="ipdrroviderName"/>
<element ref="ipdrroviderLocation"/>
<element ref="ipdr:eventType"/>
<element ref="ipdr:eventTime" minOccurs="0"/>
<element ref="ipdr:emailAddressees" minOccurs="0"/>
<element ref="ipdr:emailSubject" minOccurs="0"/>
<element ref="ipdr:startTime" minOccurs="0"/>
<element ref="ipdr:endTime" minOccurs="0"/>
<element ref="ipdr:size" minOccurs="0"/>
<element ref="ipdr:numAddressees" minOccurs="0"/>
</sequence>
</extension>
</complexContent>
</complexType>
</schema>
And the ipdrDoc3.0.xsd:
<?xml version="1.0" encoding="UTF-8"?>
<!--Generated by Turbo XML 2.3.0.100. Conforms to w3c
http://www.w3.org/2001/XMLSchema-->
<schema targetNamespace="http://www.ipdr.org/namespaces/ipdr"
xmlns:ipdr="http://www.ipdr.org/namespaces/ipdr"
xmlns="http://www.w3.org/2001/XMLSchema" version="3.0">
<element name="IPDRDoc">
<annotation>
<documentation>
The IPDRDoc element is the top-level container of
a set of IPDRs. The document will also define the entity which
recorded these IPDRs via the IPDRRecorderInfo attribute.
</documentation>
</annotation>
<complexType>
<sequence>
<element ref="ipdr:IPDR" maxOccurs="unbounded"/>
<element ref="ipdr:IPDRDoc.End" minOccurs="0"/>
</sequence>
<attribute name="docId" type="string" use="required"/>
<attribute name="version" type="string"/>
<attribute name="creationTime" type="ipdr:dateTimeMsec"/>
<attribute name="IPDRRecorderInfo" type="string"/>
</complexType>
</element>
<element name="IPDRDoc.End">
<annotation>
<documentation>
The IPDRDoc.End element optionally marks the
end of the IPDR block. It may contain some check information like a
count of IPDRs.
</documentation>
</annotation>
<complexType>
<attribute name="count" type="int"/>
<attribute name="endTime" type="ipdr:dateTimeMsec"/>
</complexType>
</element>
<element name="IPDRCreationTime" type="ipdr:dateTimeMsec"/>
<element name="seqNum" type="int"/>
<complexType name="IPDRType" final="restriction">
<annotation>
<documentation>
This is the base type for the IPDR element.
The service-specific schema can extend this by deriving from it.
</documentation>
</annotation>
<sequence>
<element ref="ipdr:IPDRCreationTime" minOccurs="0"/>
<element ref="ipdr:seqNum" minOccurs="0"/>
</sequence>
</complexType>
<element name="IPDR" type="ipdr:IPDRType">
<annotation>
<documentation>
An IPDR describes an event between a service
consumer and a service element. Details of the event are contained
within this record. All IPDR elements have a time iindicating when
the event occurred.
</documentation>
</annotation>
</element>
<simpleType name="dateTimeMsec">
<annotation>
<documentation>
This type supports time resolution at the millisecond level
It is further constrained to always use the timezone designator "Z"
indicating GMT. Quantities of this type can optionally use 3 digits of
fraction after the second to represent the milliseconds. If
absent, it is assumed the millisecond component is ".000".
Example: 1999-05-31T13:20:00.561Z
</documentation>
</annotation>
<restriction base="string">
<pattern value="[0-9]{4}-[0-9]{2}-[0-9]{2}T[0-9]{2}:[0-9]{2}:[0-9]{2}(\.[0-9]{3})?Z"/>
</restriction>
</simpleType>
<simpleType name="ipV4Addr">
<annotation>
<documentation>
An IP version 4 address in dotted notation decimal. Example:
15.13.120.22
</documentation>
</annotation>
<restriction base="string">
<pattern value="[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}"/>
</restriction>
</simpleType>
<simpleType name="ipV6Addr">
<annotation>
<documentation>
An IP version 6 address in colon separated 2 byte
block hexadecimal notation.
Example: FEDC:AB19:12FE:0234:98EF:1178:8891:CAFF
</documentation>
</annotation>
<restriction base="string">
<pattern value="[0-9a-fA-F]{4}:[0-9a-fA-F]{4}:[0-9a-fA-F]{4}:[0-9a-fA-F]{4}:[0-9a-fA-F]{4}:[0-9a-fA-F]{4}:[0-9a-fA-F]{4}:[0-9a-fA-F]{4}"/>
</restriction>
</simpleType>
<simpleType name="UUID">
<annotation>
<documentation>
A universal unique id in hex dash notation.
Example: f81d4fae-7dec-11d0-a765-00a0c91e6bf6
</documentation>
</annotation>
<restriction base="string">
<pattern value="[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12}"/>
</restriction>
</simpleType>
</schema>
I have a problem, and thats is a long posting. Thanks in advance for
helping !!!
I try to generate server classes from two wsdl files and xml schemas.
I don´t understand the error message !
Wich Members may not be derived ?
I just edited a example from Aaron Skonnard...
(http://msdn.microsoft.com/library/default.asp?url=/msdnmag/issues/02/12/XMLFiles/TOC.asp)
so I generate the server class from my edited and validated files:
"wsdl /Server math-interface.wsdl math-soapbinding.wsdl
eMail3.0-A.0.xsd"
The XML Schema File eMail3.0-A.0.xsd include the IPDRDoc3.0.xsd
Both files are in the same local directory.
(Both files are show below & are available on
http://www.ipdr.org/public/eMail3.0-A.0.xsd
http://www.ipdr.org/public/ipdrDoc3.0.xsd)
And I get follow Error Message:
Error: Unable to import binding 'MathServiceSoapBinding' from
namespace 'http://example.org/math/wsdl/service'.
- Unable to import operation 'Divide'.
- These members may not be derived.
Here my edited math-interface.wsdl:
I have just change the both message parts, the import location and the
types namespace.
<wsdl:definitions name="MathService"
targetNamespace="http://example.org/math/wsdl/interface"
xmlns:tns="http://example.org/math/wsdl/interface"
xmlns:xsd="http://www.w3.org/2001/XMLSchema"
xmlns:wsdl="http://schemas.xmlsoap.org/wsdl/"
xmlns:types="http://www.ipdr.org/namespaces/ipdr">
<wsdl:import location="eMail3.0-A.0.xsd"
namespace="http://www.ipdr.org/namespaces/ipdr"/>
<wsdl:message name="DivideSoapOutMsg">
<wsdlart name="p" type="types:IPDR-EMAIL-Type"/>
</wsdl:message>
<wsdl:message name="DivideSoapInMsg">
<wsdlart name="p" type="types:IPDR-EMAIL-Type"/>
</wsdl:message>
<wsdlortType name="IMath">
<wsdlperation name="Divide">
<wsdl:input name="DivideInput" message="tnsivideSoapInMsg"/>
<wsdlutput name="DivideOutput" message="tnsivideSoapOutMsg"/>
</wsdlperation>
</wsdlortType>
</wsdl:definitions>
here the eMail3.0-A.0.xsd:
<?xml version="1.0" encoding="UTF-8"?>
<schema targetNamespace="http://www.ipdr.org/namespaces/ipdr"
xmlns="http://www.w3.org/2001/XMLSchema"
xmlns:ipdr="http://www.ipdr.org/namespaces/ipdr"
elementFormDefault="qualified" attributeFormDefault="unqualified"
version="3.0-A.0">
<annotation>
<documentation>
Referring to a local copy will normally yield significantly faster
performance.
The name of the master IPDR schema file can either be:
http://www.ipdr.org/public/ipdrDoc3.0.xsd
Alternatively, it can be a local copy of this file.
Please modify the preceding "include schemaLocation"
appropriately.
</documentation>
<documentation>This is the master IPDR schema file for
Email</documentation>
</annotation>
<include schemaLocation="ipdrDoc3.0.xsd"/>
<element name="serviceProviderID" type="string"/>
<element name="subscriberId" type="string"/>
<element name="userLoginName" type="string"/>
<element name="userLoginLocation" type="string"/>
<element name="providerName" type="string"/>
<element name="providerLocation" type="string"/>
<element name="eventType">
<simpleType>
<restriction base="string">
<enumeration value="Incoming"/>
<enumeration value="Outgoing"/>
<enumeration value="Storage"/>
</restriction>
</simpleType>
</element>
<element name="eventTime" type="dateTime"/>
<element name="size" type="int"/>
<element name="startTime" type="dateTime"/>
<element name="endTime" type="dateTime"/>
<element name="emailSubject" type="string"/>
<element name="emailAddressees" type="string"/>
<element name="numAddressees" type="int"/>
<complexType name="IPDR-EMAIL-Type">
<complexContent>
<extension base="ipdr:IPDRType">
<sequence>
<element ref="ipdr:serviceProviderID"/>
<element ref="ipdr:subscriberId"/>
<element ref="ipdr:userLoginLocation"/>
<element ref="ipdr:userLoginName"/>
<element ref="ipdrroviderName"/>
<element ref="ipdrroviderLocation"/>
<element ref="ipdr:eventType"/>
<element ref="ipdr:eventTime" minOccurs="0"/>
<element ref="ipdr:emailAddressees" minOccurs="0"/>
<element ref="ipdr:emailSubject" minOccurs="0"/>
<element ref="ipdr:startTime" minOccurs="0"/>
<element ref="ipdr:endTime" minOccurs="0"/>
<element ref="ipdr:size" minOccurs="0"/>
<element ref="ipdr:numAddressees" minOccurs="0"/>
</sequence>
</extension>
</complexContent>
</complexType>
</schema>
And the ipdrDoc3.0.xsd:
<?xml version="1.0" encoding="UTF-8"?>
<!--Generated by Turbo XML 2.3.0.100. Conforms to w3c
http://www.w3.org/2001/XMLSchema-->
<schema targetNamespace="http://www.ipdr.org/namespaces/ipdr"
xmlns:ipdr="http://www.ipdr.org/namespaces/ipdr"
xmlns="http://www.w3.org/2001/XMLSchema" version="3.0">
<element name="IPDRDoc">
<annotation>
<documentation>
The IPDRDoc element is the top-level container of
a set of IPDRs. The document will also define the entity which
recorded these IPDRs via the IPDRRecorderInfo attribute.
</documentation>
</annotation>
<complexType>
<sequence>
<element ref="ipdr:IPDR" maxOccurs="unbounded"/>
<element ref="ipdr:IPDRDoc.End" minOccurs="0"/>
</sequence>
<attribute name="docId" type="string" use="required"/>
<attribute name="version" type="string"/>
<attribute name="creationTime" type="ipdr:dateTimeMsec"/>
<attribute name="IPDRRecorderInfo" type="string"/>
</complexType>
</element>
<element name="IPDRDoc.End">
<annotation>
<documentation>
The IPDRDoc.End element optionally marks the
end of the IPDR block. It may contain some check information like a
count of IPDRs.
</documentation>
</annotation>
<complexType>
<attribute name="count" type="int"/>
<attribute name="endTime" type="ipdr:dateTimeMsec"/>
</complexType>
</element>
<element name="IPDRCreationTime" type="ipdr:dateTimeMsec"/>
<element name="seqNum" type="int"/>
<complexType name="IPDRType" final="restriction">
<annotation>
<documentation>
This is the base type for the IPDR element.
The service-specific schema can extend this by deriving from it.
</documentation>
</annotation>
<sequence>
<element ref="ipdr:IPDRCreationTime" minOccurs="0"/>
<element ref="ipdr:seqNum" minOccurs="0"/>
</sequence>
</complexType>
<element name="IPDR" type="ipdr:IPDRType">
<annotation>
<documentation>
An IPDR describes an event between a service
consumer and a service element. Details of the event are contained
within this record. All IPDR elements have a time iindicating when
the event occurred.
</documentation>
</annotation>
</element>
<simpleType name="dateTimeMsec">
<annotation>
<documentation>
This type supports time resolution at the millisecond level
It is further constrained to always use the timezone designator "Z"
indicating GMT. Quantities of this type can optionally use 3 digits of
fraction after the second to represent the milliseconds. If
absent, it is assumed the millisecond component is ".000".
Example: 1999-05-31T13:20:00.561Z
</documentation>
</annotation>
<restriction base="string">
<pattern value="[0-9]{4}-[0-9]{2}-[0-9]{2}T[0-9]{2}:[0-9]{2}:[0-9]{2}(\.[0-9]{3})?Z"/>
</restriction>
</simpleType>
<simpleType name="ipV4Addr">
<annotation>
<documentation>
An IP version 4 address in dotted notation decimal. Example:
15.13.120.22
</documentation>
</annotation>
<restriction base="string">
<pattern value="[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}"/>
</restriction>
</simpleType>
<simpleType name="ipV6Addr">
<annotation>
<documentation>
An IP version 6 address in colon separated 2 byte
block hexadecimal notation.
Example: FEDC:AB19:12FE:0234:98EF:1178:8891:CAFF
</documentation>
</annotation>
<restriction base="string">
<pattern value="[0-9a-fA-F]{4}:[0-9a-fA-F]{4}:[0-9a-fA-F]{4}:[0-9a-fA-F]{4}:[0-9a-fA-F]{4}:[0-9a-fA-F]{4}:[0-9a-fA-F]{4}:[0-9a-fA-F]{4}"/>
</restriction>
</simpleType>
<simpleType name="UUID">
<annotation>
<documentation>
A universal unique id in hex dash notation.
Example: f81d4fae-7dec-11d0-a765-00a0c91e6bf6
</documentation>
</annotation>
<restriction base="string">
<pattern value="[0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{4}-[0-9a-fA-F]{12}"/>
</restriction>
</simpleType>
</schema>