on 12-12-2006 3:28 AM
We have created a webservice on XI that calls the BAPI_COMPANYCODE_GETLIST on an R/3 4.6C system. We generated the WSDL using the Integration builder and corrected the URL to point to the webservice (rather than the wizard proposed URL).
We can call the webservice through XMLspy and other tools. But we are not able to use webdynpro to invoke the webservice. We uploaded the webservice on the web application server so we can get to it through a URL.
The problem is that when we use webdynpro and try to link it to a webservice, we can point to the URL which is for the WSDL we uploaded to the webserver. But there is no other field in webdynpro to specify the URL for the webservice endpoint. The endpoint is actually in the WSDL and it seems correct:
Through XMLspy we can just point to the WSDL. And then we can just specify the username and password and it runs. But with webdynpro, we are not able to invoke it.
Any ideas what we can do?
Here is the WSDL below:
Thanks,
Jay
<?xml version="1.0" encoding="ISO-8859-1"?>
<wsdl:definitions xmlns:wsdl="http://schemas.xmlsoap.org/wsdl/" xmlns:rfc="urn:sap-com:document:sap:rfc:functions" xmlns:p1="http://xyz.com/xi/xi_demo" name="BAPI_COMPANYCODE_GETLIST_OUTBOUND_SYNC_MI" targetNamespace="http://xyz.com/xi/xi_demo">
<wsdl:types>
<xsd:schema xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns="urn:sap-com:document:sap:rfc:functions" targetNamespace="urn:sap-com:document:sap:rfc:functions">
<xsd:element name="BAPI_COMPANYCODE_GETLIST.Response">
<xsd:complexType>
<xsd:all>
<xsd:element name="RETURN" type="BAPIRETURN" minOccurs="0"/>
<xsd:element name="COMPANYCODE_LIST">
<xsd:complexType>
<xsd:sequence>
<xsd:element name="item" type="BAPI0002_1" minOccurs="0" maxOccurs="unbounded"/>
</xsd:sequence>
</xsd:complexType>
</xsd:element>
</xsd:all>
</xsd:complexType>
</xsd:element>
<xsd:element name="BAPI_COMPANYCODE_GETLIST">
<xsd:complexType>
<xsd:all>
<xsd:element name="COMPANYCODE_LIST">
<xsd:complexType>
<xsd:sequence>
<xsd:element name="item" type="BAPI0002_1" minOccurs="0" maxOccurs="unbounded"/>
</xsd:sequence>
</xsd:complexType>
</xsd:element>
</xsd:all>
</xsd:complexType>
</xsd:element>
<xsd:complexType name="BAPI0002_1">
<xsd:sequence>
<xsd:element name="COMP_CODE" minOccurs="0">
<xsd:simpleType>
<xsd:restriction base="xsd:string">
<xsd:maxLength value="4"/>
</xsd:restriction>
</xsd:simpleType>
</xsd:element>
<xsd:element name="COMP_NAME" minOccurs="0">
<xsd:simpleType>
<xsd:restriction base="xsd:string">
<xsd:maxLength value="25"/>
</xsd:restriction>
</xsd:simpleType>
</xsd:element>
</xsd:sequence>
</xsd:complexType>
<xsd:complexType name="BAPIRETURN">
<xsd:sequence>
<xsd:element name="TYPE" minOccurs="0">
<xsd:simpleType>
<xsd:restriction base="xsd:string">
<xsd:maxLength value="1"/>
</xsd:restriction>
</xsd:simpleType>
</xsd:element>
<xsd:element name="CODE" minOccurs="0">
<xsd:simpleType>
<xsd:restriction base="xsd:string">
<xsd:maxLength value="5"/>
</xsd:restriction>
</xsd:simpleType>
</xsd:element>
<xsd:element name="MESSAGE" minOccurs="0">
<xsd:simpleType>
<xsd:restriction base="xsd:string">
<xsd:maxLength value="220"/>
</xsd:restriction>
</xsd:simpleType>
</xsd:element>
<xsd:element name="LOG_NO" minOccurs="0">
<xsd:simpleType>
<xsd:restriction base="xsd:string">
<xsd:maxLength value="20"/>
</xsd:restriction>
</xsd:simpleType>
</xsd:element>
<xsd:element name="LOG_MSG_NO" minOccurs="0">
<xsd:simpleType>
<xsd:restriction base="xsd:string">
<xsd:maxLength value="6"/>
<xsd:pattern value="\d+"/>
</xsd:restriction>
</xsd:simpleType>
</xsd:element>
<xsd:element name="MESSAGE_V1" minOccurs="0">
<xsd:simpleType>
<xsd:restriction base="xsd:string">
<xsd:maxLength value="50"/>
</xsd:restriction>
</xsd:simpleType>
</xsd:element>
<xsd:element name="MESSAGE_V2" minOccurs="0">
<xsd:simpleType>
<xsd:restriction base="xsd:string">
<xsd:maxLength value="50"/>
</xsd:restriction>
</xsd:simpleType>
</xsd:element>
<xsd:element name="MESSAGE_V3" minOccurs="0">
<xsd:simpleType>
<xsd:restriction base="xsd:string">
<xsd:maxLength value="50"/>
</xsd:restriction>
</xsd:simpleType>
</xsd:element>
<xsd:element name="MESSAGE_V4" minOccurs="0">
<xsd:simpleType>
<xsd:restriction base="xsd:string">
<xsd:maxLength value="50"/>
</xsd:restriction>
</xsd:simpleType>
</xsd:element>
</xsd:sequence>
</xsd:complexType>
</xsd:schema>
</wsdl:types>
<wsdl:message name="rfc.BAPI_COMPANYCODE_GETLIST.Input">
<wsdl:part name="parameters" element="rfc:BAPI_COMPANYCODE_GETLIST"/>
</wsdl:message>
<wsdl:message name="rfc.BAPI_COMPANYCODE_GETLIST.Output">
<wsdl:part name="parameters" element="rfc:BAPI_COMPANYCODE_GETLIST.Response"/>
</wsdl:message>
<wsdl:portType name="BAPI_COMPANYCODE_GETLIST_OUTBOUND_SYNC_MI">
<wsdl:operation name="BAPI_COMPANYCODE_GETLIST_OUTBOUND_SYNC_MI">
<wsdl:input message="p1:rfc.BAPI_COMPANYCODE_GETLIST.Input"/>
<wsdl:output message="p1:rfc.BAPI_COMPANYCODE_GETLIST.Output"/>
</wsdl:operation>
</wsdl:portType>
<wsdl:binding name="BAPI_COMPANYCODE_GETLIST_OUTBOUND_SYNC_MIBinding" type="p1:BAPI_COMPANYCODE_GETLIST_OUTBOUND_SYNC_MI">
<soap:binding xmlns:soap="http://schemas.xmlsoap.org/wsdl/soap/" style="document" transport="http://schemas.xmlsoap.org/soap/http"/>
<wsdl:operation name="BAPI_COMPANYCODE_GETLIST_OUTBOUND_SYNC_MI">
<soap:operation xmlns:soap="http://schemas.xmlsoap.org/wsdl/soap/" soapAction="http://sap.com/xi/WebService/soap1.1"/>
<wsdl:input>
<soap:body use="literal" xmlns:soap="http://schemas.xmlsoap.org/wsdl/soap/"/>
</wsdl:input>
<wsdl:output>
<soap:body use="literal" xmlns:soap="http://schemas.xmlsoap.org/wsdl/soap/"/>
</wsdl:output>
</wsdl:operation>
</wsdl:binding>
<wsdl:service name="BAPI_COMPANYCODE_GETLIST_OUTBOUND_SYNC_MIService">
<wsdl:port name="BAPI_COMPANYCODE_GETLIST_OUTBOUND_SYNC_MIPort" binding="p1:BAPI_COMPANYCODE_GETLIST_OUTBOUND_SYNC_MIBinding">
<soap:address location="http://servername:50000/XISOAPAdapter/MessageServlet?channel=:BS_EXTERNALAPP:BAPI_COMPANYCODE_GETLIST_WEBSERVICE_SOAP_SENDER&version=3.0&Sender.Service=BS_EXTERNALAPP&Interface=http%3A%2F%2Fxyz.com%2Fxi%2Fxi_demo%5EBAPI_COMPANYCODE_GETLIST_OUTBOUND_SYNC_MI" xmlns:soap="http://schemas.xmlsoap.org/wsdl/soap/"/>
</wsdl:port>
</wsdl:service>
</wsdl:definitions>
You must be a registered user to add a comment. If you've already registered, sign in. Otherwise, register and sign in.
When i try to make the call through Test Data service in Visual composer, i get the error: "Portal request failed (Could not execute Web service operation)". This happens regardless of whether we supply input values for Comp Code and Comp Name.
So Visual composer is reading the WSDL and showing the input parameters correctly. The link for the WSDL needs the same authentication user and pwd as the actual webservice invocation link which is in the WSDL.
So i am not sure why the call is failing because it works easily through XMLspy.
- Jay
You must be a registered user to add a comment. If you've already registered, sign in. Otherwise, register and sign in.
pl Post the exception.
Regards, Anilkumar
You must be a registered user to add a comment. If you've already registered, sign in. Otherwise, register and sign in.
User | Count |
---|---|
81 | |
10 | |
10 | |
9 | |
7 | |
6 | |
6 | |
5 | |
4 | |
4 |
You must be a registered user to add a comment. If you've already registered, sign in. Otherwise, register and sign in.