cancel
Showing results for 
Search instead for 
Did you mean: 

Problem invoking XI webservice through webdynpro

Former Member
0 Kudos

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:

http://servername:50000/XISOAPAdapter/MessageServlet?channel=:BS_EXTERNALAPP:BAPI_COMPANYCODE_GETLIS...

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>

Accepted Solutions (0)

Answers (3)

Answers (3)

Former Member
0 Kudos

Hello Malla,

This link can to help you. This link treats one problem over connection with XI in Developer Studio, putting username and password.

I hope that it helps you, bye!.

Former Member
0 Kudos

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

Former Member
0 Kudos

pl Post the exception.

Regards, Anilkumar