WSDL Converstion to LN Classes

Hi

I a WSDL file - if the output message has more than one return value, the IMPORT WSDL in Lotus Notes Script Library, treats this as a SUB block. But if it has just a single return value - it treats it as a Function block. Why is it so ?

What is the work around - if there is any ?

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

<wsdl:definitions targetNamespace=“urn:sap-com:document:sap:soap:functions:mc-style” xmlns:http=“http://schemas.xmlsoap.org/wsdl/http/” xmlns:n0=“urn:sap-com:document:sap:rfc:functions” xmlns:soap=“http://schemas.xmlsoap.org/wsdl/soap/” xmlns:tns=“urn:sap-com:document:sap:soap:functions:mc-style” xmlns:wsdl=“http://schemas.xmlsoap.org/wsdl/” xmlns:xsd=“http://www.w3.org/2001/XMLSchema”>

wsdl:types

<xsd:schema xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:tns="urn:sap-com:document:sap:rfc:functions" targetNamespace="urn:sap-com:document:sap:rfc:functions" elementFormDefault="unqualified" attributeFormDefault="qualified">

  

  <xsd:simpleType name="char255">

    <xsd:restriction base="xsd:string">

      <xsd:maxLength value="255" />

    </xsd:restriction>

  </xsd:simpleType>

 

  <xsd:simpleType name="char32">

    <xsd:restriction base="xsd:string">

      <xsd:maxLength value="32" />

    </xsd:restriction>

  </xsd:simpleType>

  

</xsd:schema>

<xsd:schema xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:tns="urn:sap-com:document:sap:soap:functions:mc-style" targetNamespace="urn:sap-com:document:sap:soap:functions:mc-style" elementFormDefault="unqualified" attributeFormDefault="qualified" xmlns:n0="urn:sap-com:document:sap:rfc:functions">

  <xsd:import namespace="urn:sap-com:document:sap:rfc:functions" />

  <xsd:complexType name="IctError">

    <xsd:sequence>

      <xsd:element name="ErrorCode" type="xsd:unsignedByte" />

      <xsd:element name="Val1" type="n0:char255" />

      <xsd:element name="Val2" type="n0:char255" />

      <xsd:element name="Val3" type="n0:char255" />

      <xsd:element name="Val4" type="n0:char255" />

    </xsd:sequence>

  </xsd:complexType>

  <xsd:complexType name="IctErrors">

    <xsd:sequence>

      <xsd:element name="item" minOccurs="0" maxOccurs="unbounded" type="tns:IctError" />

    </xsd:sequence>

  </xsd:complexType>

  </xsd:element>

  <xsd:element name="RequestSystemGuid">

    <xsd:complexType>

      <xsd:sequence />

    </xsd:complexType>

  </xsd:element>

  <xsd:element name="RequestSystemGuidResponse">

    <xsd:complexType>

      <xsd:sequence>

        <xsd:element name="Errors" type="tns:IctErrors" />

        <xsd:element name="SystemGuid" type="n0:char32" />

      </xsd:sequence>

    </xsd:complexType>

  </xsd:element>

</xsd:schema>

</wsdl:types>

<wsdl:part name="parameters" element="tns:RequestSystemGuid" />

</wsdl:message>

<wsdl:message name=“RequestSystemGuidResponse”>

<wsdl:part name="parameters" element="tns:RequestSystemGuidResponse" />

</wsdl:message>

<wsdl:portType name=“ICT_SERVICE_DESK_API”>

<wsdl:operation name="RequestSystemGuid">

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

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

</wsdl:operation>

</wsdl:portType>

<wsdl:binding name=“ICT_SERVICE_DESK_APISoapBinding” type=“tns:ICT_SERVICE_DESK_API”>

<soap:binding style="document" transport="http://schemas.xmlsoap.org/soap/http" />

<wsdl:operation name="RequestSystemGuid">

  <soap:operation soapAction="" />

  <wsdl:input>

    <soap:body use="literal" />

  </wsdl:input>

  <wsdl:output>

    <soap:body use="literal" />

  </wsdl:output>

</wsdl:operation>

</wsdl:binding>

<wsdl:service name=“ICT_SERVICE_DESK_APIService”>

<wsdl:port name="ICT_SERVICE_DESK_APISoapBinding" binding="tns:ICT_SERVICE_DESK_APISoapBinding">

  <soap:address location="http://sm1sapr3.Compname.com:8005/sap/bc/srt/rfc/sap/ICT_SERVICE_DESK_API?sap-client=500" />

</wsdl:port>

</wsdl:service>

</wsdl:definitions>

%INCLUDE “lsxsd.lss”

Class IctErrors_n7 As XSD_ANYTYPE

Public item() As IctError_n7



Sub NEW

End Sub

End Class

Class IctErrors_n7_Holder As INOUT_HOLDER

Public Value As IctErrors_n7

End Class

Class IctError_n7 As XSD_ANYTYPE

Public ErrorCode As Byte

Public Val1 As Char255_n6

Public Val2 As Char255_n6

Public Val3 As Char255_n6

Public Val4 As Char255_n6



Sub NEW

End Sub

End Class

Class Char255_n6 As XSD_ANYTYPE

Public value As String



Sub NEW

End Sub

End Class

Class Char32_n6 As XSD_ANYTYPE

Public value As String



Sub NEW

End Sub

End Class

Class Char32_n6_Holder As INOUT_HOLDER

Public Value As Char32_n6

End Class

Const n7 = “urn:sap-com:document:sap:soap:functions:mc-style”

Const n6 = “urn:sap-com:document:sap:rfc:functions”

Class ICT_SERVICE_DESK_API_n7 As PortTypeBase

Sub NEW

	Call Service.Initialize ("UrnSapComDocumentSapSoapFunctionsMcStyleICT_SERVICE_DESK_APIService", _

	"ICT_SERVICE_DESK_APIService.ICT_SERVICE_DESK_APISoapBinding", "http://sm1sapr3.Compname.com:8005/sap/bc/srt/rfc/sap/ICT_SERVICE_DESK_API?sap-client=500", _

	"ICT_SERVICE_DESK_API_n7")

	

End Sub

	

Sub RequestSystemGuid(Errors As IctErrors_n7_Holder, SystemGuid As Char32_n6_Holder)

	Call Service.Invoke("RequestSystemGuid", Errors, SystemGuid)

End Sub

End Class