Skip to Content
author's profile photo Former Member
Former Member

WSDL Import to generate a proxy

<b>Hi All,</b>

I<b> am trying to import a wsdl file through SE80 to generate a client proxy. The wsdl file is as follows</b>:

<definitions xmlns="http://schemas.xmlsoap.org/wsdl/" xmlns:soap="http://schemas.xmlsoap.org/wsdl/soap/" xmlns:xs="http://www.w3.org/2001/XMLSchema" xmlns:xsd1="http://www.opentravel.org/OTA/2002/11" xmlns:tns="https://webservices.sabre.com/websvc" xmlns:eb="http://www.ebxml.org/namespaces/messageHeader" xmlns:wsse="http://schemas.xmlsoap.org/ws/2002/12/secext" targetNamespace="https://webservices.sabre.com/websvc">
	<types>
		<xsd:schema xmlns:xsd="http://www.w3.org/2001/XMLSchema">
			<xsd:import namespace="http://www.opentravel.org/OTA/2002/11" schemaLocation="SessionValidateRQRS.xsd"/>
			<xsd:import namespace="http://www.ebxml.org/namespaces/messageHeader" schemaLocation="msg-header-2_0.xsd"/>
			<xsd:import namespace="http://www.w3.org/2000/09/xmldsig#" schemaLocation="xmldsig-core-schema.xsd"/>
			<xsd:import namespace="http://www.w3.org/1999/xlink" schemaLocation="xlink.xsd"/>
			<xsd:import namespace="http://schemas.xmlsoap.org/soap/envelope/" schemaLocation="envelope.xsd"/>
			<xsd:import namespace="http://www.w3.org/XML/1998/namespace" schemaLocation="xml.xsd"/>
			<xsd:import namespace="http://schemas.xmlsoap.org/ws/2002/12/secext" schemaLocation="wsse.xsd"/>
		</xsd:schema>
	</types>
	<message name="GetSessionValidateInput">
		<part name="header" element="eb:MessageHeader"/>
		<part name="header2" element="wsse:Security"/>
		<part name="body" element="xsd1:SessionValidateRQ"/>
	</message>
	<portType name="SessionValidatePortType">
		<operation name="SessionValidateRQ">
			<input message="tns:GetSessionValidateInput"/>
		</operation>
	</portType>
	<binding name="SessionValidateSoapBinding" type="tns:SessionValidatePortType">
		<soap:binding style="document" transport="http://schemas.xmlsoap.org/soap/http"/>
		<operation name="SessionValidateRQ">
			<soap:operation soapAction="OTA"/>
			<input>
				<soap:header message="tns:GetSessionValidateInput" part="header" use="literal"/>
				<soap:header message="tns:GetSessionValidateInput" part="header2" use="literal"/>
				<soap:body parts="body" use="literal"/>
			</input>			
		</operation>
	</binding>
	<service name="SessionValidateRQService">
		<port name="SessionValidatePortType" binding="tns:SessionValidateSoapBinding">
			<soap:address location="https://webservices.sabre.com/websvc"/>
		</port>
	</service>
</definitions>

<b>When I tried to import this, there was an error mentioning "Proxy generation terminated: Message must have exactly one part".

Now when I removed the header and header2 from input message like below, I was able to generate the proxy. </b>

