‎2008 Jun 16 7:52 PM
Hi All,
How we can make use of the WSDL file for calling the Webservice from outside the SAP system? I have a RFC FM pointed to a service definition and I have the WSDL file with me.
Can you please guide me how I can make use of this WSDL for the Webservice call?
Thanks for your help in advance.
Thanks,
Greetson
‎2008 Jun 16 7:55 PM
‎2008 Jun 16 7:55 PM
‎2008 Jun 16 8:25 PM
Hello Rich,
Thanks for your immediate response. What are the steps we need to follow for creating the Proxy object in SE80 I see four options HTTP, UDDI, Localfile & XI repository. What is the expansion for each of these???
How we can call the WSDL from ABAP or from .NET??? do you know the steps???? of we need to talk to a respective platform developer???
Thanks for your help .
Greetson
‎2008 Jun 16 8:41 PM
Hi, yes, since you have the WSDL, then you could simply use "Local File" option, and then select your WDL, the proxy will then be generated based on the WSDL. Then the ABAPer or .net guy can call this proxy using the proxy class. You should get with the developer to call these, if you are not familar with it.
Regards,
Rich Heilman
‎2008 Jun 16 8:45 PM
Hello Rich,
I had tried the Local file option for the WSDL that I have for the following Blog Service definition:
/people/thomas.jung3/blog/2005/01/05/develop-a-web-service-that-sends-an-email--in-abap
But i am getting the fellowing error :
Proxy generation terminated: Message must have exactly one part
Message no. SPRX046
Background
During proxy generation, an interface description in WSDL format is
fetched from the Integration Builder or another source and interpreted.
This WSDL document must describe the whole interface correctly.
==> Display WSDL Document
Diagnosis
In a WSDL document, a <message> must contain exactly one <part>,
therefore:
<message name="doGetCachedPage">
<part .../>
</message>
In this instance, a <message> has no <part> or multiple <part> entries.
Proxy generation cannot process such messages.
System response
Proxy generation is terminated.
What might be the issue?
looks like the ESDL file that I Have has one or more <part> tag in it.
Following is my XLM file code :
<?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:n1="http://www.sap.com/webas/630/soap/features/authentication/" xmlns:sap="http://www.sap.com/webas/630/wsdl/features" 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="char1">
- <xsd:restriction base="xsd:string">
<xsd:maxLength value="1" />
</xsd:restriction>
</xsd:simpleType>
- <xsd:simpleType name="char10">
- <xsd:restriction base="xsd:string">
<xsd:maxLength value="10" />
</xsd:restriction>
</xsd:simpleType>
- <xsd:simpleType name="char20">
- <xsd:restriction base="xsd:string">
<xsd:maxLength value="20" />
</xsd:restriction>
</xsd:simpleType>
- <xsd:simpleType name="char220">
- <xsd:restriction base="xsd:string">
<xsd:maxLength value="220" />
</xsd:restriction>
</xsd:simpleType>
- <xsd:simpleType name="char30">
- <xsd:restriction base="xsd:string">
<xsd:maxLength value="30" />
</xsd:restriction>
</xsd:simpleType>
- <xsd:simpleType name="char32">
- <xsd:restriction base="xsd:string">
<xsd:maxLength value="32" />
</xsd:restriction>
</xsd:simpleType>
- <xsd:simpleType name="char50">
- <xsd:restriction base="xsd:string">
<xsd:maxLength value="50" />
</xsd:restriction>
</xsd:simpleType>
- <xsd:simpleType name="numeric3">
- <xsd:restriction base="xsd:string">
<xsd:maxLength value="3" />
<xsd:pattern value="\d*" />
</xsd:restriction>
</xsd:simpleType>
- <xsd:simpleType name="numeric6">
- <xsd:restriction base="xsd:string">
<xsd:maxLength value="6" />
<xsd:pattern value="\d*" />
</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="Bapiret2">
- <xsd:sequence>
<xsd:element name="Type" type="n0:char1" />
<xsd:element name="Id" type="n0:char20" />
<xsd:element name="Number" type="n0:numeric3" />
<xsd:element name="Message" type="n0:char220" />
<xsd:element name="LogNo" type="n0:char20" />
<xsd:element name="LogMsgNo" type="n0:numeric6" />
<xsd:element name="MessageV1" type="n0:char50" />
<xsd:element name="MessageV2" type="n0:char50" />
<xsd:element name="MessageV3" type="n0:char50" />
<xsd:element name="MessageV4" type="n0:char50" />
<xsd:element name="Parameter" type="n0:char32" />
<xsd:element name="Row" type="xsd:int" />
<xsd:element name="Field" type="n0:char30" />
<xsd:element name="System" type="n0:char10" />
</xsd:sequence>
</xsd:complexType>
</xsd:schema>
</wsdl:types>
- <wsdl:message name="ZtestWebservice">
<wsdl:part name="From" type="xsd:string" />
<wsdl:part name="Message" type="xsd:string" />
<wsdl:part name="Subject" type="xsd:string" />
<wsdl:part name="To" type="xsd:string" />
</wsdl:message>
- <wsdl:message name="ZtestWebserviceResponse">
<wsdl:part name="Return" type="tns:Bapiret2" />
</wsdl:message>
- <sap:Feature name="design_0" uri="http://www.sap.com/webas/630/soap/features/authentication/">
- <sap:Property qname="n1:AuthenticationLevel">
<sap:Option value="n1:Basic" />
</sap:Property>
</sap:Feature>
- <wsdl:portType name="ZES_TEST_MAIL">
<sap:useFeature feature="tns:design_0" />
- <wsdl:operation name="ZtestWebservice">
<wsdl:input message="tns:ZtestWebservice" />
<wsdl:output message="tns:ZtestWebserviceResponse" />
</wsdl:operation>
</wsdl:portType>
- <wsdl:binding name="ZES_TEST_MAILSoapBinding" type="tns:ZES_TEST_MAIL">
<soap:binding style="rpc" transport="http://schemas.xmlsoap.org/soap/http" />
- <wsdl:operation name="ZtestWebservice">
<soap:operation soapAction="" />
- <wsdl:input>
<soap:body use="literal" namespace="urn:sap-com:document:sap:soap:functions:mc-style" />
</wsdl:input>
- <wsdl:output>
<soap:body use="literal" namespace="urn:sap-com:document:sap:soap:functions:mc-style" />
</wsdl:output>
</wsdl:operation>
</wsdl:binding>
- <wsdl:service name="ZES_TEST_MAILService">
- <wsdl:port name="ZES_TEST_MAILSoapBinding" binding="tns:ZES_TEST_MAILSoapBinding">
<soap:address location="http://sapecddemo.ssdomain.com:8001/sap/bc/srt/rfc/sap/ZES_TEST_MAIL?sap-client=800" />
</wsdl:port>
</wsdl:service>
</wsdl:definitions>
Please advice.
Thanks,
Greetson
‎2008 Jun 16 8:51 PM
Or if you simply want to test the web service, you can go to transaction WSADMIN in the system where you created it. You can then navigate to your service in the tree, and select it, then choose web service homepage from the application toolbar. Hopefully, you have a java system installed along side the ABAP, because this WS Homepage runs on the java side. You can then test the WS from this page, using the "Test" button on the page. Yes, this transaction is obselete but will still work for your purposes. If you want to try your hand at transaction SOAMANAGER, be my guess.
Regards,
Rich Heilman
‎2008 Jun 16 9:04 PM
Hello Rich,
I had tested the WSDL using the home page . Here it works fine. But I want to create a proxy object and want to call the proxy object from ABAP .
is there anything you can help on the error that I told you in the previous post??
Thanks for your help in advance.
Thanks,
Greetson