Flex2 call SAP Web Service

Hello all Experts
I create a web service from sap function. I test the web service with wsadmin and the service runs well. I'd like to use Flex2 to consume the web service for test. But I met compile error in Flex2. In my Flex application, I use <mx:WebService> component. Follow is my flex code.
<?xml version="1.0" encoding="utf-8"?>
<mx:Application xmlns:mx="http://www.adobe.com/2006/mxml" layout="absolute"
          creationComplete="sapwebservice.BAPI_BUPA_CENTRAL_GETDETAIL.send()">
     <mx:WebService id="sapwebservice"
          wsdl="http://myhost:8011/sap/bc/srt/rfc/sap/ZWS_BUPA_CENTRAL_GETDETAIL?sap-client=600&wsdl=1.1&mode=sap_wsdl&style=rpc"
          useProxy="true">
          <mx:operation name="BAPI_BUPA_CENTRAL_GETDETAIL">
               <mx:request>
                    <Businesspartner>0000000111</Businesspartner>
                    <ValidDate>2006-08-09</ValidDate>
               </mx:request>
          </mx:operation>
     </mx:WebService>
     <mx:Panel x="20" y="20" width="480" height="400" layout="absolute"
          title="{sapwebservice.BAPI_BUPA_CENTRAL_GETDETAIL.CENTRALDATAPERSON.FIRSTNAME}">
     </mx:Panel>
</mx:Application>
When I try to compile the code, there is error called "wsdl"  must end with the ';' delimiter. Does anybody know how to call sap web service in Flex?
Many Thanks