<?xml version="1.0" encoding="UTF-8"?>
<definitions xmlns="http://schemas.xmlsoap.org/wsdl/" xmlns:soap="http://schemas.xmlsoap.org/wsdl/soap/" xmlns:xs="http://www.w3.org/2001/XMLSchema" xmlns:xsd1="http://www.opentravel.org/OTA/2002/11" xmlns:tns="https://webservices.sabre.com/websvc" xmlns:eb="http://www.ebxml.org/namespaces/messageHeader" xmlns:wsse="http://schemas.xmlsoap.org/ws/2002/12/secext" targetNamespace="https://webservices.sabre.com/websvc">
	<types>
		<xsd:schema xmlns:xsd="http://www.w3.org/2001/XMLSchema">
			<xsd:import namespace="http://www.opentravel.org/OTA/2002/11" schemaLocation="SessionValidateRQRS.xsd"/>
			<xsd:import namespace="http://www.ebxml.org/namespaces/messageHeader" schemaLocation="msg-header-2_0.xsd"/>
			<xsd:import namespace="http://www.w3.org/2000/09/xmldsig#" schemaLocation="xmldsig-core-schema.xsd"/>
			<xsd:import namespace="http://www.w3.org/1999/xlink" schemaLocation="xlink.xsd"/>
			<xsd:import namespace="http://schemas.xmlsoap.org/soap/envelope/" schemaLocation="envelope.xsd"/>
			<xsd:import namespace="http://www.w3.org/XML/1998/namespace" schemaLocation="xml.xsd"/>
			<xsd:import namespace="http://schemas.xmlsoap.org/ws/2002/12/secext" schemaLocation="wsse.xsd"/>
		</xsd:schema>
	</types>
	<message name="GetSessionValidateInput">
		<part name="body" element="xsd1:SessionValidateRQ"/>
	</message>
	<portType name="SessionValidatePortType">
		<operation name="SessionValidateRQ">
			<input message="tns:GetSessionValidateInput"/>
		</operation>
	</portType>
	<binding name="SessionValidateSoapBinding" type="tns:SessionValidatePortType">
		<soap:binding style="document" transport="http://schemas.xmlsoap.org/soap/http"/>
		<operation name="SessionValidateRQ">
			<soap:operation soapAction="OTA"/>
			<input>
				<soap:body parts="body" use="literal"/>
			</input>
		</operation>
	</binding>
	<service name="SessionValidateRQService">
		<port name="SessionValidatePortType" binding="tns:SessionValidateSoapBinding">
			<soap:address location="https://webservices.sabre.com/websvc"/>
		</port>
	</service>
</definitions>

<b>I would like to know, if it is possible to generate the proxy without removing these nodes since these nodes are very important for my scenario.

Thank you,

Geetha</b>

Add a comment
10|10000 characters needed characters exceeded

Assigned Tags

Related questions

5 Answers

  • Best Answer
    author's profile photo Former Member
    Former Member
    Posted on Nov 30, 2007 at 01:06 PM

    Hi Geeta,

    What you can do is that as you have an .WSLDL file saved in a destination. Now goto Integration Repository of XI then under Interface Objects you have "External Definitions" import the .WSDL as an external destination then now you can find the your requirments for message interfaces are imported. Then create an Outbound or Inbound Message Interface as per your requirements. Activate it in XI

    If all the connections are fine with XI system and your R/3 system, your Proxy Structure is created.

    Hope this Helps you...

    Regards,

    KishoreJ.

    Add a comment
    10|10000 characters needed characters exceeded

  • author's profile photo Former Member
    Former Member
    Posted on Nov 30, 2007 at 11:49 AM

    HI,

    For proxy generation you have to go to SPROXy transaction at R3 end and which will generate the ABAP classes and methods and structure which you have created in SAP XI.

    Can u pls explain what you want to achieve?

    Thnx

    Chirag Gohil

    Add a comment
    10|10000 characters needed characters exceeded

  • author's profile photo Former Member
    Former Member
    Posted on Nov 30, 2007 at 11:53 AM

    Hi Chirag,

    I am trying to consume a SOAP web-service like mentioned in the blog

    https://www.sdn.sap.com/irj/sdn/weblogs?blog=/pub/wlg/1012. [original link is broken] [original link is broken] [original link is broken]

    Can you please help me out here?

    Thank you,

    Geetha

    Add a comment
    10|10000 characters needed characters exceeded

  • author's profile photo Former Member
    Former Member
    Posted on Nov 30, 2007 at 12:30 PM

    Hi Geetha ,

    To me your approach seems to be perfectly alright..

    Just for the making it doubly sure ..Kindly go through..

    http://help.sap.com/saphelp_nw04/helpdata/en/81/845f3c31727d59e10000000a114084/content.htm

    @chirag

    SPROXY is on of the way of Proxy generation not the sole one..

    Regards,

    Add a comment
    10|10000 characters needed characters exceeded

  • author's profile photo Former Member
    Former Member
    Posted on Nov 30, 2007 at 12:34 PM

    Geetha,

    Hope this will be of some help to you .

    http://hertenberger.co.za/?cat=29

    Regards,

    Add a comment
    10|10000 characters needed characters exceeded

Before answering

You should only submit an answer when you are proposing a solution to the poster's problem. If you want the poster to clarify the question or provide more information, please leave a comment instead, requesting additional details. When answering, please include specifics, such as step-by-step instructions, context for the solution, and links to useful resources. Also, please make sure that you answer complies with our Rules of Engagement.
You must be Logged in to submit an answer.

Up to 10 attachments (including images) can be used with a maximum of 1.0 MB each and 10.5 MB total.