cancel
Showing results for 
Search instead for 
Did you mean: 

importing WSDL into External Definitions

Former Member
0 Kudos

Hi,

I got WSDLs from WAS WS Navigator, I have imported the WSDL from <b>porttypes</b> folder but I don't see any messages in the messages tab of External Definitions.

See below my WSDL

<?xml version="1.0" encoding="utf-8"?>

<!-- Generated by WSDLDefinitionsParser --><wsdl:definitions xmlns:wsdl="http://schemas.xmlsoap.org/wsdl/" xmlns:ns0="urn:xEM_MeasurementImportVi" targetNamespace="urn:xEM_MeasurementImportWsd/xEM_MeasurementImportVi/document" xmlns:tns="urn:xEM_MeasurementImportWsd/xEM_MeasurementImportVi/document">

<wsdl:types>

<xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema" targetNamespace="urn:java/lang" xmlns:tns="urn:java/lang" elementFormDefault="qualified">

<xs:complexType name="ArrayOfint">

<xs:sequence>

<xs:element maxOccurs="unbounded" minOccurs="0" name="int" type="xs:int" nillable="true"/>

</xs:sequence>

</xs:complexType>

<xs:complexType name="ArrayOfString">

<xs:sequence>

<xs:element maxOccurs="unbounded" minOccurs="0" name="String" type="xs:string" nillable="true"/>

</xs:sequence>

</xs:complexType>

</xs:schema>

<xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema" targetNamespace="urn:com.technidata.em.imp.consumption" xmlns:tns="urn:com.technidata.em.imp.consumption" elementFormDefault="qualified">

<xs:complexType name="ReturnCode">

<xs:sequence>

<xs:element name="code" type="xs:int"/>

<xs:element name="description" type="xs:string" nillable="true" minOccurs="0"/>

</xs:sequence>

</xs:complexType>

<xs:complexType name="ArrayOfReturnCode">

<xs:sequence>

<xs:element maxOccurs="unbounded" minOccurs="0" name="ReturnCode" type="tns:ReturnCode" nillable="true"/>

</xs:sequence>

</xs:complexType>

</xs:schema>

<xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema" targetNamespace="urn:com.technidata.em" xmlns:tns="urn:com.technidata.em" elementFormDefault="qualified">

<xs:complexType name="Measurement">

<xs:sequence>

<xs:element name="pSystemId" type="xs:string" nillable="true" minOccurs="0"/>

<xs:element name="pSystemTagId" type="xs:string" nillable="true" minOccurs="0"/>

<xs:element name="pDate" type="xs:dateTime" nillable="true" minOccurs="0"/>

<xs:element name="pValue" type="xs:double"/>

<xs:element name="pUnit" type="xs:string" nillable="true" minOccurs="0"/>

<xs:element name="pDescription" type="xs:string" nillable="true" minOccurs="0"/>

</xs:sequence>

</xs:complexType>

<xs:complexType name="ArrayOfMeasurement">

<xs:sequence>

<xs:element maxOccurs="unbounded" minOccurs="0" name="Measurement" type="tns:Measurement" nillable="true"/>

</xs:sequence>

</xs:complexType>

</xs:schema>

<xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema" targetNamespace="urn:xEM_MeasurementImportVi" xmlns:tns="urn:xEM_MeasurementImportVi" elementFormDefault="qualified" xmlns:s1="urn:java/lang" xmlns:s2="urn:com.technidata.em.imp.consumption" xmlns:s0="urn:com.technidata.em">

<xs:import namespace="urn:java/lang"/>

<xs:import namespace="urn:com.technidata.em.imp.consumption"/>

<xs:import namespace="urn:com.technidata.em"/>

<xs:element name="checkConnection">

<xs:complexType>

<xs:sequence/>

</xs:complexType>

</xs:element>

<xs:element name="checkConnectionResponse">

<xs:complexType>

<xs:sequence>

<xs:element name="Response" type="xs:string" nillable="true"/>

</xs:sequence>

</xs:complexType>

</xs:element>

<xs:element name="doMeasurementImport">

<xs:complexType>

<xs:sequence>

<xs:element name="pSystemId" type="xs:string" nillable="true"/>

<xs:element name="pSystemTagId" type="xs:string" nillable="true"/>

<xs:element name="pDate" type="xs:dateTime" nillable="true"/>

<xs:element name="pValue" type="xs:double"/>

<xs:element name="pUnit" type="xs:string" nillable="true"/>

<xs:element name="pDescription" type="xs:string" nillable="true"/>

</xs:sequence>

</xs:complexType>

</xs:element>

<xs:element name="doMeasurementImportResponse">

<xs:complexType>

<xs:sequence>

<xs:element name="Response" type="xs:int"/>

</xs:sequence>

</xs:complexType>

</xs:element>

<xs:element name="doMeasurementsImport">

<xs:complexType>

<xs:sequence>

<xs:element name="pMeasurements" type="s0:ArrayOfMeasurement" nillable="true"/>

</xs:sequence>

</xs:complexType>

</xs:element>

<xs:element name="doMeasurementsImportResponse">

<xs:complexType>

<xs:sequence>

<xs:element name="Response" type="s1:ArrayOfint" nillable="true"/>

</xs:sequence>

</xs:complexType>

</xs:element>

<xs:element name="getErrorCodes">

<xs:complexType>

<xs:sequence/>

</xs:complexType>

