cancel
Showing results for 
Search instead for 
Did you mean: 

Cannot generate ABAP proxy

Former Member
0 Kudos
228

Hi,

I am getting the following error message while I am trying to generate an ABAP proxy:

Cannot generate proxy (object <element name="SubstanceComponent"> missing in WSDL, see long text)

I did the following steps:

<i>1) Import an External Definition from an XSD-File:</i>

<?xml version="1.0" encoding="ISO-8859-1"?>

<xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema">
	<xs:simpleType name="Num4Dec">
		<xs:annotation>
			<xs:documentation>
			Decimal Number with 4 fractional digits
			</xs:documentation>
		</xs:annotation>
		<xs:restriction base="xs:decimal">
			<xs:fractionDigits value="4" />
		</xs:restriction>
	</xs:simpleType>
	<xs:element name="SubstanceComponent">
		<xs:complexType>
			<xs:sequence minOccurs="0" maxOccurs="unbounded">
				<xs:element ref="SubstanceComponent" />
			</xs:sequence>
			<xs:attribute name="localIDRef" type="xs:string" use="required">
				<xs:annotation>
					<xs:documentation>
					Reference on details in ProductComponents
					</xs:documentation>
				</xs:annotation>
			</xs:attribute>
			<xs:attribute name="type" use="required">
				<xs:annotation>
					<xs:documentation>
					Role of the item in the composition
					</xs:documentation>
				</xs:annotation>
				<xs:simpleType>
					<xs:restriction base="xs:string">
						<xs:enumeration value="default" />
						<xs:enumeration value="rest" />
						<xs:enumeration value="impurity" />
					</xs:restriction>
				</xs:simpleType>
			</xs:attribute>
			<xs:attribute name="value" type="Num4Dec" />
			<xs:attribute name="valueLower" type="Num4Dec" />
			<xs:attribute name="valueUpper" type="Num4Dec" />
			<xs:attribute name="isoUnit">
				<xs:simpleType>
					<xs:restriction base="xs:string">
						<xs:enumeration value="%" />
						<xs:enumeration value="ppm" />
					</xs:restriction>
				</xs:simpleType>
			</xs:attribute>
			<xs:attribute name="description" type="xs:string">
				<xs:annotation>
					<xs:documentation>
					Descritpive Name for visualization
					</xs:documentation>
				</xs:annotation>
			</xs:attribute>
			<xs:attribute name="intentionallyAdded" type="xs:boolean">
				<xs:annotation>
					<xs:documentation>
					intentionally added according to JIG
					</xs:documentation>
				</xs:annotation>
			</xs:attribute>
		</xs:complexType>
	</xs:element>
</xs:schema>

<i>2) Create a Message Interface based on the External Definition

3) Trying to generate the ABAP proxy...

</i>

Do you have any idea why the proxy generation is not working in this case? Is it the recursive use of element "SubstanceComponent" that doesn't work?

<xs:element name="SubstanceComponent">
		<xs:complexType>
			<xs:sequence minOccurs="0" maxOccurs="unbounded">
				<xs:element ref="SubstanceComponent" />
			</xs:sequence>

Thanks,

Andreas

View Entire Topic
udo_martens
Active Contributor
0 Kudos

Hi Andreas,

you CAN import external definition, but they make problems. It's easier to build the datatype, in ur case it's not much work.

Regards,

Udo

Former Member
0 Kudos

Hi Udo,

thanks for your answer.

I wanted to avoid to build the datatype manually, since I have the complete description in a XML Schema.

Unfortunately the full description of the Message Interface will be much bigger. I just started with a small piece to find out if it works.

In the meanwhile, while importing the whole external definition I get the following error:

<i>"Proxy generation terminated: Recursions not supported"</i>

So it seems as if the proxy generation doesn't support the recursion at all and I have to work on the definition...

Former Member
0 Kudos

I removed the recursion... now the proxy generation works.

udo_martens
Active Contributor
0 Kudos

Yes, and there r some more restrictions.

The only useable way 4 import XSDs is to export them, change them just a little, little bit and reimport.