Define a Webservice

Hi,
I am trying a SOAP --> PI --> BAPI scenario.
I am in the Configuration Directory and trying to define the webservice. However I am using a BAPI that I imported from our ECC system and it is not coming up as an option in step 3 for me to select. In fact for that fact I can't even see any IDocs or BAPI's I can only see the Message Interfaces. Is there something that needs to be done for me to be able to use BAPI, RFC or IDocs?

Shabarish Vijayakumar wrote:>
> >
Mendez wrote:
> > Hi,
> >
> > I am trying a SOAP --> PI --> BAPI scenario.
> >
> > I am in the Configuration Directory and trying to define the webservice. However I am using a BAPI that I imported from our ECC system and it is not coming up as an option in step 3 for me to select. In fact for that fact I can't even see any IDocs or BAPI's I can only see the Message Interfaces. Is there something that needs to be done for me to be able to use BAPI, RFC or IDocs?
>
> /people/shabarish.vijayakumar/blog/2007/11/07/walkthrough--soap-xi-rfcbapi
>
> you need to define a MI.
> Create a MI and use it to define the Webservice.
One tip.
If you want to actually have the BAPI structure for your Webservice definition then create a MI and provide the bapi req. and resp. in the MI

Similar Messages

  • Define the WebService action URL as a parameter

    Hi there,
    I would like to ask a question related to the use of the WebService action block.
    I've been using this action with no major issues, but would like to set the WSDL URL to be defined by a parameter. It could be in the shared memory, in the global properties, or somewhere else that is centralized. I've done some testing on  this, but had no success...
    Every real world project will have at least three different environments (DEV, QA and PRD), each with different settings for the web services that it must connect to, so I believe that a lot of people have dealt with this kind of problem.
    Please give me your insight on how to do that.
    I'm hoping not to get the answer: go to each action block and change the URL manually....
    Thanks!

    Sorry Jamie,
    which is exactly the action parameter to which i can link dinamically different soap address?
    I'm using 12.0.11 build (21) and I can see in the action these parameters:
    WSDLBaseUrl
    WSDLURL
    Username
    Password ecc..
    Should I pass the link to the WSDL or what?
    For example I have 3 web services on different machine (web services are identical), only deployed in different machines
    Should I pass to WSDLBaseUrl, after importing the structure
    "http://hostname:port/SapImport/WebService.asmx?WSDL"
    or something else?
    Thanks
    Mauro

  • Is there a portable way to define POJO webservice (JAX-WS 2.0)in Java EE 5?

    I would like to use JAX-WS 2.0 annotations to define POJO web services in Java EE 5 server. Implementing the service goes nicely, until I try to deploy it to the app server. It seems this step is application server specific: for Sun implementation I need sun-jaxws.xml, for Geronimo I need to define the service implementation as a servlet in web.xml (http://cwiki.apache.org/GMOxDOC20/simple-web-service-with-jax-ws.html) etc.
    Is it really so that if I want to support generic Java EE 5 servers, I can't use JAX-WS 2.0, because deployment is server specific? Of course I could provide Sun implementation with the application, and use it explicitly, but I would prefer not to bundle any Java EE components with my application.

    I found out that deployment is specified in different JSR (109). I quickly browsed through that specification and found out that basically everything except @WebService annotation is optional. So should a Java EE 5 compliant server publish the service automatically, just by adding that @WebService annotation? That didn't seem to be the case at least in Geronimo 2.0.2.

  • How to define the Webservices in except through WebDynpro.

    Hi friends,
                     Can anyone tell me about how to create the webservices?[ except in Webdynpro.].
      We want to give the input data as userdefined way, not in a file. can u tell me how to proceed ?

    Hi,
    Creation of webservice in XI
    Step 1:
    Create the DT,MT & MI(Synch/Asynch-outbound/Inbound)
    step2
    Create webservice for sender ( Integration Directory ->tools ->define webservice.
    It will generate the webservice and save it as .wsl file.
    " Award points if helpful"
    Regards,
    Jayasimha Jangam

  • Defining a Webservice for an XI SOAP Adapter

    Hi together,
    i have a little problem with an SOAP XI scenario.
    I have build an XML -> XI -> Idoc Scenario.
    Everything is working ok with the standard http request.
    Now i have made a new SOAP communication channel and set this one up
    with my message interface from the http scenario. After that i tried to generate
    a wsdl in the xi ( integration directory ). ( Scenario is Webservice -> XI -> Idoc )
    I send this file to one of our java programmers. He has to build the webservice
    on an other system. But he says that his system can not generate the webservice from the file.
    He gets this message in the Log Files:
    WSDL part <M2S_ROUTING> points to unavailable element with qname: {}<M2S_ROUTING>.
    Its my first time to set up an SOAP communication and i have no knowledge
    of java. I have tried to search in the forum, but there was no point for my
    problem.
    Can i use the normal message interface from my http scenario for the soap scenario?
    do i have to change something in the wsdl-file that xi generates?
    The url for the generation is ok. this one i have made like shown in "How To…
    Use the XI 3.0 SOAP Adapter".
    I also testet the scenario with XmlSpy and with that its works correct.
    Only the other system does not generate the webservice from the file.
    ( its is an NW2004 SP12 on an other server/network )
    Thanks for any answers,
    Carsten

    redefined question

  • Define WebService System

    Hi,
    I have a lot's of problem with the defined ws systems.
    The origin is that, as I understood, I have to define a WebService System each time I update the webservice definition else VC don't see the modifications.
    Actually, I have today multiple systems pointing to the same webservice. (I tried to delete them in portal System Administration/System Configuration/Content/Visual Composer but I wonder if I didn't break something !?)
    Could you help me to delete thoses systems and maybe explain me how to force VC to read the wsdl definition if updated ?
    thanks a lot,
    Thomas.

    Hi Thomas,
    If you are using EP6 or later, there is a way of clearing the PCD cache (which includes cached metadata from RFC, JDBC or web service connections).
    If you navigate to System Administration > Support > Portal Content Directory > PCD Administration, you will see a screen which allows you to either remove specific objects from the cache, or to flush the entire PCD cache.
    If you then close all Internet Explorer windows and log into VC again, you should see the updated WSDL.
    This is also mentioned in SAP Note 868887.
    Regards,
    Sascha

  • Returning Exeptions of a function module in webServices

    Hi,
    I defined a webService for a rfc with the following parameters:
    FUNCTION J_3S_F_RJEDSN.
    ""Lokale Schnittstelle:
    *"  IMPORTING
    *"     VALUE(ABAP) TYPE  J_3SREPORT
    *"     VALUE(VARNAME) TYPE  STRING DEFAULT '?'
    *"  EXPORTING
    *"     VALUE(DSN) TYPE  J_3SDSN
    *"     VALUE(GENERAT) TYPE  J_3SANZ
    *"     VALUE(CPAGE) TYPE  J_3SRJECP
    *"     VALUE(CPOLD) TYPE  CPCODEPAGE
    *"     VALUE(CPNEW) TYPE  CPCODEPAGE
    *"     VALUE(DESTIN) TYPE  TEXT40
    *"     VALUE(CMD) TYPE  TEXT50
    *"     VALUE(FILEFORMAT) TYPE  J_3S_FILEFORMAT
    *"     VALUE(TARGET_SYS) TYPE  SYSYSID
    *"     VALUE(JOBNAME) TYPE  J_3SSYMNAM
    *"  EXCEPTIONS
    *"      NOT_FOUND
    *"      NO_FILE
    *"      NO_GAPS_ALLOWED
    *"      PHYSICALLY_LOCKED
    I tested the webService using transaction wsadmin.
    In case of failure I do not get the declared exception.
    If I test the function module using transaction se37 the exception is returned.

    Hi Saurabh,
    Can you explain your scenario in detail with tcode and function module and all.
    Regards,
    kamalapriya

  • How to use ABAP Webservice to Trigger the start of BPMN

    Hello,
    My scenario is that i define a webservice in the SAP ECC system and import it in the process composer as the service interface. As to the start event, i set the above service interface and operation as the trigger service.
    After then, i call this webservice in the user exit of a T-Code. However, the BPMN is not started by this webservice call.
    Anyone can explain on this and tell me how to use the ABAP webservice as the starting event service interface?
    Thanks in advance
    Erick

    Hi Erick,
    When you develop a process model and use some arbitrary service interface in the message start event then this will be exposed on the Java / BPM system you deploed the process definition on.
    That allows you to start the process via this web service once you know its endpoint.
    So in case you want to start your process from the ABAP side you would need to call this endpoint on the Java side out of your ABAP system.
    Simply calling the web service / code on your ABAP system and hoping that this will also invoke the Java stack won't work I AFAIK.
    Best regards,
    Martin

  • Implementing Webservices Doubt

    Hi,
    i have few queries in my mind
    we have to integrate Third party webservices with our SAP R/3
    1) Assume that in IDOC--- SOAP scenario( External Web Service)  who has to generate the WSDL file????
    2) In SOAP -
    IDOC scenario( External web service) who has to generate the WSDL file.
    Regards
    Suman

    Hi,
    The basic thing behind the Webservice is to follow the wsdl structure.
    On Sender side of SOAP we could create the WSDL file with defining the Webservice in ID and that can be deployed on Sender system to send the request message from web service.
    On Receiver side normally the Webservice structure has to be define as per the receiver system so its preferrable to take the wsdl as per Receiver system and use it in XI as external defination.
    In your IDOC-SOAP scenario, Web service is on receiver end and you have to develope the wsdl on receiver end as per the services provided by receiver system and the URL directs to receiver system.
    Here you should not create the wsdl from XI as the url that you will be giving in XI will be pointing to XI Interface by giveing the service and communication details.
    http://<Host>:<port>/XISOAPAdapter/MessageServlet?channel=<party>:<service>:<communication channel>
    In SOAP ---IDOC Scenario do we need to deploy any WSDL File on XI Server and Why???
    Here SOAP will be sender and will be directing to XI server so we need to deploy it in XI.
    I hope now its clear to you
    Thanks
    Swarup

  • Error testing Webservice in XMLSPY

    Hello guys,
    I have a scenario Webservice -> XI -> Proxy Synchronous.
    I have created the webservice, and the URL is correct. I have a problem in the proxy because is expecting the Message Type and in the XML appears the name of Message Interface.
    I have the next XML in XI:
    <?xml version="1.0" encoding="UTF-8" standalone="yes"?>
    <!-- Call Adapter -->
    <m:I_Consult xmlns:m="http:/xxxxxxx" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:SOAP-ENC="http://schemas.xmlsoap.org/soap/encoding/">
         <FIELD1>String</FIELD1>
         <FIELD2>String</FIELD2>
    </m:I_Consult>
    And the message I have in XMLSPY is a Parse Error. In XI monitoring I see the next error:
    <?xml version="1.0" encoding="UTF-8" standalone="yes"?>
    <!-- Inbound Message -->
    <SAP:Error xmlns:SAP="http://sap.com/xi/XI/Message/30" xmlns:SOAP="http://schemas.xmlsoap.org/soap/envelope/" SOAP:mustUnderstand="1">
         <SAP:Category>XIProxy</SAP:Category>
         <SAP:Code area="ABAP">PARSE_APPLICATION_DATA</SAP:Code>
         <SAP:P1>Request Message</SAP:P1>
         <SAP:P2>CX_ST_MATCH_ELEMENT</SAP:P2>
         <SAP:P3>/1SAI/TXS4C324AF6BDD9E4AD352A</SAP:P3>
         <SAP:P4>XML Bytepos.: 304  XML Path: m:I_Consult(1) Error Text: Elemento MConsult previsto</SAP:P4>
         <SAP:AdditionalText/>
         <SAP:ApplicationFaultMessage namespace=""/>
         <SAP:Stack>Error during XML =&gt; ABAP conversion (Request Message; error ID: CX_ST_MATCH_ELEMENT; (/1SAI/TXS4C324AF6BDD9E4AD352A XML Bytepos.: 304  XML Path: m:I_Consult(1) Error Text: Elemento MConsult previsto))
    Elemento MConsult previsto
    </SAP:Stack>
         <SAP:Retry>M</SAP:Retry>
    </SAP:Error>
    The text is in spanish, but I the problem is that R/3 is waiting MConsult (Message Type) despite of I_Consult (Message Interface).
    In R/3 I am using the sentence INPUT-MConsult-FIELD1, so I understand that is waiting MConsult in the calling, but I don't understand why when I create the SOAP request in XMLSPY it doesn't appear.
    I think all is created correctly in XI including SOAP adapter, and when I define the Webservice i put the message I_Consult with his namespace and I download the WSDL created.
    When I test the WSDL in XMLSPY I have this error.
    Do you know if I have to do some changes in the WSDL in XMLSPY before to send the SOAP request? I have no access to the WSNAVIGATOR so I can't do the test in this part.
    Many thanks in advance.
    Regards,
    Xavi.

    Hello guys,
    now is running, because I have created a message mapping.
    But theoretically if the message from the webservice is the same that goes to the proxy it wouldn't be necessary to create the mapping isn't it?
    I don't understand why if I create the mapping is running, and if I do without it is not running because the message send by SOAP is the same and the message types are identhical. Somebody can explain it?
    Many thanks.
    Regards,
    Xavi.

  • Async WebService processed as synchronous

    Hi,
    I have the following scenario on a SAP XI 7.0
    webService -> R/3 Idoc
    As I don't want to use the sync/async bridge I defined the webService sender channel with QoS = Exactly Once to make it asynchronous.
    The calling client (correctly) gets back an http 200 response. However, in the SAP XI monitoring I see QoS = Best Effort, processing mode = synchronous and the error message:
    "The process does not support the given synchronous interface or does not support synchronous messages
    Exception CX_WAPI_DEF_PROPERTY_NOT_FOUND occurred"
    All interfaces are defined asynchronous.
    Has anybody an idea?
    Thanks, Petra

    Petra,
    Have you defined an Asynch outbound interface and followed the wizard in ID to create your WSDL? Also, in Sender SOAP channel, make the setting as EO.
    Regards
    Jai

  • Testing Webservices in XI with XML Spy

    Hi ,
          I am trying to define a Webservice in XI from the ID by going to Tools -> Define Webservice( the usual way ) and I got the WSDL.I am trying to use the same from XML Spy to send SOAP messages to XI.But there is something wrong in the link generated.Does somebody has a prior exp or idea about what needs to be done exactly to get it running.
    Regards,
    Sudip.

    Hi Bhavesh,
                        I was trying the second option to send it to the integration server directly. But the error which I get it as follows
    <SOAP:Envelope xmlns:SOAP="http://schemas.xmlsoap.org/soap/envelope/">
         <SOAP:Body>
              <SOAP:Fault>
                   <faultcode>SOAP:Server</faultcode>
                   <faultstring>System Error</faultstring>
                   <detail>
                        <s:SystemError xmlns:s="http://sap.com/xi/WebService/xi2.0">
                             <context/>
                             <code>RCVR_DETERMINATION.MESSAGE_INCOMPLETE</code>
                             <text>Message is incomplete. No Sender found</text>
                        </s:SystemError>
                   </detail>
              </SOAP:Fault>
         </SOAP:Body>
    </SOAP:Envelope>
    But this is a working scenario.
    link which is generated is as follows
    http://bsw6220:51000/sap/xi/engine?type=entry&version=3.0&Sender.Party=http%3A%2F%2Fsap.com%2Fxi%2FXI%3AXIParty%3AAttachmentAdapter&Sender.Service=LockBoxFileCreationAtProvider&Interface=http%3A%2F%2Fsap.com%2Fxi%2FAP%2FGlobalization%5EUS_BAI2_IN_INTERFACE
    Any idea what went wrong?
    Regards,
    Sudip.

  • Create an XI webservice and import it to the NWDS

    Hi all,
    i created a webservice via the "define webservice" option in XI/PI. But when i try to use it in my NWDS the following error occurs:
    Exception on creation of service metadata for WSDL URL ......
    I read multiple threads and blogs about defining a webservice via XI but perhaps i still made something wrong.
    The XI scenario is an IDOC (ORDERS.ORDERS05) in xml format that lays on a server. By a senderagreement it is importet to XI. From there the receiver businesssystem sends it to the R3 system.
    How would you create the webservice in XI? Let's say the outbound interface is called MI_ORDERS_OUT. As the inbound interface i use the IDOC "ORDERS.ORDERS05".
    Sorry but i've really got no idea whats wrong with the created webservice. A pre-defined webservice like the google.wsdl works fine.
    Thanks and Regards,
    Steven

    Hi Hui, hi Chilla
    thanks for your answers but thats what i did.
    At least i'm wondering why i can't import the created webservice in my NWDS. It always aborts with the error mentioned above.
    Perhaps i'll describe what i did to create the webservice. The XI interface is running accordingly. But now i want to start the interface in my NWDS in a WebDynrpo application using a webservice which is created in XI.
    The outbound interface is:  MI_SO_IDOCTEST_ORDERS_OUT
    inbound interface            :  ORDERS.ORDERS05
    communication channel  :  SO_IDOCTEST_ORDERS_FILE_OUT
    SOAP sender channel    :  SO_IDOCTEST_SOAP_OUT
    (configured with interface name : MI_SO_IDOCTEST_ORDERS_OUT and
                           interface namespace :  http://sycor/xi/sotemp02)
    In "define webservice" i entered the following values:
    SOAP URL                    :  http://sygosrv02:50000/XISOAPAdapter/MessageServlet?channel=:BS_SOTEST_T:SO_IDOCTEST_SOAP_OUT
    Specify the interface       :  MI_SO_IDOCTEST_ORDERS_OUT
    the next vaules are not needed for the SOAP adapter as i understood, so i filled anything in.
    Perhaps I'm trying to do a scenario that won't work in this way, but what do i have to change to make it work?
    Thanks and regards,
    Steven
    Edit:
    basicly i want to do this:
    https://www.sdn.sap.com/irj/servlet/prt/portal/prtroot/docs/library/uuid/5f3ee9d7-0901-0010-1096-f5b548ac1555
    but the import of the created XI webservice does not work. And now i have no idea why i can't even import it. Is it because of the interface message type which is of course ORDERS.ORDERS05?
    Message was edited by:
            Steven

  • Calling WebServices using Flex Builder

    Hello,
    I want to use a WebService in the Flex Builder. I first defined the WebService:
    <mx:WebService id="test" wsdl="http://ld9030.wdf.sap.corp:50050/sap/bc/srt/rfc/sap/ZTP_TEST4?wsdl" result="log(event)" showBusyCursor="true">
    I have 2 importing parameters in the WebService (IText and IText2).
    But in the log-method, I cannot access these parameters:
        private function log(event:ResultEvent):void {
         var test1 = event.result.IText;
    Do you know, how I can access the import parameters?
    Please find attached the wsdl definition.
    Thanks,
    Thomas
      <?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: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:soap:functions:mc-style" targetNamespace="urn:sap-com:document:sap:soap:functions:mc-style" elementFormDefault="unqualified" attributeFormDefault="qualified">
    - <xsd:element name="TpTest">
    - <xsd:complexType>
    - <xsd:sequence>
      <xsd:element name="IFlag" type="xsd:string" />
      <xsd:element name="IFlag2" type="xsd:string" />
      </xsd:sequence>
      </xsd:complexType>
      </xsd:element>
    - <xsd:element name="TpTestResponse">
    - <xsd:complexType>
    - <xsd:sequence>
      <xsd:element name="EText" type="xsd:string" />
      <xsd:element name="EText2" type="xsd:string" />
      </xsd:sequence>
      </xsd:complexType>
      </xsd:element>
      </xsd:schema>
      </wsdl:types>
    - <wsdl:message name="TpTest">
      <wsdl:part name="parameters" element="tns:TpTest" />
      </wsdl:message>
    - <wsdl:message name="TpTestResponse">
      <wsdl:part name="parameters" element="tns:TpTestResponse" />
      </wsdl:message>
    - <wsdl:portType name="ZTP_TEST4">
    - <wsdl:operation name="TpTest">
      <wsdl:input message="tns:TpTest" />
      <wsdl:output message="tns:TpTestResponse" />
      </wsdl:operation>
      </wsdl:portType>
    - <wsdl:binding name="ZTP_TEST4SoapBinding" type="tns:ZTP_TEST4">
      <soap:binding style="document" transport="http://schemas.xmlsoap.org/soap/http" />
    - <wsdl:operation name="TpTest">
      <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="ZTP_TEST4Service">
    - <wsdl:port name="ZTP_TEST4SoapBinding" binding="tns:ZTP_TEST4SoapBinding">
      <soap:address location="http://us4419.wdf.sap.corp:50050/sap/bc/srt/rfc/sap/ZTP_TEST4?sap-client=000" />
      </wsdl:port>
      </wsdl:service>
      </wsdl:definitions>

    You can try putting the URL in a var as the next example:
    private var wsdl:String = "http://sapbdo5.bdo-argentina.com:8002/sap/bc/srt/rfc/sap/ZVER_TABLA?wsdl=1.1";
    private var wsdl2:String = "http://sapbdo5.bdo-argentina.com:8002/sap/bc/srt/rfc/sap/ZVER_TABLA?sap-client=600&wsdl=1.1";
              [Bindable] private var datos:ArrayCollection;
              private function retrieve_data():void{
                   //ws.loadWSDL(wsdl);
                                                                    ws.loadWSDL(wsdl2);
                   ws.ZVER_TABLA(txt.text);
              private function handleError(ev:Event):void{
                   Alert.show("Se produjo un error");
              private function handleResult(ev:ResultEvent):void{
                   datos = ev.result.DATA;
         ]]>
    </mx:Script>
    <mx:WebService id="ws" showBusyCursor="true" makeObjectsBindable="true">
         <mx:operation name="ZVER_TABLA" fault="handleError(event)"
         result="handleResult(event)"/>
    </mx:WebService>
    <mx:TextInput id="txt" enter="retrieve_data()" x="10" y="10"/>
    <mx:Button label="Ver datos" click="retrieve_data()" x="178" y="10"/>
    <mx:DataGrid id="dtGrid" horizontalScrollPolicy="auto" dataProvider=""
    verticalScrollPolicy="auto" right="10" bottom="10" top="40" left="10"
    visible="false"/>

  • Connecting webservice

    Hi all,
            I want to connect webservice to R/3 .Here am getting input from Webservice like "empno" , so that  If I choose SOAP to RFC synchronus ,then how would I get the input which is coming from webservice.
    Whether I want to use NWDS to perform this task or any other alternative ways.
    Regards,
    S.K.Karthikeyan.

    Hi,
    If your scenario is SOAP to RFC, then you have to deploy the Sender side structure in XI and have to define the Webservice as mentioned in below blog,
    Invoke Webservices using SAPXI
    Invoke Webservices using SAPXI
    and you can send the request to SAP -RFC as below
    Testing XI exposed Web-Services
    Testing XI exposed Web-Services
    soap to soap scenario
    Invoke Webservices using SAPXI
    Thanks
    Swarup

Maybe you are looking for