</xs:element>

<xs:element name="getErrorCodesResponse">

<xs:complexType>

<xs:sequence>

<xs:element name="Response" type="s2:ArrayOfReturnCode" nillable="true"/>

</xs:sequence>

</xs:complexType>

</xs:element>

<xs:element name="getSupportedUnits">

<xs:complexType>

<xs:sequence/>

</xs:complexType>

</xs:element>

<xs:element name="getSupportedUnitsResponse">

<xs:complexType>

<xs:sequence>

<xs:element name="Response" type="s1:ArrayOfString" nillable="true"/>

</xs:sequence>

</xs:complexType>

</xs:element>

</xs:schema>

</wsdl:types>

<wsdl:message name="checkConnectionIn_doc">

<wsdl:part name="parameters" element="ns0:checkConnection"/>

</wsdl:message>

<wsdl:message name="checkConnectionOut_doc">

<wsdl:part name="parameters" element="ns0:checkConnectionResponse"/>

</wsdl:message>

<wsdl:message name="doMeasurementImportIn_doc">

<wsdl:part name="parameters" element="ns0:doMeasurementImport"/>

</wsdl:message>

<wsdl:message name="doMeasurementImportOut_doc">

<wsdl:part name="parameters" element="ns0:doMeasurementImportResponse"/>

</wsdl:message>

<wsdl:message name="doMeasurementsImportIn_doc">

<wsdl:part name="parameters" element="ns0:doMeasurementsImport"/>

</wsdl:message>

<wsdl:message name="doMeasurementsImportOut_doc">

<wsdl:part name="parameters" element="ns0:doMeasurementsImportResponse"/>

</wsdl:message>

<wsdl:message name="getErrorCodesIn_doc">

<wsdl:part name="parameters" element="ns0:getErrorCodes"/>

</wsdl:message>

<wsdl:message name="getErrorCodesOut_doc">

<wsdl:part name="parameters" element="ns0:getErrorCodesResponse"/>

</wsdl:message>

<wsdl:message name="getSupportedUnitsIn_doc">

<wsdl:part name="parameters" element="ns0:getSupportedUnits"/>

</wsdl:message>

<wsdl:message name="getSupportedUnitsOut_doc">

<wsdl:part name="parameters" element="ns0:getSupportedUnitsResponse"/>

</wsdl:message>

<wsdl:portType name="xEM_MeasurementImportVi_Document">

<wsdl:operation name="checkConnection">

<wsdl:input message="tns:checkConnectionIn_doc"/>

<wsdl:output message="tns:checkConnectionOut_doc"/>

</wsdl:operation>

<wsdl:operation name="doMeasurementImport">

<wsdl:input message="tns:doMeasurementImportIn_doc"/>

<wsdl:output message="tns:doMeasurementImportOut_doc"/>

</wsdl:operation>

<wsdl:operation name="doMeasurementsImport">

<wsdl:input message="tns:doMeasurementsImportIn_doc"/>

<wsdl:output message="tns:doMeasurementsImportOut_doc"/>

</wsdl:operation>

<wsdl:operation name="getErrorCodes">

<wsdl:input message="tns:getErrorCodesIn_doc"/>

<wsdl:output message="tns:getErrorCodesOut_doc"/>

</wsdl:operation>

<wsdl:operation name="getSupportedUnits">

<wsdl:input message="tns:getSupportedUnitsIn_doc"/>

<wsdl:output message="tns:getSupportedUnitsOut_doc"/>

</wsdl:operation>

</wsdl:portType>

</wsdl:definitions>

Appreciate your quick response.

Srini Sandaka

Accepted Solutions (1)

Accepted Solutions (1)

Former Member
0 Kudos

Hi,

I diagnose the problem, the problem with the name space length.

Orginal NameSpace: <i>urn:xEM_MeasurementImportWsd/xEM_MeasurementImportVi/document</i>

Modified NameSpace: <i>urn:xEM_MeasurementImportWsd/xEM_MeasurementImportVi/documen</i>

The <b>External Definitions</b> is recognizing only 60 characters namespace. If the namespace exceed 60 characters it is not showing any messages in the messages tab.

Will make any problem to call the WebService from XI since we are changing the original namespace in the WSDL and imported into XI.

How can we overcome this problem, is it a limitation.

Thanks

Srini Sandaka

Former Member
0 Kudos

Hi Srini,

have a look at SAP note 901988.

Greetings Stephan

Answers (4)

Answers (4)

Former Member
0 Kudos

Hi,

I am able to import other WSDLs messages into External Definitions even through their name spaces are different than IR namespace. Expecially this WSDL I am not getting those messages.

Thanks

Srini Sandaka

Former Member
0 Kudos

Hi Srini,

I have faced this exact problem sometimes.

The reason is that the namespace that you have in the WSDL file (urn:xEM_MeasurementImportWsd/xEM_MeasurementImportVi/document) is definitely different from the namespace where you are trying to import the difinition in the IR. I am sure that if you keep the namespace in the file same as that in the IR, you can import successfully.

Good luck,

Bhanu

Former Member
0 Kudos

Hi Naveen,

Thanks for your quick response.

I am not even getting message types in the External Definitions. Is there any way to do the test mapping without having those message types.

Thanks

Srini Sandaka

Former Member
0 Kudos

Hello,

Try doing a dummy message mapping using the imported porttype. when you select the imported portype you should see the messages.

Naveen