<?xml version="1.0" encoding="utf-8"?>
<mx:Application xmlns:mx="http://www.adobe.com/2006/mxml"
creationComplete="sapwebservice.BupaCentralGetdetail.send();">
<mx:Script>
     <![CDATA[          
          import mx.rpc.soap.WebService;
          import mx.collections.ArrayCollection;
          import mx.rpc.events.ResultEvent;
          import mx.rpc.events.FaultEvent;
          [Bindable]
          public var AAddr : String = "http://epmtest.dongbuchem.com:8000/sap/bc/srt/rfc/sap/BUPA_WSD?sap-client=100&wsdl=1.1&style=rpc";
<mx:WebService id="sapwebservice" wsdl=""
     result="sendHandler(event)" fault="faultHandler(event)">
Message was edited by: jinhyoung park

Similar Messages

  • Calling SAP Web Service from BPEL

    Hi
    I am trying to call a SAP Web Service friom BPEL using the SAP WSDL.It requires a basic authentication (Username/Password) which i am providing as partnerlink properties in bpel.xml.
    While testing the BPEL Process from the console, it is giving me an error
    "<summary>exception on JaxRpc invoke: HTTP transport error: javax.xml.soap.SOAPException: java.security.PrivilegedActionException: javax.xml.soap.SOAPException: Bad response: 401 Unauthorized</summary>"
    But when i am testing it from SOAP UI tool it is giving me the desired response.
    Does anyone has any idea why it is failing from BPEL?Is there any configuration which i am missing?
    Regards
    Ayush

    HI Ayush / Suryaveer..
    I am stuck at the same situation, trying to invoke a secured SAP webservice. The invoke fails with a security previlege exception.
    Am using the basicHeaders property to propagate the credentials to the SAP system.
    Can you please suggest on the same.
    credential propagation in bpel.xml :
    <property name="basicHeaders">propagate</property>
    <property name="basicUsername">ABC</property>
    <property name="basicPassword">DEF</property>

  • Exception during calling SAP Web service

    Hi,
    I have exposed BAPI as a web service and trying to access that web service using
    SAP Netweaver by creating CAF application service.
    I have successfully get output from web service.
    To get output for specific structure i have to provide empty structure of that in input.
    This is working fine.
    But for one particular structure when i am providing empty structure i am getting
    "java.lang.IllegalArgumentException".
    I have started BAPI in Debug mode and tested but from BAPI result is successfully delivered but when it received at
    SAP Netweaver side it throws above error.
    Please suggest how to find out exact problem.
    I have checked log viewer also. I found only one entry about getting exception. no extra information is provided.
    Thanks in Advance...

    Hi,
    I have exposed BAPI as a web service and trying to access that web service using
    SAP Netweaver by creating CAF application service.
    I have successfully get output from web service.
    To get output for specific structure i have to provide empty structure of that in input.
    This is working fine.
    But for one particular structure when i am providing empty structure i am getting
    "java.lang.IllegalArgumentException".
    I have started BAPI in Debug mode and tested but from BAPI result is successfully delivered but when it received at
    SAP Netweaver side it throws above error.
    Please suggest how to find out exact problem.
    I have checked log viewer also. I found only one entry about getting exception. no extra information is provided.
    Thanks in Advance...

  • Calling SAP Web Services does not work

    Hi,
    using this little program, I try to get a simple "Hello World" from a webservice in SAP.
    require 'soap/rpc/driver'
    s = SOAP::RPC::Driver.new('http://server:port/sap/bc/srt/rfc/sap/Z_WS_RUBY/', 'urn:sap-com:document:sap:soap:functions:mc-style')
    s.add_method("Z_WS_RUBY", "StringIn" )
    p s.Z_WS_RUBY("World")
    Unfortunately there is an error:
    in `parse_local': unknown namespace qualifier: xml (XSD::NS::FormatError)
         from D:/rubyy/InstantRails/ruby/lib/ruby/1.8/soap/encodingstyle/soapHandler.rb:532:in `decode_attrs' ETC
    In the WebService Recorder I find that the call is going through with request:
      <?xml version="1.0" encoding="utf-8" ?>
    - <env:Envelope xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:env="http://schemas.xmlsoap.org/soap/envelope/" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
    - <env:Body>
    - <n1:Z_WS_RUBY xmlns:n1="urn:sap-com:document:sap:soap:functions:mc-style" env:encodingStyle="http://schemas.xmlsoap.org/soap/encoding/">
      <StringIn xsi:type="xsd:string">World</StringIn>
      </n1:Z_WS_RUBY>
      </env:Body>
      </env:Envelope>
    but response ist like:
    - <soap-env:Envelope xmlns:soap-env="http://schemas.xmlsoap.org/soap/envelope/">
    - <soap-env:Body>
    - <soap-env:Fault>
      <faultcode>soap-env:Client</faultcode>
      <faultstring xml:lang="en">Operation not supported</faultstring>
      </soap-env:Fault>
      </soap-env:Body>
      </soap-env:Envelope>
    What am I mssing here ?
    Any help is appreciated.
    Regards
    Marcus
    Message was edited by:
            Marcus Schiffer

    Hi,
    I am using SAP WAS Rel. 7.0. SAPWAS is of 0.11.
    Couldnt retype your exact example, but I hope it works with my simple program too.
    I activated the trace, here the result:
    ignored element: Feature
    ignored element: useFeature
    Wire dump:
    = Request
    ! CONNECT TO myserver:myport
    ! CONNECTION ESTABLISHED
    POST /sap/bc/srt/rfc/sap/Z_WS_RUBY?sap-client=800&sap-language=EN HTTP/1.1
    SOAPAction: "urn:sap-com:document:sap:rfc:functions"
    Content-Type: text/xml; charset=utf-8
    Authorization: Basic gzhtfzu=
    User-Agent: SOAP4R/1.5.5 (/146, ruby 1.8.6 (2007-03-13) [i386-mswin32])
    Date: Thu, 14 Jun 2007 08:14:05 GMT
    Content-Length: 332
    Host: myserver:myport
    <?xml version="1.0" encoding="utf-8" ?>
    <env:Envelope xmlns:env="http://schemas.xmlsoap.org/soap/envelope/"
        xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
      <env:Body>
        <n1:ZTestWsRuby xmlns:n1="urn:sap-com:document:sap:rfc:functions">
          <STRINGIN>dd</STRINGIN>
        </n1:ZTestWsRuby>
      </env:Body>
    </env:Envelope>
    = Response
    HTTP/1.1 500 Internal Server Error
    set-cookie: sap-usercontext=sap-language=EN&sap-client=800; path=/
    set-cookie: sap-recorder_sid=%2cc%3dID6-95D8115601C54670F9E2221A00000000--1%2co%3jhggz; path=/; domain=mydomain
    content-type: text/xml; charset=utf-8
    content-length: 264
    sap-srt_id: 20070614/101842/v1.00_final_6.40/466FCFE5847D01C50000000095D81156
    server: SAP Web Application Server (1.0;700)
    <soap-env:Envelope xmlns:soap-env="http://schemas.xmlsoap.org/soap/envelope/"><soap-env:Body><soap-env:Fault><faultcode>soap-env:Client</faultcode><faultstring xml:lang="en">Operation not supported</faultstring></soap-env:Fault></soap-env:Body></soap-env:Envelope>
    The call does not ecven go through to the Function Module in SAP.
    Here is the call that worked from my VB  Program:
    <?xml version="1.0" encoding="utf-8" ?>
    - <env:Envelope xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:env="http://schemas.xmlsoap.org/soap/envelope/" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
    - <env:Body>
    - <n1:ZTestWsRuby xmlns:n1="urn:sap-com:document:sap:soap:functions:mc-style" env:encodingStyle="http://schemas.xmlsoap.org/soap/encoding/">
      <STRINGIN xsi:type="xsd:string">wert</STRINGIN>
      </n1:ZTestWsRuby>
      </env:Body>
      </env:Envelope>

  • How to call COPY web service from sharepoint in SAP

    Hello Experts,
    I want to call COPY web service from SharePoint in SAP  web dynpro / JAVA application.
    However, when I try to connect to web service and download wsdl using   http:// <hostname:port>/_vti_bin/copy.asmx?wsdl
    it results in Unauthorized error and doesnt complete the setup. Detail error is :
     Error occurred while downloading WSIL file. Error message: Deserializing xml stream  http:// <hostname:port>/_vti_bin/copy.asmx?wsdl
    failed.com.sap.engine.services.webservices.espbase.wsdl.exceptions.WSDLException: Invalid Response Code: (401) Unauthorized. The requested URL was:"Connect to 
    http:// <hostname:port>/_vti_bin/copy.asmx?wsdl , used user to connect: userid"
    I am trying to connect with server user account. Any idea on what authorizations might be required or any help on the scenario .
    -Abhijeet

    Here's an example on how to delete a list item, hopefully this helps
    package com.jw.sharepoint.examples;
    import java.io.File;
    import java.text.SimpleDateFormat;
    import java.util.Calendar;
    import java.util.Date;
    import java.util.Properties;
    import org.apache.commons.logging.Log;
    import org.apache.commons.logging.LogFactory;
    import org.w3c.dom.Element;
    import org.w3c.dom.Node;
    import org.w3c.dom.NodeList;
    import com.microsoft.sharepoint.webservices.CopySoap;
    import com.microsoft.sharepoint.webservices.GetListItems;
    import com.microsoft.sharepoint.webservices.GetListItemsResponse;
    import com.microsoft.sharepoint.webservices.ListsSoap;
    import com.microsoft.sharepoint.webservices.UpdateListItems.Updates;
    import com.microsoft.sharepoint.webservices.UpdateListItemsResponse.UpdateListItemsResult;
    public class SharePointDeleteListItemExample extends SharePointBaseExample {
     private String delete = null;
     private String deleteListItemQuery = null;
     private String queryOptions = null;
     private static final Log logger = LogFactory.getLog(SharePointUploadDocumentExample.class);
     private static Properties properties = new Properties();
     public Properties getProperties() {
      return properties;
      * @param args
     public static void main(String[] args) {
      logger.debug("main...");
      SharePointDeleteListItemExample example = new SharePointDeleteListItemExample();
      try {
       example.initialize();
       CopySoap cp = example.getCopySoap();
       example.uploadDocument(cp, properties.getProperty("copy.sourceFile"));
       ListsSoap ls = example.getListsSoap();
       example.executeQueryAndDelete(ls);
      } catch (Exception ex) {
       logger.error("Error caught in main: ", ex);
     public void executeQueryAndDelete(ListsSoap ls) throws Exception {
      Date today = Calendar.getInstance().getTime();
      SimpleDateFormat simpleDateFormat = new SimpleDateFormat("yyyy-MM-dd");
      String formattedDate = simpleDateFormat.format(today);
      String queryFormatted = String.format(deleteListItemQuery,formattedDate);  
      GetListItems.QueryOptions msQueryOptions = new GetListItems.QueryOptions();
      GetListItems.Query msQuery = new GetListItems.Query();
      msQuery.getContent().add(createSharePointCAMLNode(queryFormatted));
      msQueryOptions.getContent().add(createSharePointCAMLNode(this.queryOptions));
      GetListItemsResponse.GetListItemsResult result = ls.getListItems(
        properties.getProperty("folder"), "", msQuery, null, "",
        msQueryOptions, "");
      writeResult(result.getContent().get(0), System.out);
      Element element = (Element) result.getContent().get(0);
      NodeList nl = element.getElementsByTagName("z:row");
      for (int i = 0; i < nl.getLength(); i++) {
       Node node = nl.item(i);
       String id = node.getAttributes().getNamedItem("ows_ID").getNodeValue();
       String fileRefRelativePath = node.getAttributes().getNamedItem("ows_FileRef").getNodeValue();
       logger.debug("id: " + id);
       logger.debug("fileRefRelativePath: " + fileRefRelativePath);
       String fileRef = properties.getProperty("delete.FileRef.base") + fileRefRelativePath.split("#")[1];
       logger.debug("fileRef: " + fileRef);
       deleteListItem(ls, properties.getProperty("folder"), id, fileRef);
     public void deleteListItem(ListsSoap ls, String listName, String listId, String fileRef) throws Exception {
      String deleteFormatted = String.format(delete, listId, fileRef);  
      Updates u = new Updates();
      u.getContent().add(createSharePointCAMLNode(deleteFormatted));
      UpdateListItemsResult ret = ls.updateListItems(listName, u);
      writeResult(ret.getContent().get(0), System.out);
     public void initialize() throws Exception {
      logger.info("initialize()...");
      properties.load(getClass().getResourceAsStream("/SharePointDeleteListItemExample.properties"));
      super.initialize();
      this.delete = new String(readAll(new File(this.getClass().getResource("/Delete.xml").toURI())));
      this.deleteListItemQuery = new String(readAll(new File(this.getClass().getResource("/DeleteListItemQuery.xml").toURI())));
      this.queryOptions = new String(readAll(new File(this.getClass().getResource("/QueryOptions.xml").toURI())));
    Brandon James SharePoint Developer/Administrator

  • Create an SAP Web Service Consumer (calling External Sharepoint Web Service from ABAP)

    hi all,
    i am trying to
    Create an SAP Web Service Consumer (calling sharepoint Web Service from ABAP) using blog given on following link
    Create an SAP Web Service Consumer (calling External Web Service from ABAP) 
    but when i am using my url at the end of step 3, i am getting error as follows:
    i dont want to use local file option. Can anyone help me in this??
    thanks in advance
    regards,
    SDS

    Hi SDS,
    you recieved a http 404 error when trying to access the Sharepoint Web service. Http 404 indicates that the resource is not reachable (cf. HTTP 404 - Wikipedia, the free encyclopedia). There could be different reasons for that. I'd suggest rubble checking the URL of the Web service first. Try to access it from a browser on you desktop. If the URL is correc. Most likely the SAP system is not able to connect to the URL. This could, for example, be due to some firewall restrictions. You should ask a SAP Basis colleague if they are able to access the URL of the Web service from the server on which the SAP system is running.
    Christian

  • Call a web service in an interactive form within SAP

    hi experts
    I need to call a Web service into an interactive form within SAP, but to do so fails to press on the button that calls the Web service, the strange thing is that if I keep the PDF in my PC, then open that PDF download button works correctly if I am doing something wrong?, you can do what I need?.
    Greetings.

    Hi asdasdasdasd1,
    not sure if I fully understand your problem but it sounds like you are trying to execute your Web Service in the preview tab of LiveCycle Designer. When you do this, features of the Reader Extension Rights are not available so you will have to generate the form via the ADS and test the WS on the generated rendition as you have done.
    Let me now if this helps.
    Regards,
    Ben.

  • Error while calling a Web Service from a Session Bean

    I am trying to call a Web Service from a Session Bean using an Axis client, but I am getting the next exception:
    java.rmi.ServerException: RemoteException occurred in server thread; nested exception is:
         java.rmi.RemoteException: org/apache/axis/client/Service
         at com.sun.corba.ee.internal.javax.rmi.CORBA.Util.wrapException(Util.java:364)
         at javax.rmi.CORBA.Util.wrapException(Util.java:277)
         at com.ing.mx.seguros.siniestros.litigios.ejb._SisaServiceRemote_Stub.invocarWebSericeProveedorLegal(Unknown Source)
         at com.ing.mx.seguros.siniestros.litigios.proxy.SisaWsProxy.solicitarApoyoLegal(SisaWsProxy.java:132)
         at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
         at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
         at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
         at java.lang.reflect.Method.invoke(Method.java:324)
         at org.apache.axis.providers.java.RPCProvider.invokeMethod(RPCProvider.java:402)
         at org.apache.axis.providers.java.RPCProvider.processMessage(RPCProvider.java:309)
         at org.apache.axis.providers.java.JavaProvider.invoke(JavaProvider.java:333)
         at org.apache.axis.strategies.InvocationStrategy.visit(InvocationStrategy.java:71)
         at org.apache.axis.SimpleChain.doVisiting(SimpleChain.java:150)
         at org.apache.axis.SimpleChain.invoke(SimpleChain.java:120)
         at org.apache.axis.handlers.soap.SOAPService.invoke(SOAPService.java:481)
         at org.apache.axis.server.AxisServer.invoke(AxisServer.java:323)
         at org.apache.axis.transport.http.AxisServlet.doPost(AxisServlet.java:854)
         at javax.servlet.http.HttpServlet.service(HttpServlet.java:760)
         at org.apache.axis.transport.http.AxisServletBase.service(AxisServletBase.java:339)
         at javax.servlet.http.HttpServlet.service(HttpServlet.java:853)
         at org.apache.catalina.core.StandardWrapperValve.invokeServletService(StandardWrapperValve.java:720)
         at org.apache.catalina.core.StandardWrapperValve.access$000(StandardWrapperValve.java:118)
         at org.apache.catalina.core.StandardWrapperValve$1.run(StandardWrapperValve.java:278)
         at java.security.AccessController.doPrivileged(Native Method)
         at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:274)
         at org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:505)
         at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:212)
         at org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:505)
         at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:203)
         at org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:505)
         at com.iplanet.ias.web.connector.nsapi.NSAPIProcessor.process(NSAPIProcessor.java:158)
         at com.iplanet.ias.web.WebContainer.service(WebContainer.java:850)Thanks for any help provided.
    Does any one have insights about it?

    Hi Swapna,
    from your screenshot it seems that you actually try to call the service in your Data Source Expression field. You should set path to the WSDL file here actually - this could be either URL to SAP or to filesystem, as Anton suggested (this could be faster). Have you created endpoint binding for your service in transaction SOAMANAGER? If yes, then simply download the corresponding WSDL with binding or copy the URL which leads to it. But also test whether you are able to retrieve the WSDL without logging into SAP (close all browser windows and then open a new one otherwise session ID from other browser windows can be reused).
    If you have to give username and password, then setup anonymous alias in transaction SICF, for example.
    Pleas, check my previous post on the same subject here: Re: BCM7 IVR : SOAP request for client identification in CRM .
    Maybe it could help.
    Regards,
    Dawood.

  • Error while calling a web service in web dynpro through XI

    Hello,
    I was following a blog for Invoking Webservices using SAP XI
    /people/siva.maranani/blog/2005/09/03/invoke-webservices-using-sapxi
    I have done all the steps specified but when I import the wsdl file in web dynpro application and deploy the project I get the following error:
    <b>"Exception on execution of web service with WSDL URL 'bankws_OUT_MI.wsdl' with operation 'bankws_OUT_MI' in interface 'bankws_OUT_MI'"</b>
    where:
    bankws_OUT_MI -
    is the message interface name.
    I have defined a web service in the integration reopsitory as follows:
    <b>http://PEP:50000/XISOAPAdapter/MessageServlet?channel=:bankws:s_comm</b>
    where 
    bankws --- service name
    s_comm -
    sender communication channel
    selected 'bankws_OUT_MI' message interface from the given choices
    'bankws_IN_MI'  or 'bankws_OUT_MI'.
    interface name: bankws_OUT_MI -
    mesage interface name
    Can anyone guide me how to proceed further. Also if possible can anyone send me some helpful documentation regarding how to call a web service in web dynpro through XI.
    Thanks in advance.
    Regards,
    Imtool

    hello everyone,
    I made the whole scenario again and it is running succusfully in Xml spy. Now when i call the webservice in web dynpro...  I get the following error:
    <b>com.sap.engine.services.webservices.espbase.discovery.BaseIOException: Invalid Response Code 200 while accessing URL: http://PEP:50000/XISOAPAdapter/MessageServlet?channel=:OOMS_WS_OUT:CC_OOMS_WS_OUT. Response Message: OK. Content Type: text/html; charset=utf8. Body Content: <html> <head><title>MessageServlet</title></head> <body> <h3>Message Servlet is in Status OK</h3> <h3>Status information:</h3> Servlet com.sap.aii.af.mp.soap.web.MessageServlet (Version $Id: //tc/xi/645_VAL_REL/src/_adapters/_soap/java/com/sap/aii/af/mp/soap/web/MessageServlet.java#7 $) bound to /MessageServlet <br/>Classname ModuleProcessor: null <br/>Lookupname for localModuleProcessorLookupName: localejbs/ModuleProcessorBean <br/>Lookupname for remoteModuleProcessorLookupName: null <br/>ModuleProcessorClass not instantiated <br/>ModuleProcessorLocal is Instance of com.sap.aii.af.mp.processor.ModuleProcessorLocalLocalObjectImpl0 <br/>ModuleProcessorRemote not instantiated </body></html></b>
    I have also made the entry in the visual administrator for metadata_dest and execution_dest.
    Does anybody have an idea what mistake i am doing.
    Thanks,
    Imtool

  • QName error while calling a web service from Sourcing

    I need to call a web service from Sourcing script. The web service team has provided us the WSDL and I have generated the required stubs using wsimport and packaged the required java classes in a custom JAR. Now while calling a web method using this jar from my script, I am getting and exception. The exception message that I printed out was this:
    Caught exception e with msg Connection IO Exception. Check nested exception for details. (Connection
    IO Exception. Check nested exception for details. (Connection Exception; nested exception is:
    java.lang.IllegalArgumentException: cannot create QName from "null" or "" String).)
    The same jar and same code works fine when called from a standalone java program.
    I am not using or creating QName anywhere in my script. The only place where QName is used is in the generated java class and there it is created from the correct namespace URL
    Can anyone please help me out in figuring out what is the issue?

    This is the stack trace of the error:
    #2.0 #2014 05 08 09:02:30:915#+00#Error#com.sap.engine.services.webservices.espbase.client.bindings.impl.SOAPTransportBinding#
    #BC-ESI-WS-JAV-RT#webservices_lib#C000CF8242BA4B800000002100002648#2174850000000005#sap.com/E-Sourcing-Server#com.sap.engine.services.webservices.espbase.client.bindings.impl.SOAPTransportBinding#VAC53324#89##D811EE96D68E11E3C9E0000000212F82#3cf7fe38d68f11e3c963000000212f82#3cf7fe38d68f11e3c963000000212f82#0#Thread[RequestHandler.RqThread: fullsave,5,Dedicated_Application_Thread]#Plain##
    Connection IO Exception. Check nested exception for details. (Connection IO Exception. Check nested exception for details. (Connection Exception; nested exception is:
        java.lang.IllegalArgumentException: cannot create QName from "null" or "" String).).
    [EXCEPTION]
    com.sap.engine.services.webservices.espbase.client.bindings.exceptions.TransportBindingException: Connection IO Exception. Check nested exception for details. (Connection IO Exception. Check nested exception for details. (Connection Exception; nested exception is:
        java.lang.IllegalArgumentException: cannot create QName from "null" or "" String).).
        at com.sap.engine.services.webservices.espbase.client.bindings.impl.SOAPTransportBinding.writeSOAPRequestMessage(SOAPTransportBinding.java:256)
        at com.sap.engine.services.webservices.espbase.client.bindings.impl.SOAPTransportBinding.call_SOAP(SOAPTransportBinding.java:1318)
        at com.sap.engine.services.webservices.espbase.client.bindings.impl.SOAPTransportBinding.callWOLogging(SOAPTransportBinding.java:991)
        at com.sap.engine.services.webservices.espbase.client.bindings.impl.SOAPTransportBinding.call(SOAPTransportBinding.java:945)
        at com.sap.engine.services.webservices.espbase.client.jaxws.core.WSInvocationHandler.processTransportBindingCall(WSInvocationHandler.java:168)
        at com.sap.engine.services.webservices.espbase.client.jaxws.core.WSInvocationHandler.invokeSEISyncMethod(WSInvocationHandler.java:121)
        at com.sap.engine.services.webservices.espbase.client.jaxws.core.WSInvocationHandler.invokeSEIMethod(WSInvocationHandler.java:84)
        at com.sap.engine.services.webservices.espbase.client.jaxws.core.WSInvocationHandler.invoke(WSInvocationHandler.java:65)
        at $Proxy2539.grantOrganizationRoles(Unknown Source)
    I tested the same custom JAR, that is deployed in Sourcing, separately using a standalone java program and there it gave back the correct SOAP response

  • Calling a web service in external system from SRM

    Hi folks,
    A web service is created in the external system and I need to access this web service from a BADI. Can you tell me how can I call this web service (the external system is giving me a URL) and how I'll get a return. Please let me know in detail.
    Thanks,
    Prem

    Prem,
    Hi. You can call the service via HTTP protocol. Pass them values (SET_DATA), and receive a response (GET_DATA), via xml/html.
    In your code you would need to create the xml data to pass them, and evaluate the returned xml.
    Process...
    Data setup
    1) Create the XML to send them
    Working with the external service
    2) Open the HTTP connection
    2a) cl_http_client=>create_by_url (IF_HTTP_CLIENT)
    2b) lr_client->authenticate
    3) Call the to send them the XML
    3a) lr_client->request->set_data
    3b) lr_client->send
    4) Call the lr_client->receive to return the response
    5) Close the connection lr_client->close
    Data evaluate
    6) Evaluation the returned XML and process.
    Hope this helps
    Cheers
    Rob
    Code example below.. (There are loads of SAP examples depending on which release you are on).
    Process the call to the HTTP client - logic copied from RSHTML01     *
    Open IF_HTTP_CLIENT
      call method cl_http_client=>create_by_url
        exporting
          url                = l_url
        importing
          client             = lr_client
        exceptions
          argument_not_found = 1
          plugin_not_active  = 2
          internal_error     = 3
          others             = 4.
      if sy-subrc <> 0.
        message id sy-msgid type sy-msgty number sy-msgno
                   with sy-msgv1 sy-msgv2 sy-msgv3 sy-msgv4
          raising oops.
      endif.
    Authenticate the user
      if not g_int_type-usr is initial.
        move: g_int_type-usr      to l_user,
              g_int_type-password to l_password.
        call method lr_client->authenticate
          exporting
            username = l_user
            password = l_password.
      endif.
    Allow for Cookies
      lr_client->propertytype_accept_cookie = lr_client->co_enabled.
    Set the server protocol
      select single gsval into l_server_protocol
        from z77s0
          where grpid = c_grpid
          and   semid = c_server_protocol.
      if sy-subrc eq 0
      and not l_server_protocol is initial.
        move l_server_protocol to l_st_server_protocol.
        call method lr_client->request->set_header_field
          exporting
            name  = '~server_protocol'
            value = l_st_server_protocol.
      endif.
      Send out the XML
      Set body to XML data
        lr_client->request->set_data( g_xxml ).
        save_xml( i_role = cl_xml_document=>c_role_oreq ).
        l_request_length = xstrlen( g_xxml ).
      If Data is sent through then we need certain flags set
        lr_client->request->set_header_field(
                                   name = 'Content-Type'
                                   value = zcl_tem_bsp=>c_xml_content ).
        call method lr_client->request->set_header_field
          exporting
            name  = '~request_method'
            value = 'POST'.
      Set length of string to the header fields
        if not l_request_length is initial.
          move l_request_length to l_st_request_length.
          lr_client->request->set_header_field(
                                    name = 'content-length'
                                    value = l_st_request_length ).
        endif.
      Send the request
        call method lr_client->send
          exceptions
            http_communication_failure = 1
            http_invalid_state         = 2
            http_processing_failed     = 3
            http_invalid_timeout       = 4
            others                     = 5.
        check_for_error 'Send'.
      Receive the response
        call method lr_client->receive
          exceptions
            http_communication_failure = 1
            http_invalid_state         = 2
            http_processing_failed     = 3
            others                     = 4.
        check_for_error 'Receive'.
      Determined returned XML or HTML
        g_xxml = lr_client->response->get_data(  ).
      Determine the header fields for failure validation
        if lr_client->response->get_header_field( '~status_code' )
              between 200 and 299.
          save_xml( i_role = cl_xml_document=>c_role_ires ).
        else.
          l_status_code =
            lr_client->response->get_header_field( '~status_code' ).
          l_descript_1 =
            lr_client->response->get_header_field( 'error' ).
          l_descript_2 =
            lr_client->response->get_header_field( 'errortext' ).

  • Calling a web service In Netweaver 7.0 abap stack through an external alias

    Hello,
    In CRM 2007 (Netweaver 7.0 abap stack SP 16), we have defined a web service from a module function using the wizard and configuring it with SOAMANAGER.
    This web service works great when calling it with the "official" URL, something like :
    http://host.domain:port/sap/bc/srt/rfc/sap/zwebservice/client/zoperation/zbinding
    We would like to use a more simple URL. So with SICF, I have created an external alias /zwebservice which points to the "official" URL.
    The problem is that it does not work. I get every time an HTTP 500 error code and an error Message
    u201CThe configuration of the http server is missingu201D.
    Do you think that it is possible to call a web service through an external alias ?
    Thanks in advance for any ideas or solution !
    Olivier

    Seems that no one has tried it...
    I close the question.

  • Calling a web service in ABAP

    Hello Experts!
    After I am assuming the SOAP Experts at the SOAP Forum
    are being already on christmas vacation
    I saw no other possiblitiy to post my question right here.
    I have created a web service through:
    Open the affected  function Module  .
    Choose Utilities  -> More Utilities  -> Creating a Web Service  -> From Function Module.
    Later you can test it with SOAMANAGER etc.
    The goal is now (requirement)
    Calling a web service in ABAP.
    How can I generally call a (eg .above created by me ) webservice with abap which is existing on the sap system (Web Services which are generated from Function Modules)
    Has really nobody such a problem ever before ?
    Regards
    ertas ilhan

    Michael thank you very much.
    You are saying:
    The easiest way to do it is with the WSDL file that you'll get from the existing Web Service. In your proxy class it will generate a method which you can then call within your program to consume that web service.
    I understand the first part with the WSDL file but the second part it is unclear to me with
    In your proxy class it will generate a method which you can then call within your program to consume that web service
    Can you please explain me this more detailed.
    Thanks
    ertas

  • Calling a Web Service from Mobile - UI options

    Hi Team,
    I have a scenario where the backend SAP functionality is exposed as a web service and we need to call it online from a mobile handheld device (Symbol with Pocket PC client 2003, IE browser 4.0). Is it possible to call this web service from the handheld? Do we have to write the web service call on the J2EE stack using NetWeaver developer studio?
    Also, what UI technology is recommended for showing the data from the web service call. The idea is to get some user input on the handheld, and then post a transaction via the web service on SAP. I discussed with some of my colleagues and they recommend to use JSP/Servlets for this. Does anybody has a better idea, (the JSP/Servlets does not seem correct). Should we use native XSLT or something else.
    Please note that the Mobile Web Dynpro has limitations on the UI side and the "onEnter", "setFocus" does not work, specifically on the netweaver 2004s release. The backend ERP system we have is 2004s and I'm trying to make a web service call from a NW 2004 client.
    Any ideas or pointers will be appreciated and points awarded. Thanks for your time.

    Hi Sanjay!
    Yes, To call a WebService you will have to write your Own Application using NWDS.I donot have any specific recommendation for the UI Technology to be used.
    Usage of "OnEnter" and "SetFocus" with NW2004s has certain limitations below.
    "OnEnter" is not a supported feature as of now especially for WD applications on Handheld Devices.
    "SetFocus" will work on IE6.0 Standard Desktop Browser with WAS7.0 SP06 and i believe it will work in hand held devices if your using WAS7.0(NW2004s)SP8 and you are using the latest Symbol Device that has Windows Mobile 5.0 OR Windows CE.NET 5.0.I understand that there could be some limitations with the OS and the IE you are currently running in the device.
    Let me know your views.
    Thank You
    Gisk

  • Calling a web service from within PLSQL

    Hello !
    I am trying to activate a web service located on a remote machine inside a database trigger . This WSDL has been generated by a XI (SAP) tool and located on the server on which the XI is installed.
    XI is an EAI tool a product that is included in the SAP products - for integrating between SAP and other tools - including Oracle DB.
    When I try to call the web service using UTL_HTTP package - a procedure i wrote correctly - I get the following error message :
    ORA-29273: HTTP request failed
    ORA-06512: at "SYS.UTL_HTTP", line 1029
    ORA-12545: Connect failed because target host or object does not exist
    I have GOOGLED the last message ( ORA-12545) , but the forums referred to a client for ORACLE, which is configured incorrectly; none of them referred to my case - calling a web service. BTW I tried using the web server's IP address instead of the DNS but got the same error.
    Any suggestion would be very appreciated.
    Best Regards,
    Shimon B.

    Try the following type of "telnet" test using PL/SQL:
    SQL> create or replace function tcpPing( ipAddress varchar2, portNum number) return varchar2 is
    2 socket utl_tcp.connection;
    3 t1 timestamp with local time zone;
    4 begin
    5 t1 := systimestamp;
    6 socket := utl_tcp.Open_Connection(
    7 remote_host => ipAddress,
    8 remote_port => portNum,
    9 tx_timeout => 5
    10 );
    11 utl_tcp.Close_Connection( socket );
    12
    13 return( ipAddress||':'||TO_CHAR(portNum)||' is alive. ('|| TO_CHAR(systimestamp-t1) ||')' );
    14
    15 exception when OTHERS then
    16 return( ipAddress||':'||TO_CHAR(portNum)||' did not respond. ('||SQLERRM(SQLCODE)||')' );
    17 end;
    18 /
    Function created.
    SQL>
    SQL> col STATUS format a80
    SQL> select tcpPing( '10.251.93.87', 80 ) as STATUS from dual;
    STATUS
    10.251.93.87:80 is alive. (+000000000 00:00:00.002422000)
    SQL> select tcpPing( '10.251.93.87', 81 ) as STATUS from dual;
    STATUS
    10.251.93.87:81 did not respond. (ORA-29260: network error: TNS:operation timed
    out)

Maybe you are looking for