Webservice to proxy

Hi all,
I am doing webservice to proxy scenario, the message was suucessfully came from webservice but the message is not reaching to application system.
in sxmb_moni i can see the error like this:
The URL http://sapqec.sap.lonmin.net:8011/sap/xi/engine was not called due to an error
Can any one please help me what was the wong?
Kind Regards,
kiran

kiran,
when doing webservice to proxy, you must ensure that the message which is going out from XI engine to the R/3 must be exactly the same as the R/3 is needed.
Check your proxy in SOAP tester and then check the message which is coming out from XI ( you can use any TCPmonitoring tools) or the message in Receiver.
Try Document Style WSDL instead of RPC style would make it run
regards,
nikhil

Similar Messages

  • Error while activating webservice-consumer-proxy

    Hi,
    I'm trying to generate a webservice-consumer-proxy from a Salesforce.com-WSDL-File. When trying to activate the proxy I receive an error-message from class CX_ESD_EXCEPTION stating "Beim Aktivieren des Proxys ist ein Fehler aufgetreten." (in english: "Error occured when activating the proxy"). The WSDL-File is SOAP-Version 1.1, Document/Literal.
    Thank you very much in advance,
    Olli
    [SAP Consulting by mindsquare|http://mindsquare.de]

    I have a similar issue and it says that the reason is one of the exception classes in XML  in not derived from either cx_static_check or cx_dynamic_check.  
    Please let me know if anyone have ideas how to resolve this

  • Error in soap header when use webservice consumer proxy

    Hi all,
    I create a webservice consumer proxy to external server. the webservice provider is .Net  and it required a message level security.
    The soap message should include a soap header, like this:
    <SOAP-ENV:Header>
    <m:AuthHeader xmlns:m="http://tempuri.org/">
    <m:Username>test1</m:Username>
    <m:Password>test</m:Password>
    </m:AuthHeader>
    </SOAP-ENV:Header>
    I have found many information from here. Now I used  IF_WSPROTOCOL_WS_HEADER in my program, like this:
    REPORT  zws_jp_test01.
    DATA: lo_zws_jp_co_service_soap TYPE REF TO zws_jp_co_service_soap .
    DATA: lo_fault TYPE REF TO cx_ai_system_fault.
    DATA: lo_appl_fault TYPE REF TO cx_ai_application_fault.
    TRY.
        CREATE OBJECT lo_zws_jp_co_service_soap
          EXPORTING
            logical_port_name = 'ZWS_JP_LP4'.
      CATCH cx_ai_system_fault INTO lo_fault.
        MESSAGE lo_fault TYPE 'I'.
    ENDTRY.
    DATA: output TYPE zws_jp_create_job_ad_soap_out .
    DATA: input TYPE zws_jp_create_job_ad_soap_in .
    DATA: lr_ws_header TYPE REF TO if_wsprotocol_ws_header.
    DATA: lv_name TYPE string,
          lv_namespace TYPE string.
    DATA l_xstring TYPE xstring.
    DATA l_string TYPE string.
    DATA: ixml TYPE REF TO if_ixml,
         xml_document TYPE REF TO if_ixml_document,
         xml_root TYPE REF TO if_ixml_element,
         xml_element TYPE REF TO if_ixml_element,
         xml_node TYPE REF TO if_ixml_node.
    lr_ws_header ?= lo_zws_jp_co_service_soap->get_protocol(
                                               if_wsprotocol=>ws_header ).
    CONCATENATE
      '<SOAP-ENV:Header>'
        '<m:AuthHeader xmlns:m="http://tempuri.org/">'
          '<m:Username>test1</m:Username>'
          '<m:Password>test</m:Password>'
        '</m:AuthHeader>'
      '</SOAP-ENV:Header>'
    INTO l_string.
    l_xstring = cl_proxy_service=>cstring2xstring( l_string ).
    CALL FUNCTION 'SDIXML_XML_TO_DOM'
      EXPORTING
        xml           = l_xstring
      IMPORTING
        document      = xml_document
      EXCEPTIONS
        invalid_input = 1
        OTHERS        = 2.
    IF sy-subrc = 0 AND NOT xml_document IS INITIAL.
      xml_root = xml_document->get_root_element( ).
      xml_element ?= xml_root->get_first_child( ).
      WHILE NOT xml_element IS INITIAL.
        lv_name = xml_element->get_name( ).
        lv_namespace = xml_element->get_namespace_uri( ).
        lr_ws_header->set_request_header(
            name            = lv_name
            namespace       = lv_namespace
            dom             = xml_element
            must_understand = SPACE
        xml_element ?= xml_element->get_next( ).
      ENDWHILE.
    ENDIF.
    input-job_ad-id = 0.
    input-job_ad_text-id = 0.
    input-job_ad-publish_location = 1.
    TRY.
        CALL METHOD lo_zws_jp_co_service_soap->create_job_ad
          EXPORTING
            input  = input
          IMPORTING
            output = output.
      CATCH cx_ai_system_fault INTO lo_fault .
        MESSAGE lo_fault TYPE 'I'.
      CATCH cx_ai_application_fault INTO lo_appl_fault.
        MESSAGE lo_appl_fault TYPE 'I'.
        WRITE: output-create_job_ad_result-id.
    ENDTRY.
    But there is error when I run this program. the error is "SoapFaultCode:1"
    In tcode ST11, I see this log:
    E SOAP_RUNTIME 20100624004837.9280000 : CL_SOAP_RUNTIME_CLIENT
    ->EXEC_PROCESSING SOAP Fault Exception caught: : SOAP header To
    was not understood.
    btw the release is  701.
    Any one can navigate me to solved the problem?

    Hi,
      I have the same problem as you did before and I posted my code in this [thread|Change SOAP Header: Consuming Webservice;.
      In order to to solve your problem, I need to know what is the header that you want to add into the header, what is WSDL, and have you try testing that web service using other tool such as SOAPUI or XMLSPY and what is the result of testing tool?
    Regards,
    Chaiphon

  • Webservice to proxy - response back to webservice

    Hello expert,
    I am working on webservice to proxy scenario. When request to create purchase order received by PI thru webservice, PI will do proxy call to create purchase order in ECC and send response back.
    We don't want to send ECC response back to Webservice, but we would like to send positive response back as soon as PI recieve the message irrespective of what happens in ECC.
    Need some advise.
    thanks.

    >We don't want to send ECC response back to Webservice, but we would like to send positive response back as soon as PI recieve the message irrespective of what happens in ECC.
    One way of doing is after sending request to ecc, you can code in proxy as response in the same interface with single field element like mesg receiveed and map that response to soap response on the sender side. (in this case you dont really process the soap request in ecc directly. you do it at later or convenient time or after sending success transfer message).  Basically you handle logic in abap proxy side.
    Mapping 1 soap request to proxy request (Per business requirement)
    Mapping 2  proxy response (status : messg received ) to soap response
    Rest are all same. Basically you do SOAP (sender) to PRoxy (receiver)   synchronous mode
    If you dont want to pass the soap request message directly to ECC and within that timeframe want to send successful mesg from pI itself then you have to design to store the mesg temporarily. What will happen if your ecc is down? How do you handle that situation.

  • Create WebService - Client / Proxy in DevStudio 7.1

    Is it a known issue in DevStudio 7.1:
    1)  create WSDL file -> right click -> WebServices -> Generate Java Bean skeleton, and I see:
    "SAP Server does not support the Apache Axis Web service runtime. Choose a different server or runtime to proceed through the Web services wizard.",
       Server:  SAP Server
       WevServiceRuntime:  ApacheAxis  (no options available, except this one)
    Why here is only one option for Runtime?  How to create Skeleton?
    2)  create WSDL file -> right click -> WebServices  -> Generate Client,
    And here I don't see the warning message about Apache Axis, since:
         Server: SAP Server
         WebServiceRuntime: SAP NetWeaver  (2 options available)
    I click Next->Finish, and I got error:
       "Error: IWAB0014E: Unexpected exception occurred" 
    IWAB0014E Unexpected exception occured.
    StackTrace (see below in details):   java.lang.NullPointerException
          at com.sap.engine.interfaces.webservices.runtime.HTTPProxy.setExcludeList(HTTPProxy.java:52)
          at com.sap.ide.es.ws.consumer.jaxws.runtime.internal.consumer.impl.IDEProxyResolver.<init>(IDEProxyResolver.java:23)
          at com.sap.ide.es.ws.consumer.jaxws.runtime.internal.consumer.impl.ProxyGeneratorImpl.downloadWSDLs(ProxyGeneratorImpl.java:474)
          at com.sap.ide.es.ws.consumer.jaxws.runtime.internal.consumer.impl.ProxyGeneratorImpl.downloadWSDLs(ProxyGeneratorImpl.java:445)
          at com.sap.ide.es.ws.consumer.jaxws.runtime.internal.consumer.impl.ProxyGeneratorImpl.generateProxy(ProxyGeneratorImpl.java:220)
          at com.sap.ide.es.ws.common.core.consumer.ProxyGenerationCommand.execute(ProxyGenerationCommand.java:69)
          at org.eclipse.wst.command.internal.env.core.fragment.CommandFragmentEngine.runCommand(CommandFragmentEngine.java:413)
    What is wrong?  Configuration?

    It looks like, the situation with "Client Generation: Error" occures, if Proxy is enabled in Eclipse. If it's disabled, client is generated.
    But the first question still remains.

  • URL rewriting for a WebService Consumer Proxy

    Hi all,
    Did anybody come across this issue?
    I have a SAP System - let's call it "TM" -  that I want to bind with another non-SAP one - let's call it "FB" - without any PI between them.
    The communication is made as a Service Consumer (TM side), the Proxy (see image below) and Proxy-Implementation Class being generated automatically after the ".wsdl" file and the "url" given by the documentation of FB.
    Everything looks good! All the Methods (operations) that are available from the service have been added to the Implementing Class.
    After the Proxy generation, I also created the Logical Port (in transaction SOAMANAGER - see image below) where the path, host, prefix, and all the necessary stuff were also automatically created after the ".wsdl" document.
    So far so good! When I want to test it and to play along with this connection TM -> FB, I am creating the Proxy-Object, I am filling the required User / Pass / and an ID in order to call the first method. As you have probably guessed already: LOGIN.
        ls_in_login-login_request-id             = '...some ID...'.
        ls_in_login-login_request-user          = '...some user ...'.
        ls_in_login-login_request-password  = '...some password'.
    TRY.
             CREATE OBJECT lo_proxy
               EXPORTING
                 logical_port_name = 'ZAS_PORT_FB'.
         CATCH cx_ai_system_fault INTO lo_ref.    " Application Integration: Technischer Fehler
    ENDTRY.
       TRY.
           CALL METHOD lo_proxy->login
             EXPORTING
               input  = ls_in_login
             IMPORTING
               output = ls_out_login.
         CATCH cx_ai_system_fault INTO lo_ref.    " Application Integration: Technischer Fehler
         CATCH cx_ai_application_fault INTO lo_ref.    " Application Integration: Applikations Fehle
    ENDTRY.
    As a response, (meaning that the connection works and that the WebService acknowledges the connection) I get a "SessionID" -> a string of characters.
    In the Wiki of the Service is written that from this point on, every other methods (but I mean ALL of them, logout() also...) need to be called along with this SessionID. The problem is, that this SessionID doesn't have a specific place in the "inbound"-structure of the methods, but this mechanism of passing around the SessionID must be made with URL rewriting. Another solution would be to use COOKIES. From my point of view, a so-called URL rewriting would be easier, right?
    In the documentation is the following info written:
    URL rewriting (recommended):
    The JSessionId is attached to the URL of the SOAP request, as follows:  http://[URL];jsessionid=[jsessionid]
    Caused by tecnical reasons, it is necessary to specify the static string “;jsessionid=” in lower case letters.
    I have turned this "LO_PROXY" object around and around and around... trying to find a solution... a method...anything that would let me rewrite the URL, but nothing...
    I have also tried to use ce CL_HTTP_CLIENT class and to create myself the client and the URL and the host and everything manually... but in this case how do I end up in calling a specific "custom" method -> for instance... how do I call the "LOGIN"... or the LOGOUT...where do I put the parameters, etc?
    Do you have any suggestions / ideas / hints ?
    Thanks a lot in advance!
    Warm regards,
    Alex

    Hi Stefan,
    You are right! It doesn't support to set URL / HTTP parameters outside the logical port.
    Nevertheless, I have debugged the whole engine and found out that via custom coding (enhancements / modifications) and with extreme attention, the URL can be rewritten as desired.
    When a method of the proxy is called, let's say for instance: lo_proxy->logout (...) - as written up for example, the method CL_HTTP_CLIENT=>CREATE_BY_URL is called dynamically.
    In this method, in the "url" variable is the desired URL that needed to be rewritten.
    Here it's about an importing parameter, so it cannot be changed so easily, but it's not impossible.
    Another place where a nice Enhancement can be created is at the beginning of the FM "SWLWP_URI_PARSE".
    You need to be very careful not to change these places in all cases (this CREATE_BY_URL will be called pretty much), JUST when the specific conditions are fulfilled.
    Have a great day / week!
    Warm regards,
    Alex

  • How to call the secured webservice in proxy client ?

    Hi All,
    JDev ver : 11.1.1.5
    I have created a proxy client fro the siebel webservice in model.
    When I try calling the methods in the service. its giving error like this ,
    Exception in thread "main" javax.xml.ws.soap.SOAPFaultException: Unable to process SOAP Header child element 'wsse:Security' with 'mustUnderstand="1"'(SBL-EAI-08000)
         at com.sun.xml.ws.fault.SOAP11Fault.getProtocolException(SOAP11Fault.java:197)
         at com.sun.xml.ws.fault.SOAPFaultBuilder.createException(SOAPFaultBuilder.java:130)
         at com.sun.xml.ws.client.sei.SyncMethodHandler.invoke(SyncMethodHandler.java:125)
         at com.sun.xml.ws.client.sei.SyncMethodHandler.invoke(SyncMethodHandler.java:95)
         at com.sun.xml.ws.client.sei.SEIStub.invoke(SEIStub.java:136)
         at $Proxy32.dgcaCreateAttachement(Unknown Source)
         at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
    How to set the soap header message username and password ?
    thanks,
    Gopinath

    Hi Juan,
    In the client class I am calling the service like this, Where I am doing wrong ?
    dGCA_spcCreate_spcCase_spcAttachments_Service = new DGCA_spcCreate_spcCase_spcAttachments_Service();
    SecurityPoliciesFeature securityFeatures =
    new SecurityPoliciesFeature(new String[] { "oracle/wss_username_token_client_policy" });
    DGCA_spcCreate_spcCase_spcAttachments dGCA_spcCreate_spcCase_spcAttachments = dGCA_spcCreate_spcCase_spcAttachments_Service.getDGCA_spcCreate_spcCase_spcAttachments(securityFeatures);
    Map<String, Object> reqContext =
    ((BindingProvider)dGCA_spcCreate_spcCase_spcAttachments).getRequestContext();
    reqContext.put(BindingProvider.USERNAME_PROPERTY, "SADMIN");
    reqContext.put(BindingProvider.PASSWORD_PROPERTY, "SADMIN");
    DGCACreateAttachementInput input = new DGCACreateAttachementInput();
    input.setCaseId("");
    input.setFilePath("");
    dGCA_spcCreate_spcCase_spcAttachments.dgcaCreateAttachement(input);
    Regards,
    Gopinath

  • Webservice for proxy to SOAP adapter interface

    Hi Experts,
    we have scenario Proxy to SOAP for this inteface is it possible to provide the webservice from PI side.
    if yes please let me know the steps.
    i know the process how to provide the webservice when the SOAP adapter at sender side.
    1) through sender agreement---->Display WSDL.
    2) Tools---->Disply WSDL
    is it poassible to provide the webservice when SOAP adapter at receiver end by using 2 nd process?

    we have scenario Proxy to SOAP for this inteface is it possible to provide the webservice from PI side.
    if yes please let me know the steps.
    i know the process how to provide the webservice when the SOAP adapter at sender side.
    1) through sender agreement---->Display WSDL.
    2) Tools---->Disply WSDL -
    > yes that is possiable for only sender side as webservice because sender always consumer
    is it poassible to provide the webservice when SOAP adapter at receiver end by using 2 nd process?
    No that is not possiable to import WSDl File In receiver agreement because receiver always Provider .
    in ESR:
    wsdl file ll be imported in External defination as external message.
    in ID:
    in receiver Comm.channel -> call the soap URL and Soap Action(not manadatary)

  • Differences  between webservice and proxy

    Hi guys.
    Which are the differences between webservices and proxys?
    If I have a XI adapter (proxy) or Soap Adapter in Pi in both a Proxy Abap is created in SEECC to consume the service so I cant see the differences...
    Regards

    If I wanted to consume a webservice exposed in Pi by a Sender SOAP Sender, what would I have to do?
    Nothing exceptional.....just define a message structure in PI....create a message interface....generate a WSDL for this Message Interface.....use the URL from this WSDL to send message.....it is a normal SOAP --> XI scenario.....many references are readily available on How to do this.
    Regards,
    Abhishek.

  • Problem with a Webservice's proxy client  re-generation...

    Hi all,
    I have a problem. I'm trying to re-generate a proxy client for a Web service and, when i'm about to finish WAS server ask me for an user. it shows me a window such as the window it shows when you launch (verify) a web app. standalone. Do i have to have a special permission for re-generate (generate) a proxy client for an enterprise service?. I tried to enter the user that i have in the server...and it doesn't work...please help

    This proxy is based on a .NET Webservice. This Webservice is on a intranet server. When i launch the wsdl in a regular browser...it asks me enter an intranet user... (not was)...but the prompt that the WAS shows me when it is just about to regenerate...is an enter data logon of WAS, When i put my WAS User...doesnt work...ask me again for an user.... that is a bummer that you couldnt simulate my exact problem....

  • Workshop 8.1 - Webservices - java proxy

    Hi, I must work with webservice and java proxy and I can't change webservice's end point.
    Can I change this like "webservices control" using setEndPoint method?.
    Thank in advance.

    Hi,
    if you are using a service control, you could use the setEndPoint() API.
    http://e-docs.bea.com/workshop/docs81/doc/en/workshop/java-class/com/bea/control/ServiceControl.html
    if you want to use the client proxy, you could manually end the WSDL and then regenerate the proxy using clientgen
    Also, please use the following workshop newsgroups for workshop specific questions
    http://forums.bea.com/forum.jspa?forumID=2041
    cheers
    Raj

  • Weblogic 8.1 Webservice Client Proxy Authentication not working

    We have a desktop console based Weblogic webservices client application that uses client stubs to establish the connection and communicate with the server where the WSDL was hosted.
    We are facing a problem in authenticating the Proxy user with valid credentials.
    We are using the following code to set the system properties and Authenticator class to authenticate the proxy user.
    //Code Segment #1
    Code:
    System.setProperty("http.proxyHost", proxyHost);System.setProperty("https.proxyHost", proxyHost);
    System.setProperty("weblogic.webservice.transport.http.proxy.host",proxyHost);
    System.setProperty("weblogic.webservice.transport.https.proxy.host",proxyHost);
    System.setProperty("http.proxyPort", proxyPort);
    System.setProperty("https.proxyPort", proxyPort);
    System.setProperty("weblogic.webservice.transport.http.proxy.port",proxyPort);
    System.setProperty("weblogic.webservice.transport.https.proxy.port",proxyPort);
    //System.setProperty("http.proxyType", "basic");
    //System.setProperty("https.proxyType", "basic");
    //System.setProperty("http.proxy.auth.type" ,"ntlm"); //This is not showing any impact
    System.setProperty("http.proxyUser", "bsil\\ashok.kumar");
    System.setProperty("https.proxyUser", "bsil\\ashok.kumar");
    System.setProperty("http.proxyPassword", " xyzddd");
    System.setProperty("https.proxyPassword", "xyzddd");
    Authenticator.setDefault(new MyAuthenticator());
    //Inner class
    public static class MyAuthenticator extends Authenticator {
    protected PasswordAuthentication getPasswordAuthentication() {
    String username = System.getProperty("http.proxyUser");
         String password = System.getProperty("http.proxyPassword");
         return new PasswordAuthentication(username, password.toCharArray());
    We are using following code initialize the stubs (Which internally opens a connection to the given endpoint base URL)
    //Code Segment #2
    Code:
    SessionService_Impl sessionService = new SessionService_Impl(getEndPointURL(SessionServicePort.class));
    port = sessionService.getSessionServicePort();
    return port;
    Using above code it always throws the following exception:
    Code:
    weblogic.webservice.tools.wsdlp.WSDLParseException: Failed to retrieve WSDL from https://apiclienttest.intralinks.com:443/webservices51/SessionService?WSDL. Please check the URL and make sure that it is a valid XML file [java.io.IOException: Proxy authenticator  failed: java.lang.ClassNotFoundException: ]
    if i replace the above code (Code Segment #2) to as bellow with Code Segment #3 then its working as expected. But we have been told that the Code Segment #2 is required as shwon above for the Weblogic ClientTimeout seconds feature so we cant replace the Code Segment #2 with Code Segment #3 since we don?t want to miss the ClientTimeout seconds feature for the application.
    //Code Segment #3
    Code:
    SessionService_Impl sessionService = new SessionService_Impl();
              SessionServicePort sessionServicePort = sessionService.getSessionServicePort();
              ((SessionServicePort_Stub) sessionServicePort)._setProperty("javax.xml.rpc.service.endpoint.address", endPointBaseURL+"SessionService");
    return sessionServicePort ;
    why the Proxy authentication is failing with the Code Segment #2 and why it is passing in case of Code Segment #3
    The endpoint base URL we are hitting is hosted on Weblogic server 9.0 (which is hosted at client side in US so it is behind our firewall).
    Is some thing more do we need to do in Authenticator class???
    Please help me if any one has worked on proxy server authenticator in java.

    We have a desktop console based Weblogic webservices client application that uses client stubs to establish the connection and communicate with the server where the WSDL was hosted.
    We are facing a problem in authenticating the Proxy user with valid credentials.
    We are using the following code to set the system properties and Authenticator class to authenticate the proxy user.
    //Code Segment #1
    Code:
    System.setProperty("http.proxyHost", proxyHost);System.setProperty("https.proxyHost", proxyHost);
    System.setProperty("weblogic.webservice.transport.http.proxy.host",proxyHost);
    System.setProperty("weblogic.webservice.transport.https.proxy.host",proxyHost);
    System.setProperty("http.proxyPort", proxyPort);
    System.setProperty("https.proxyPort", proxyPort);
    System.setProperty("weblogic.webservice.transport.http.proxy.port",proxyPort);
    System.setProperty("weblogic.webservice.transport.https.proxy.port",proxyPort);
    //System.setProperty("http.proxyType", "basic");
    //System.setProperty("https.proxyType", "basic");
    //System.setProperty("http.proxy.auth.type" ,"ntlm"); //This is not showing any impact
    System.setProperty("http.proxyUser", "bsil\\ashok.kumar");
    System.setProperty("https.proxyUser", "bsil\\ashok.kumar");
    System.setProperty("http.proxyPassword", " xyzddd");
    System.setProperty("https.proxyPassword", "xyzddd");
    Authenticator.setDefault(new MyAuthenticator());
    //Inner class
    public static class MyAuthenticator extends Authenticator {
    protected PasswordAuthentication getPasswordAuthentication() {
    String username = System.getProperty("http.proxyUser");
         String password = System.getProperty("http.proxyPassword");
         return new PasswordAuthentication(username, password.toCharArray());
    We are using following code initialize the stubs (Which internally opens a connection to the given endpoint base URL)
    //Code Segment #2
    Code:
    SessionService_Impl sessionService = new SessionService_Impl(getEndPointURL(SessionServicePort.class));
    port = sessionService.getSessionServicePort();
    return port;
    Using above code it always throws the following exception:
    Code:
    weblogic.webservice.tools.wsdlp.WSDLParseException: Failed to retrieve WSDL from https://apiclienttest.intralinks.com:443/webservices51/SessionService?WSDL. Please check the URL and make sure that it is a valid XML file [java.io.IOException: Proxy authenticator  failed: java.lang.ClassNotFoundException: ]
    if i replace the above code (Code Segment #2) to as bellow with Code Segment #3 then its working as expected. But we have been told that the Code Segment #2 is required as shwon above for the Weblogic ClientTimeout seconds feature so we cant replace the Code Segment #2 with Code Segment #3 since we don?t want to miss the ClientTimeout seconds feature for the application.
    //Code Segment #3
    Code:
    SessionService_Impl sessionService = new SessionService_Impl();
              SessionServicePort sessionServicePort = sessionService.getSessionServicePort();
              ((SessionServicePort_Stub) sessionServicePort)._setProperty("javax.xml.rpc.service.endpoint.address", endPointBaseURL+"SessionService");
    return sessionServicePort ;
    why the Proxy authentication is failing with the Code Segment #2 and why it is passing in case of Code Segment #3
    The endpoint base URL we are hitting is hosted on Weblogic server 9.0 (which is hosted at client side in US so it is behind our firewall).
    Is some thing more do we need to do in Authenticator class???
    Please help me if any one has worked on proxy server authenticator in java.

  • Consuming utl_dbws webservice via proxy gives error (sometimes)

    Hi all,
    We provide a webservice for our clients, and some of them have reported they have issues calling a specific operation. Only clients who connect through a proxy have this problem. Others can call the service without issues.
    When I browse to the wsdl (both from my local machine, and via an RDP-session to our customer's network) I get result, so I know the service itself works and that we can connect to it.
    The service has 4 operations, each returning an xmltype.
    When I call the first operation (from my machine aswell as the customer's machine), I get the correct result.
    When I call the second operation from my machine, I get the expected result, but hen I call it from the customer's machine however (which connects via a proxy), the service errors out with following message:
    ORA-29532: Java call terminated by uncaught Java exception: HTTP transport error: javax.xml.soap.SOAPException: java.security.PrivilegedActionException: javax.xml.soap.SOAPException: <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
    <HTML dir=ltr><HEAD><TITLE>The page cannot be displayed</TITLE>
    <STYLE>A:link {
         FONT: 8pt/11pt verdana; COLOR: #ff0000
    A:visited {
         FONT: 8pt/11pt verdana; COLOR: #4e4e4e
    </STYLE>
    <META content=NOINDEX name=ROBOTS>
    <META http-equiv=Content-Type coI've written the entire SQLERRM to a table to be sure, but that's all there is in it.
    The operation requires no parameters, so there isn't something wrong with my input.
    The code i use to call the service is as follows:
          -- service en call aanmaken
          v_service := create_service(service_name => to_qname(i_name_space => NULL,
                                                               i_name       => get_ws_param_val(i_ws_code    => i_ws_code,
                                                                                                i_param_code => 'SERVICE_NAME')));
          v_call    := create_call(service_handle => v_service);
          -- proxy instellen indien nodig
          v_proxy := get_ws_param_val(i_ws_code => i_ws_code, i_param_code => 'HTTP_PROXY');
          IF v_proxy IS NOT NULL THEN
             set_http_proxy(httpproxy => v_proxy);
          END IF;
          -- endpoint instellen
          v_endpoint := get_ws_param_val(i_ws_code => i_ws_code, i_param_code => 'ENDPOINT');
          IF instr(lower(v_endpoint), '?wsdl') > 0 THEN
             v_endpoint := substr(v_endpoint, 1, length(v_endpoint) - 5);
          END IF;
          set_target_endpoint_address(call_handle => v_call, endpoint => v_endpoint);
          set_property(call_handle => v_call,
                       key         => 'SOAPACTION_USE',
                       VALUE       => get_operation_param_val(i_ws_code        => i_ws_code,
                                                              i_operation_code => i_ws_operation,
                                                              i_param_code     => 'SOAP_ACTION_USE'));
          set_property(call_handle => v_call,
                       key         => 'SOAPACTION_URI',
                       VALUE       => get_operation_param_val(i_ws_code        => i_ws_code,
                                                              i_operation_code => i_ws_operation,
                                                              i_param_code     => 'SOAP_ACTION_URI'));
          set_property(call_handle => v_call,
                       key         => 'OPERATION_STYLE',
                       VALUE       => get_ws_param_val(i_ws_code    => i_ws_code,
                                                       i_param_code => 'OPERATION_STYLE'));
          set_property(call_handle => v_call,
                       key         => 'ENCODINGSTYLE_URI',
                       VALUE       => get_ws_param_val(i_ws_code    => i_ws_code,
                                                       i_param_code => 'ENCODING_STYLE_URI'));
          -- eventueel username instellen
          v_username := get_ws_param_val(i_ws_code => i_ws_code, i_param_code => 'USERNAME');
          IF v_username IS NOT NULL THEN
             set_property(call_handle => v_call, key => 'USERNAME', VALUE => v_username);
             set_property(call_handle => v_call,
                          key         => 'PASSWORD',
                          VALUE       => get_ws_param_val(i_ws_code    => i_ws_code,
                                                          i_param_code => 'PASSWORD'));
          END IF;
          -- request opbouwen met parameters
          v_target_ns := get_ws_param_val(i_ws_code => i_ws_code, i_param_code => 'TARGET_NAMESPACE');
          v_req_root  := get_operation_param_val(i_ws_code        => i_ws_code,
                                                 i_operation_code => i_ws_operation,
                                                 i_param_code     => 'REQUEST_ROOT');
          v_request   := xmltype('<' || v_req_root || ' xmlns="' || v_target_ns || '"/>');
          v_request   := v_request.appendchildxml(xpath      => '/' || v_req_root,
                                                  value_expr => i_parameters.extract('/parameters/*'),
                                                  namespace  => 'xmlns="' || v_target_ns || '"');
          -- web service oproepen
          v_response := invoke(call_handle => v_call, request => v_request);
          -- vernietigen van gemaakte objecten
          release_call(call_handle => v_call);
          release_service(service_handle => v_service);
          RETURN v_response;The invoke procedure:
       -- Invokes a Document-style webservices in a synchronous
       -- request-response interaction mode.
       --   callHandle - the instance of the call
       --   request - a SOAPElement request
       --   Returns a SOAPElement response
       FUNCTION invoke(call_handle CALL,
                       request     sys.xmltype) RETURN sys.xmltype IS
       BEGIN
          set_call(call_handle);
          RETURN invoke_proxy(request);
       END invoke;
       FUNCTION invoke_proxy(request sys.xmltype) RETURN sys.xmltype AS
          LANGUAGE JAVA NAME 'oracle.jpub.runtime.dbws.DbwsProxy.invokeProxy(oracle.xdb.XMLType) return oracle.xdb.XMLType';I've been searching the web for half a day now and havn't found anything helpful. I'm actually considering rewriting my code to use utl_http (as I've done before) but that would be my last resort.
    Anyone have any ideas as to why this sometimes fails?
    TIA!
    ps: Moderators, if this is in the wrong forum, feel free to move it.
    Edited by: Jo on Jul 16, 2012 3:20 AM -> fixed the code blocks

    Some extra info: the webservice is hosted in an OC4J container on a 10g application server (judging from the Help pages I'm guessing the full version number is 10.1.3).
    I can access the Enterprise Manager and I found a Logs section in there.
    The "Last modified" column for the webservices' Audit and Trace logs show June 30, with a size of 0B (even though I tried again a couple of times today).
    The diagnostic logs (found in the Components -> OC4J -> webservices (this is the container's name) -> Diagnostic Logs section) show a couple of warnings in there on July 16, at about the same time I tried executing the webservice, with a Message Text saying "Unable to determine operation id from SOAP Message.", but there's no log for today, so not really sure if that's the correct file.
    The server.log (Components -> OC4J -> webservices -> server.log) keeps updating, but shows only "oracle.ons.Notification@1b4fd6a" messages, so that's probably not it either.
    I can also see the response/load graph updating as I execute the webservice, so I'm pretty sure connectivity is not the issue here.
    Any advice as to which log file I'm looking for?

  • Webservice Standalone Proxy Jars

    Hi,
    does anybody know which jars to provide for a standalone client proxy and where these can be found?
    Thank you in advance and kind regards,
    Heiko

    Hi William,
    I have included the following libs in my classpath and it works:
    activation.jar
    boot.jar
    exception.jar
    iq-lib.jar
    jaxm-api.jar
    jaxrpc-api.jar
    jnet.jar
    jsse.jar
    logging.jar
    mail.jar
    saaj-api.jar
    sapxmltoolkit.jar
    tc_sec_wssec_lib.jar
    util.jar
    webservices.jar
    webservices_api.jar
    webservices_lib.jar
    Cheers,
    Heiko

  • Webservice to Proxy scenario..

    Hi,
    My scenario is EP -- XI -- Proxy scenario in which i have an wsdl at the EP side and what else configuration to be done for creating the proxy at the target side..
    Do we need to create the inbound proxy w.r.t to the interface and request you to post the step by step procedure of how to complete this scenario
    as i am new to work with proxies request your valuable inputs
    regards
    sai.

    EP --> XI/PI
    1) Create a DT, MT relevant to the message that EP will be sending.
    2) Create a Outbound Asynchronous Message/ Service Interface
    XI/PI --> SAP(Proxy)
    1) Create a DT, MT relevant to the message that needs to be send to SAP.
    If message and structure is the same as in EP --> XI/PI then reuse the above created DT, MT
    2) Create a Inbound Asynchronous Message Interface
    If needed create relevant Mapping program (Message and Interface mapping)
    In ID:
    1) Create a Business Service for EP....and include the Outbound Async MI here
    2) Create a Business System for the Proxy and include the Inbound Async Mi
    3) Create a Sender SOAP channel
    4) Create a Receiver Proxy (adapter type: XI) channel
    5) Create Receiver Determination, Interface Determination, Sender & Receiver Agreement.
    6) Create a WSDL file in ID --> Tools --> Display WSDL --> enter the details accordinlgy in the wizard.
    7) Give this WSDL file to the EP application.
    8) In transaction SPROXY create the inbound proxy for the message interface developed in XI/ PI --> SAP(Proxy) section.
    How to create a WSDL/ proxy....just make a search on SDN....lot of blogs are present.
    Regards,
    Abhishek.

Maybe you are looking for