Namespace for accessing external Webservices

Hi,
     I have an external service and my Livecycle application is trying to invoke that service and get some response by using the webservice component in ADOBE Livecycle ES Workbench. However, after getting repeated error with this an analysis was done and found that the external service expects "q0" namespace alias, whereas ADOBE sends "get" namespace alias. Is there a way to configure livecycle to send the namespace alias as "q0".
Thanks,
Nakul

Hi Kiran,
You can set your proxy authentication in your code itself.
Write following code before calling Webservice.
wdcontext.current<node>element().modelobject()._setUsername("<user>");
wdcontext.current<node>element().modelobject()._setpassword("<password>");
Also, specify proxy hostname and port in logical ports file under your model.
Regards,
Bhavik

Similar Messages

  • Accessing external WebService

    HI,
    I want to access an external WebService from an EJB.
    Are there some examples for intergrating an external WebService to an EJB?
    Can somebody help?
    Thanks
    Uli

    Hi Ulrike,
    Let me axplain you in detail.
    First thing is create a Java project and in that create a standalone proxy for a web service. Now you will have all the proxy classes for using the web-service and calling its methods. Don't forget that since the web service is deployed in an external server you need to give the wsdl file for this. Now in this project, create a new class and try to call the methods of the web service. If that works fine, then create seperate methods in this class to access the webservice methods. This is so that other projects can call this class to in turn call the web service.
    Then refer this project in you EJB project. Then you can call the methods of the class in your EJB that we created in the other project.
    I think that makes it much clear
    Best regards,
    Guru.

  • Getting exception while accessing External WebServices from Portal Componen

    Hi,
    We are using one external Temperature WebService and calling it from the proxy which is called by a Portal Component. My proxy name is TempService and portal component name is TempComponent.While calling the web service from portal component we are getting the exception. When I checked with log file, I got that invokeMethod() is failing and following exception is occuring :
    Caused by: com.sap.engine.services.webservices.jaxm.soap.accessor.NestedSOAPException: IOError while working with the message. Check the nested Exception.
         at com.sapportals.portal.prt.service.soap.SOAPService.call(SOAPService.java:197)
         at com.sapportals.portal.prt.service.soap.PRTSOAPCall.invokeMethod(PRTSOAPCall.java:209)
         at com.sap.portal.tutorial.translation.TempService.getTemp(TempService.java:158)
         at com.sap.portal.tutorial.TempComponent.TempComponent.doContent(TempComponent.java:18)
    Can some one help us to resolve it.
    Thanks in advance,
    ajay

    As far as I know, webservices are working pretty well from SP2 Patch4. On patch3 hf2 I've had problems creating the proxy classes (especially for consuming .net webservices) and also gotten some runtime exception (cannot remember what they were).
    Suggest you open an OSS against SAP with your specific problem.

  • Weblogic 10.3 BEA  Disable Authentication for Accessing specific WebService

    Hi!
    I have established a WebService on my weblogic 10.3 BEA server, and have tried accessing it through SOAtest only to find that it gives me the error: Recieved HTTP response Code: 403 Forbidden. I appreciate that weblogic is securing my webservice ;) but in the context of what I'm doing I would like to allow anonymous access to this specific webservice. This means that I would like any client to be able to access the SOAP communications of this webservice
    Any help is greatly appreciated :)
    Ron

    <TABLE border=0 cellspacing=5><TR><TD><BR CLEAR=all>
    <FONT FACE="Helvetica" COLOR="black" SIZE="3"><H2>Error 403--Forbidden</H2>
    </FONT></TD></TR>
    </TABLE>
    <TABLE border=0 width=100% cellpadding=10><TR><TD VALIGN=top WIDTH=100% BGCOLOR=white><FONT FACE="Courier New"><FONT FACE="Helvetica" SIZE="3"><H3>From RFC 2068 <i>Hypertext Transfer Protocol -- HTTP/1.1</i>:</H3>
    </FONT><FONT FACE="Helvetica" SIZE="3"><H4>10.4.4 403 Forbidden</H4>
    </FONT><P><FONT FACE="Courier New">The server understood the request, but is refusing to fulfill it. Authorization will not help and the request SHOULD NOT be repeated. If the request method was not HEAD and the server wishes to make public why the request has not been fulfilled, it SHOULD describe the reason for the refusal in the entity. This status code is commonly used when the server does not wish to reveal exactly why the request has been refused, or when no other response is applicable.</FONT></P>
    </FONT></TD></TR>
    </TABLE>

  • Sample web service proxy for accessing secured webservice

    Hi,
    Am trying to write a web service proxy to access a secured web service.
    How do we call the web service and pass the authentication information. I generated a service proxy in jdevelopr. in the main class i set the user name and password but was still unsuccessful.
    How do we set the "UsernameToken".
    Please see the sample header that is expected.
    <soap:Header>
    <wsa:Action>http://myactaction</wsa:Action>
    <wsa:MessageID>uuid:asdfadrewrwqr</wsa:MessageID>
    <wsa:ReplyTo>
    <wsa:Address>http://schemas.xmlsoap.org/ws/2004/03/addressing/role/anonymous</wsa:Address>
    </wsa:ReplyTo>
    <wsa:To>http://myact</wsa:To>
    <wsse:Security soap:mustUnderstand="1">
    <wsse:UsernameToken wsu:Id="SecurityToken-321321">
    <wsse:Username>mordfsafsdae</wsse:Username>
    <wsse:Password Type="http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-username-token-profile-1.0#PasswordText">werwqrewrwe</wsse:Password>
    </wsse:UsernameToken>
    </wsse:Security>
    </soap:Header>
    Any Sample service proxy would be a great help.
    Thanks
    -Kiran
    Edited by: user10473085 on Oct 25, 2008 1:05 PM

    Hi Kiran,
    Here are all steps You need to do
    "Securing Web Services using JDeveloper and WS-Security" http://www.oracle.com/technology/products/jdev/101/howtos/securews/index.html
    Set username and password:
    (...)myPort= new ServicePortTypeClient(); //<- Your webservice port class
    // security
    myPort.setUsername("exampleuser");
    myPort.setPassword("examplepassword");
    You don't need to write more code in java.
    I hope it helps.
    Kind regards
    Hubert M.
    Other documents:
    "Oracle® Application Server Web Services Security Guide" http://download.oracle.com/docs/cd/B31017_01/web.1013/b28976/toc.htm

  • Easier option for invoking external webservice

    Hi,
    what is the easy way to test invoking a nonSAP webservice (to which we give request and expect response).
    i did file to soap scenario using bpm,
    and i used file to soap using adapter module.
    but both are bit lengthy procedure to check if we can invoke the webservice thru PI.
    is there any other mechanism, or any other adapters that we can use to send the request and get the response from nonSAP webservice provider.

    hi,
    >>>is there any other mechanism, or any other adapters that we can use to send the request and get the response from nonSAP webservice provider.
    not anything that would not involve using adapters...
    >>>but both are bit lengthy procedure to check if we can invoke the webservice thru PI.
    but they both take less then 30 mins to develop & check (without a BPM even less)... 
    Regards,
    Michal Krawczyk

  • Procedure  for  Accessing  WebService in ejb By using NetWeaver,

    hai,
    This is Guru.
    please tell me the procedure for accessing a webservice in ejb .
    my mean is.
    i have one Session Beab,And there is one webservice.
    How can i  call and using  that webservice in netweaverdeveloperstudio tool.please send me code,if u have.
                                        thanqq
                                         Guru

    Hi Guru,
    the procedure to use a WS is as follow
    1. Use the SAP xmltoolkit and generate client binding for your WS, which is the stub class, parameter and return type classes of the WS methods, if any.
    2.Import the created WS client jar from step 1 to your EJB module project
    3. In your session bean: instantiate the stub and call a WS method on this stub
    That's all there is to it.
    Best Regards
    Gregor
    Ps. The NWDS Help has also tutorial regarding WS usage.

  • Accessing External Url using Http Utility | Error when using from Weblogic on Solaris

    We are using Http Utility (http://jakarta.apache.org/commons/httpclient/) from
    Apache for accessing external URL. A XML string is sent as POST parameter to the
    URL and the response is also an XML string. The URL is accessed over HTTPS protocol.
    I am setting the following parameters in the java class:
    Security.addProvider(new com.sun.net.ssl.internal.ssl.Provider());
    // set the property
    System.setProperty("java.protocol.handler.pkgs","com.sun.net.ssl.internal.www.protocol");
    The java class written to access the external URL using Http Utility works perfectly
    fine when it is run from either the command line (of Windows or Solaris using
    main() ) or from weblogic on windows. The same java class throws an exception
    when run from Solaris instance of Weblogic
    2003-09-30 11:02:12,411 FATAL [com.bp.beyondbp.presentation.userregistration.action.LloydsValidator]
    EXCEPTION: com.bp.beyondbp.presentation.userregistration.exception.LlyodsValidationFailedException,
    MESSAGE: Write Channel Closed, possible SSL handshaking or trust failure;
    CAUSE: (java.io.IOException: Write Channel Closed, possible SSL handshaking or
    trust failure)
    at com.bp.beyondbp.presentation.userregistration.action.LloydsValidator.postXMLtoLloyd(LloydsValidator.java:243)
    at com.bp.beyondbp.presentation.userregistration.action.LloydsValidator.validateLlyodsForNewUser(LloydsValidator.java:95)
    at com.bp.beyondbp.presentation.userregistration.action.PreferencesActionForm.validate(PreferencesActionForm.java:326)
    at org.apache.struts.action.RequestProcessor.processValidate(RequestProcessor.java:942)
    at org.apache.struts.action.RequestProcessor.process(RequestProcessor.java:255)
    at org.apache.struts.action.ActionServlet.process(ActionServlet.java:1482)
    at org.apache.struts.action.ActionServlet.doPost(ActionServlet.java:525)
    at javax.servlet.http.HttpServlet.service(HttpServlet.java:760)
    at javax.servlet.http.HttpServlet.service(HttpServlet.java:853)
    at weblogic.servlet.internal.ServletStubImpl$ServletInvocationAction.run(ServletStubImpl.java:1058)
    at weblogic.servlet.internal.ServletStubImpl.invokeServlet(ServletStubImpl.java:401)
    at weblogic.servlet.internal.ServletStubImpl.invokeServlet(ServletStubImpl.java:306)
    java.io.IOException: Write Channel Closed, possible SSL handshaking or trust failure
    at com.certicom.tls.record.WriteHandler.write(Unknown Source)
    at com.certicom.tls.interfaceimpl.TLSConnectionImpl.fireAlertSent(Unknown
    Source)
    at com.certicom.tls.record.handshake.HandshakeHandler.fireAlert(Unknown
    Source)
    at com.certicom.tls.record.handshake.HandshakeHandler.fireAlert(Unknown
    Source)
    at com.certicom.tls.record.handshake.HandshakeHandler.handleHandshakeMessage(Unknown
    Source)
    at com.certicom.tls.record.handshake.HandshakeHandler.handleHandshakeMessages(Unknown
    Source)
    at com.certicom.tls.record.ReadHandler.interpretContent(Unknown Source)
    at com.certicom.tls.record.ReadHandler.readRecord(Unknown Source)
    at com.certicom.tls.record.ReadHandler.readUntilHandshakeComplete(Unknown
    Source)
    at com.certicom.tls.interfaceimpl.TLSConnectionImpl.completeHandshake(Unknown
    Source)
    at com.certicom.tls.record.WriteHandler.write(Unknown Source)
    at org.apache.commons.httpclient.HttpConnection$WrappedOutputStream.write(HttpConnection.java:1344)
    at java.io.BufferedOutputStream.flushBuffer(BufferedOutputStream.java:67)
    at java.io.BufferedOutputStream.flush(BufferedOutputStream.java:125)
    at org.apache.commons.httpclient.HttpConnection.flushRequestOutputStream(HttpConnection.java:779)
    at org.apache.commons.httpclient.HttpMethodBase.writeRequest(HttpMethodBase.java:2179)
    at org.apache.commons.httpclient.HttpMethodBase.processRequest(HttpMethodBase.java:2534)
    I tried to debug the problem by looking at system properties on windows and solaris,
    the difference that I found was
    On Windows
    [exec] tModelInstanceInfo_description : com.sun.net.ssl.internal.www.protocol
    On Solaris
    [exec] tModelInstanceInfo_description : weblogic.utils|weblogic.tils|weblogic.net|weblogic.management
    After this I changed the startWLS.sh on Solaris and set
    -Djava.protocol.handler.pkgs=com.sun.net.ssl.internal.www.protocol in java options.
    On looking the system properties again, the output was
    [exec] tModelInstanceInfo_description : com.sun.net.ssl.internal.www.protocol|weblogic.utils|weblogic.utils|weblogic.net|weblogic.management
    But still the error is same. Can somebody help me out here as to what is going
    wrong? Please find the java class attached for reference, please have a look at
    postXMLtoLloyd() method in the class file..
    [LloydsValidator.java]

    We are using Http Utility (http://jakarta.apache.org/commons/httpclient/) from
    Apache for accessing external URL. A XML string is sent as POST parameter to the
    URL and the response is also an XML string. The URL is accessed over HTTPS protocol.
    I am setting the following parameters in the java class:
    Security.addProvider(new com.sun.net.ssl.internal.ssl.Provider());
    // set the property
    System.setProperty("java.protocol.handler.pkgs","com.sun.net.ssl.internal.www.protocol");
    The java class written to access the external URL using Http Utility works perfectly
    fine when it is run from either the command line (of Windows or Solaris using
    main() ) or from weblogic on windows. The same java class throws an exception
    when run from Solaris instance of Weblogic
    2003-09-30 11:02:12,411 FATAL [com.bp.beyondbp.presentation.userregistration.action.LloydsValidator]
    EXCEPTION: com.bp.beyondbp.presentation.userregistration.exception.LlyodsValidationFailedException,
    MESSAGE: Write Channel Closed, possible SSL handshaking or trust failure;
    CAUSE: (java.io.IOException: Write Channel Closed, possible SSL handshaking or
    trust failure)
    at com.bp.beyondbp.presentation.userregistration.action.LloydsValidator.postXMLtoLloyd(LloydsValidator.java:243)
    at com.bp.beyondbp.presentation.userregistration.action.LloydsValidator.validateLlyodsForNewUser(LloydsValidator.java:95)
    at com.bp.beyondbp.presentation.userregistration.action.PreferencesActionForm.validate(PreferencesActionForm.java:326)
    at org.apache.struts.action.RequestProcessor.processValidate(RequestProcessor.java:942)
    at org.apache.struts.action.RequestProcessor.process(RequestProcessor.java:255)
    at org.apache.struts.action.ActionServlet.process(ActionServlet.java:1482)
    at org.apache.struts.action.ActionServlet.doPost(ActionServlet.java:525)
    at javax.servlet.http.HttpServlet.service(HttpServlet.java:760)
    at javax.servlet.http.HttpServlet.service(HttpServlet.java:853)
    at weblogic.servlet.internal.ServletStubImpl$ServletInvocationAction.run(ServletStubImpl.java:1058)
    at weblogic.servlet.internal.ServletStubImpl.invokeServlet(ServletStubImpl.java:401)
    at weblogic.servlet.internal.ServletStubImpl.invokeServlet(ServletStubImpl.java:306)
    java.io.IOException: Write Channel Closed, possible SSL handshaking or trust failure
    at com.certicom.tls.record.WriteHandler.write(Unknown Source)
    at com.certicom.tls.interfaceimpl.TLSConnectionImpl.fireAlertSent(Unknown
    Source)
    at com.certicom.tls.record.handshake.HandshakeHandler.fireAlert(Unknown
    Source)
    at com.certicom.tls.record.handshake.HandshakeHandler.fireAlert(Unknown
    Source)
    at com.certicom.tls.record.handshake.HandshakeHandler.handleHandshakeMessage(Unknown
    Source)
    at com.certicom.tls.record.handshake.HandshakeHandler.handleHandshakeMessages(Unknown
    Source)
    at com.certicom.tls.record.ReadHandler.interpretContent(Unknown Source)
    at com.certicom.tls.record.ReadHandler.readRecord(Unknown Source)
    at com.certicom.tls.record.ReadHandler.readUntilHandshakeComplete(Unknown
    Source)
    at com.certicom.tls.interfaceimpl.TLSConnectionImpl.completeHandshake(Unknown
    Source)
    at com.certicom.tls.record.WriteHandler.write(Unknown Source)
    at org.apache.commons.httpclient.HttpConnection$WrappedOutputStream.write(HttpConnection.java:1344)
    at java.io.BufferedOutputStream.flushBuffer(BufferedOutputStream.java:67)
    at java.io.BufferedOutputStream.flush(BufferedOutputStream.java:125)
    at org.apache.commons.httpclient.HttpConnection.flushRequestOutputStream(HttpConnection.java:779)
    at org.apache.commons.httpclient.HttpMethodBase.writeRequest(HttpMethodBase.java:2179)
    at org.apache.commons.httpclient.HttpMethodBase.processRequest(HttpMethodBase.java:2534)
    I tried to debug the problem by looking at system properties on windows and solaris,
    the difference that I found was
    On Windows
    [exec] tModelInstanceInfo_description : com.sun.net.ssl.internal.www.protocol
    On Solaris
    [exec] tModelInstanceInfo_description : weblogic.utils|weblogic.tils|weblogic.net|weblogic.management
    After this I changed the startWLS.sh on Solaris and set
    -Djava.protocol.handler.pkgs=com.sun.net.ssl.internal.www.protocol in java options.
    On looking the system properties again, the output was
    [exec] tModelInstanceInfo_description : com.sun.net.ssl.internal.www.protocol|weblogic.utils|weblogic.utils|weblogic.net|weblogic.management
    But still the error is same. Can somebody help me out here as to what is going
    wrong? Please find the java class attached for reference, please have a look at
    postXMLtoLloyd() method in the class file..
    [LloydsValidator.java]

  • I use Djay for my Apple and I would like to use TC as an external hd to access from Djay, however when I look for my external T1 drive I cannot find it in iTunes so I can load onto Djay? Any help?

    I use Djay for my Apple and I would like to use TC as an external hd to access from Djay, however when I look for my external T1 drive I cannot find it in iTunes so I can load onto Djay? Any help?

    Initially, you asked if you can hardwire your MBA to the TC. The answer is yes, by using the optional USB Ethernet adapter that Apple provides. However, in order for your MBA to access the TC's internal or USB-attached HDD, it would need to establish a network connection to it. This would be true of any NAS device on an Ethernet network. Therein, lies the problem. Your MBA cannot connect to two networks simultaneously.
    One option then, would be to have two separate iTunes Media folders; one on the MBA & the other on the TC. This way, you can download the music to your MBA when connected to the Internet at the AirPort lounge, and then use iTunes Consolidate Library feature to transfer the audio files to the TC's iTunes Media Folder location. A great program to help maintain multiple iTunes Librarys and/or Media Folders, that you may want to consider, is PowerTunes.

  • Migrating music to an external hard drive for access by Windows

    Existing discussion thread link: https://discussions.apple.com/thread/1715002?start=0&tstart=0
    Hi,
    I have a large (~212GB) iTunes music library that was created using iTunes on Windows. All music files, etc are held on an external drive. Now I want to be able to access my existing music library from my MacBook Pro running iTunes on OS X. When I launch iTunes I hit the key so I can select which library file it should use. I'm not currently able to select my iTunes library on the external hard disk.
    I've tried following the steps covered in an existing discussion thread that I have found, Migrating music to an external hard drive for access by Windows & Mac, but that hasn't worked for me unfortunately. The linked post suggests renaming the library file (.itl) to remove its extension but the library is read-only. I've also tried doing the same when the external hard disk is connnected to my windows laptop and then switching back over to my MacBook Pro. But this has also not worked yet.
    Any suggestions? Thanks.

    Existing discussion thread link: https://discussions.apple.com/thread/1715002?start=0&tstart=0
    Hi,
    I have a large (~212GB) iTunes music library that was created using iTunes on Windows. All music files, etc are held on an external drive. Now I want to be able to access my existing music library from my MacBook Pro running iTunes on OS X. When I launch iTunes I hit the key so I can select which library file it should use. I'm not currently able to select my iTunes library on the external hard disk.
    I've tried following the steps covered in an existing discussion thread that I have found, Migrating music to an external hard drive for access by Windows & Mac, but that hasn't worked for me unfortunately. The linked post suggests renaming the library file (.itl) to remove its extension but the library is read-only. I've also tried doing the same when the external hard disk is connnected to my windows laptop and then switching back over to my MacBook Pro. But this has also not worked yet.
    Any suggestions? Thanks.

  • Setting a loopback policy setting for Domain Controllers/Preventing IE from accessing externally

    Hello, we need to set a lookback policy for our domain controllers to ensure IE doesn't access externally. Is the loopback the best method, or do you all have recommendations?

    As far as I'm aware, there's not a good Group Policy setting to do this. 
    If I understand your question correctly, you wish to prevent external Internet browsing from your Domain Controllers, but everyone else (other servers and workstations) should have full access.
    If that's the case, I would recommend blocking port 80 for the Domain Controllers in your Firewall, as they (I hope) have static local IP addresses.
    If you know of a good Group Policy setting however, it would be best to set it in the Default Domain Controller Policy, as that will only affect the Domain Controllers.
    The "loopback" policy you're referring to is the "Configure user Group Policy loopback processing mode", which can be used to apply the computer configuration "instead of" or "merged with" the user configuration when
    a user logs on to computers where this policy applies. Since the computer configuration is normally applied before the user configuration, that can be used to force rules on computers regardless of who's logging in.
    Please mark as answer or vote
    as helpful when
    it applies. Thanks!

  • How I can wire an extern WebService to BPEL?

    I have started to work with BPEL PM (2.0.10) bbpelz 0.0.95. Now I would
    understand how I can wire an extern WebService (like a PLSQL WebService
    created in JDeveloper from a package) to BPEL.
    Therefore I look for Examples from BPEL - AmazonFlow or GoogleFlow. Then I set the ProxySettings in the orabpel\bin\obsetenv.bat. I've got the error:
    BPEL validation failed.
    [bpelc] BPEL source validation failed, the errors are:
    [bpelc]
    [bpelc] [Error]: CompilationError
    [bpelc] [Description]: in line 0 of "bpel.xml", Failed to read wsdl.
    [bpelc] Error happened when reading wsdl at "C:\Programme\oracle_sw\orabpel\samples\demos\GoogleFlow\GoogleSearchRef.wsdl", because "WSDLException: faultCode=PARSER_ERROR: Error reading file: No route to host: connect".
    [bpelc] Make sure wsdl exists at that URL and is valid.
    [bpelc] .
    [bpelc] [Potential fix]: .
    [bpelc] .
    BUILD FAILED: C:\Programme\oracle_sw\orabpel\samples\demos\GoogleFlow\build.xml:29: Validation error
    On my Laptop - there is'nt a Proxy, and the versions are: bpel pm 2.1.1
    bpelz 0.9.10
    I've got the error, when built the AmazonFlow:
    [bpelc] [Error] AmazonWebServices.wsdl:9:45: src-resolve.4.2: Error resolvin
    g component 'soapenc:Array'. It was detected that 'soapenc:Array' is in namespac
    e 'http://schemas.xmlsoap.org/soap/encoding/', but components from this namespac
    e are not referenceable from schema document 'http://soap.amazon.com/schemas3/Am
    azonWebServices.wsdl'. If this is the incorrect namespace, perhaps the prefix of
    'soapenc:Array' needs to be changed. If this is the correct namespace, then an
    appropriate 'import' tag should be added to 'http://soap.amazon.com/schemas3/Ama
    zonWebServices.wsdl'.
    Who can help me, make run the samples AmazonFlow and GoogleFlow?
    Where can I find more informtions about the Problem, how I can wire a WebService created in JDeveloper to BPEL? I can deploy the WebService from JDeveloper on the BPEL-OC4J-Server- but what have I to do or to integrate in order to see my WS in BPEL console and have access to it in bpel designer?
    Regards Sabine

    Hi,
    I followed your suggestion and linked my BPEL service to a WebService through the WSDL that is remotely accessible as in "{color:#0000ff}http://localhost:8988/scratch/kibailey/view_storage/kibailey_SOA/.jdev_user_home/mywork/OptyEventsService/Model/classes/EventsAMService?wsdl{color}" instead of directly accessing the WSDL file. This Webservice is of course deployed at the above mentioned server and location and the server is up.
    But when I run my BPEL process, I still get this message "{color:#ff0000}Reference EventsAMService does not exist as wire target{color}". I have cross checked other WSDL dependencies and they are fine.
    I am currently using JDev 11g drop 6 through ADE (linux). I have exposed a BC4J component (Application Module) as a WebService.
    Please let me know of any resolution.
    With regards,
    Kishan

  • Error after import external webservice(RFC) wsdl url to Process Composer

    Hi all,
    I try to use RFC webservice in my BPM as below:
    1. Expose RFC as webservice using CAF (import external service RFC and then create application service use this external service)
    2. Define Destination in NWA.
    3. Create a Process Composer project, and import the external webservice(RFC) wsdl file as service interface in the project.
    After importing, i get error : the port type specified for the ...binding is undefined. Check port type name and ensure it is defined.
    If i import another external service, not RFC (such as business object), there is no error.
    My system is NWCE 7.11
    Thanks in advance,
    Sinh.
    Edited by: Sinh Nguyen Van on Jul 20, 2009 8:29 AM

    Hi Bharath,
    Below is content of wsdl url and error message, thanks
    Error message:
    The 'zfm_rfc_caf_as' port type specified for the 'zfm_rfc_caf_asBinding' binding is undefined. Check the 'zfm_rfc_caf_as' port type name and ensure it is defined.
    wsdl url :
    - <definitions xmlns="http://schemas.xmlsoap.org/wsdl/" targetNamespace="http://www.sap.com/caf/demo.sap.com/s00_caf_rfc/modeled/zfm_rfc_caf_as" xmlns:b0="http://www.sap.com/caf/demo.sap.com/s00_caf_rfc/modeled/zfm_rfc_caf_as">
      <import namespace="http://www.sap.com/caf/demo.sap.com/s00_caf_rfc/modeled/zfm_rfc_caf_as" location="http://sinhnv-lap:50000/zfm_rfc_caf_as/zfm_rfc_caf_asBeanImpl?wsdl=binding&mode=ws_policy" />
    - <service name="zfm_rfc_caf_as">
    - <port name="zfm_rfc_caf_asBindingPort" binding="b0:zfm_rfc_caf_asBinding">
      <address xmlns="http://schemas.xmlsoap.org/wsdl/soap/" location="http://sinhnv-lap:50000/zfm_rfc_caf_as/zfm_rfc_caf_asBeanImpl" />
      </port>
      </service>
      </definitions>
    Edited by: Sinh Nguyen Van on Jul 22, 2009 4:18 AM

  • How to connect external webservice from ABAP

    Hi,
    Please see code pasted below and tell me what is wrong.
    We try to connect external webservice via https. Should I install certificate is SAP for this connection? (if YES, how can I do this?)
    Should I configure something else in SAP to connect external webservice via https?
      DATA: client type ref to if_http_client,
            lv_content type String,
            lv_xml_string type string,
            lv_length type I,
            lv_response type I,
            lv_node type ref to IF_IXML_NODE,
            lv_xml_doc type ref to cl_xml_document.
    ****Create the HTTP client
    call method cl_http_client=>create_by_url
       EXPORTING
         url    = 'http://services-demo.krd.pl/raina/1.0/KrdAPI.asmx'
       IMPORTING
         client = client
       EXCEPTIONS
         others = 1.
    CALL METHOD CL_HTTP_CLIENT=>CREATE
      EXPORTING
        HOST               = 'services-demo.krd.pl'
         SERVICE = '443'
        SCHEME  = '2'
       PROXY_HOST         =
       PROXY_SERVICE      =
       SCHEME             = SCHEMETYPE_HTTP
       SSL_ID             =
       SAP_USERNAME       =
       SAP_CLIENT         =
      IMPORTING
        CLIENT             = client.
    EXCEPTIONS
       ARGUMENT_NOT_FOUND = 1
       PLUGIN_NOT_ACTIVE  = 2
       INTERNAL_ERROR     = 3
       others             = 4
    CONCATENATE
    '<soapenv:Envelope xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"'
    ' xmlns:xsd="http://www.w3.org/2001/XMLSchema" '
    'xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/" xmlns:rain="http://raina.krd.pl">'
    '<soapenv:Header/>'
    '<soapenv:Body>'
    '<rain:Login soapenv:encodingStyle="http://schemas.xmlsoap.org/soap/encoding/">'
    '<id xsi:type="xsd:string">B03EB34F02</id>'
    '<password xsi:type="xsd:string">Akquinet99</password>'
    '<appId xsi:type="xsd:string">test</appId>'
    '<appInstId xsi:type="xsd:string">test</appInstId>'
    '<custom xsi:type="xsd:string">test</custom>'
    '</rain:Login>'
    '</soapenv:Body>'
    '</soapenv:Envelope>'
    INTO lv_content.
    CALL METHOD client->request->set_header_field
        EXPORTING
          name  = '~request_method'
          value = 'POST'.
    CALL METHOD client->REQUEST->SET_HEADER_FIELD
      EXPORTING
        NAME  = '~request_uri'
        VALUE = '/raina/1.0/KrdAPI.asmx?'.
      CALL METHOD client->request->set_header_field
        EXPORTING
          name  = 'Content-Type'
          value = 'text/xml; charset=utf-8'.
      call method client->request->set_header_field
        EXPORTING
          name  = 'SOAPAction'
          value = 'Login'.
      lv_length = STRLEN( lv_content ).
      call method client->request->set_cdata
        EXPORTING
          data   = lv_content
          offset = 0
          length = lv_length.
    ****Make the call
      client->send( ).
    ****Receive the Response Object
      call method client->receive
        EXCEPTIONS
          http_communication_failure = 1
          http_invalid_state         = 2
          http_processing_failed     = 3
          others                     = 4.
    *****Get the response content
      client->response->GET_STATUS( IMPORTING CODE = lv_response ).
      lv_xml_string = client->response->get_cdata( ).
    Regards,
    Michal

    HI ,
            Error in accessing External Web Service
    Calling a secured external web service from ABAP
    Edited by: A kumar on Aug 21, 2008 11:58 AM

  • Accessing external web service with non-constant URL

    Hello, all
    I am looking in the documentation on accessing external web services, but either I am looking in the wrong place, or the documentatoin is lacking info.
    My clients have several web services in the local network (regular services, not DB-based), the have the same interface, but different URL's.
    Versions of the DB are 11, 12, and 16.
    First of all, I do not see in the specs an option for a non-hardcoded URL. The logic says that this has to be possible, but I cannot find it.
    Second, I need to see an example of accessing an XML or JSon based service, I cannot find it in the specs either.
    Can anyone point me to a document with examples?
    Thank you
    Arcady

    The following will call a web service with whatever URL you pass in as the argument "myurl".  I think that is what you are looking for.
    CREATE PROCEDURE cli_test2( myurl LONG VARCHAR )
    RESULT( httpheaders long varchar, httpvalues long varchars
    URL '!myurl'
    To deal with the resulting data in XML, use the OPENXML() function.
    eg. To turn an XML list of employees that looks like this:
    <root>
    <row EmployeeID="102" Surname="Whitney" GivenName="Fran" StartDate="1984-08-28"/>
    </root>
    into a table of results, you would do this (where xmlgetemplist() is the web service call):
    CREATE OR REPLACE PROCEDURE xmlgetemplist() RESULT( httpheader long varchar, httpbody long varchar)
    URL 'http://localhost/demo/xmlEmployeeList'
    TYPE 'HTTP:GET';
    create variable res long varchar;
    -- call the web service
    select httpbody into res from xmlgetemplist() where httpheader = 'Body'
    -- extract the XML elements into a SQL result set
    select * from openXML( res, '/root/row' ) WITH ( EmployeeID INT '@EmployeeID',
           GivenName    CHAR(20) '@GivenName',
           Surname      CHAR(20) '@Surname',
           PhoneNumber  CHAR(10) '@Phone');
    To deal with the resulting data in JSON, use the sp_parse_json() procedure.
    eg.
    To turn a JSON formatted list of employees that looks like this:
    "EmployeeID": 102,
    "Surname": "Whitney",
    "GivenName": "Fran",
    "StartDate": "1984-08-28",
    "TerminationDate": null
    into a table of results, you would do this (where jsongetemplist() is the web service call):
    CREATE OR REPLACE PROCEDURE jsongetemplist() RESULT( httpheader long varchar, httpbody long varchar)
    URL 'http://localhost/demo/jsonEmployeeList'
    TYPE 'HTTP:GET';
    create variable foo long varchar;
    --call the webservice
    select httpbody into foo from jsongetemplist() where httpheader = 'Body';
    --turn the json result into a structured array of data
    -- this step is required because of less structured nature of JSON
    call sp_parse_json( 'output_array', foo);
    --extract the JSON elements from the output array into a SQL result set
    SELECT  output_array[[row_num]].EmployeeID as EmployeeID,
                   output_array[[row_num]].SurName as SurName,
                   output_array[[row_num]].GivenName as GivenName,
                   output_array[[row_num]].StartDate as StartDate,
                   output_array[[row_num]].TerminationDate as EndDate
    FROM sa_rowgenerator(1, CARDINALITY(output_array))
    Hope this helps,
    --Jason

Maybe you are looking for