Consumer proxy to PI

Hi,
We have a consumer proxy that was created with class interfaces in ABAP. This did not follow the traditional message interface from ESR. The integration of this consumer proxy is through PI to a .net Webservice through SOAP adapter. Since the consumer proxy is created using ABAP class interfaces, the logical port needs to be set up using SOA manager. But the SOA manager needs a WSDL URL to be filled in the definition of the logical port. I am aware for proxy objects in SPROXY, the WSDL is available but how is the WSDL URL derived for proxies created from ABAP? or Does the  WSDL URL need to be the same as the receiver WSDL URL ? I am a bit confused here. I am trying to do a simple consumer proxy->PI->SOAP scenario.
Teresa

Hi,
Thanks for the response
"you can either call PI via proxy class created in sproxy - then you don't need to use any receiver CC (any sender agreement)
in PI"
This is not a Proxy class created from SPROXY.
"you can call PI WS from ECC then you do it over SOAP channel - then you need logical point "
I intend on going this route. I have the WSDL imported into PI and SOAP receiver has been set. Also a logical port with reference to the PI WSDL URL has been created in ECC and assigned to the ABAP class interface.
Now when the Abaper implements the class, is it the logic  that the PI WS would be called from the execute method through the logical port and the request passed on to PI ?
Teresa

Similar Messages

  • Error in creating create Consumer proxy:

    Hi all ,
                    while creating create Consumer proxy: in SE80 ,by giving the URL of the webservice i am getitng a error which is
    Exception occurred in communication framework:Error in HTTP Framework:404conn failedhttp, i am new to this SOA, please help me
    Thanking you
    Sridhar

    Hi.
    Can you tell us how did you solve it?? I´m getting the ( missing) error too.
    Thanks in advance.

  • 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

  • Error while creating logical port for Consumer Proxy in SOAMANGER

    Hi,
    While creating logical port for my consumer proxy in SOAMANGER, I am getting the error shown below
    SRT Framework exception: HTTP: Current user does not have the required authorization to access the HTTP destination
    I have searched in the forums but none of the answers helped me.
    I have specifed my PI user ID and password and the user has the followwing roles assigned to it.
    SAP_BC_WEBSERVICE_SERVICE_USER
    SAP_BC_WEBSERVICE_ADMIN_TEC
    SAP_BC_WEBSERVICE_CONSUMER
    SAP_BC_WEBSERVICE_ADMIN
    Current user in the error message refers to the PI user that i have specified or the user with which i have logged in the backend ABAP system?
    Please help me reslove this issue.
    Thanks and regards
    Sreehari Nambiar

    Hi,
    Please add the following roles as well.
    SAP_BC_WEBSERVICE_ADMIN_BIZ
    SAP_BC_WEBSERVICE_DEBUGGER
    SAP_BC_WEBSERVICE_OBSERVER
    Also make sure that you are doing the role comparison  after adding all SAP* roles in your profile.
    Let me know if this works?
    Thanks,
    Sridhar

  • Consumer Proxy Error

    Hello Guru's,
    I have created Consumer Proxy and developed a Report, While Executing this particular report i getting a below given error.
    Error during proxy call
    system fault :
    CX_ST_GROUP_MISSING_CASE:XSLT exception.Element 'Narrative' missing
    Please Help me and provide me soultion for this issue.
    Thanks
    Muralitharan

    We are Consuming C-WSDL into ABAP which is provided by Webmethods
    Please see the below WSDL details
                 <xsd:complexType name="ArrayOfAddress">
    <xsd:sequence>
                   <xsd:element name="ArrayOfAddressItem" type="tns:Address" maxOccurs="unbounded"/>
              </xsd:sequence>
              </xsd:complexType>
              <xsd:complexType name="ArrayOfCNConsumerRequests">
    <xsd:sequence>
                   <xsd:element name="ArrayOfCNConsumerRequestsItem" type="tns:CNConsumerRequests" maxOccurs="unbounded"/>
              </xsd:sequence>
              </xsd:complexType>
              <xsd:complexType name="findNonRetailCreditRatingResponse">
                <xsd:sequence>
                  <xsd:element name="APIResponse" nillable="true" type="tns:APIResponse"/>
                </xsd:sequence>
              </xsd:complexType>
              <xsd:complexType name="APIResponse">
                <xsd:sequence>
                  <xsd:element name="Narrative" nillable="true" type="tns:Narrative"/>
                  <xsd:element name="TradeCheck" nillable="true" type="tns:TradeCheck"/>
                </xsd:sequence>
              </xsd:complexType>
           <xsd:complexType name="Narrative"> *
             <xsd:sequence> *
                 <xsd:element name="GRADE" nillable="true" type="xsd:string"/> *
               <xsd:element name="Record1" nillable="true" type="xsd:string"/> *
               <xsd:element name="Record2" nillable="true" type="xsd:string"/> *
               <xsd:element name="Record3" nillable="true" type="xsd:string"/> *
                <xsd:element name="Record4" nillable="true" type="xsd:string"/> *
                </xsd:sequence>
      <wsdl:service name="manageCreditCheckOut">
        <wsdl:port name="ATBCoreWSEquifax_connector_manageCreditCheckOut_V001_manageCreditCheckOut_Port" binding="tns:ATBCoreWSEquifax_connector_manageCreditCheckOut_V001_manageCreditCheckOut_Binder">
          <soap:address location="http://10.128.76.18:51121/ws/ATBCoreWSEquifax.connector.manageCreditCheckOut.V001:manageCreditCheckOut"/>
        </wsdl:port>
      </wsdl:service>
    </wsdl:definitions>
    Please provide me solution for this problem

  • How to Assign Logical port for a standar Consumer proxy

    Hello,
    I'm working with a SAP application creating a WS Connector that ask me for the following data:
    - Class name:
    - Logical Port name:
    As far as I have read SAP delivers for this application an example implementation for the following web service: ProductionBillOfMaterialVariantBasicDataByMaterialAndPlantQueryResponse_In with the /BCV/CL_SIN_WS_BOM class.
    And the help also says that We can find the example implementation delivered by SAP for the Web service ProductionBillOfMaterialVariantBasicDataByMaterialAndPlantQueryResponse_In in the package /BCV/SIN_PRX, under Service Consumer /BCV/CO_PRODUCTION_BILL_OF_MAT
    In se80 transaction under /BCV/SIN_PRX package I can find /BCV/CO_PRODUCTION_BILL_OF_MATERIAL consumer proxy.
    As far as I know, I just need to assign a Logical port to this proxy.
    So, I go to soamanager transaction under "Service-Administration" --> "Single Service Configuration" and find this Consumer proxy. Then, under Configuration tab I select "Create logical port" option but I need to fill an URL for WSDL access.
    Where can I find this URL? I think that I need to provide de WSDL URL (end point) of the ProductionBillOfMaterialVariantBasicDataByMaterialAndPlantQueryResponse_In Web Service but I can't find it on the soa manager. Or maybe I need to implement a WS by my own WB using the /BCV/CL_SIN_WS_BOM class?
    I appreciate if someone could help me with these SOA concepts.
    Thanks in advance,
    Abigail.

    Hi Abigal,
    In  SOAMANAGER , u can configure the logical port in 3 ways first it by WSDL and second by manually and third by PI.
    1. WSDL based :   URL will automatically determined using WSDL file.
    2. MANUAlly :   in this , we have to provide the URL .
    Thanks
    jitendra

  • Error in Logical port for Consumer proxy in SOAMANAGER

    HI Experts,
    While creating Logical port for Consumer proxy in SOAMANAGER I am facing problem
    "SRT Framework exception: Uninstantiated object "subject sidl service" in method IF_SRT_WSP_CONFIG_SIDL~CREATE_CLNT_CFG_FROM_WSDL_D of class CL_SRT_WSP_CONFIG_SIDL ".
    Kindly suggest.

    Hi Milan,
    this kind of error occurs when there is no service and end point description in the WSDL of provider who's service you are trying to consume using Consumer Proxy.
    Just open the provider's WSDL URL that you have given while creating Logical port for the consumer proxy   and check if service and end point exists there.
    Thanks
    Sunil Singh

  • Example wsdl and logical port for consumer proxy anyone ?

    Hi,
    Could please somebody give me an example of external WSDL file and logcial port created for the WSDL file in SOAMANAGER ?
    I need to create manually logical port for my consumer proxy and I am missing something because my logical port is not active.
    Any example is more than welcome. 
    I need to know how to populate fields manually on the following tabs based on the info in a WSDL file:
      Consumer Security  Additional Information  Web Service Addressing  Messaging  Transport settings  Message Attachments  Operation specifi
    Thanks and Regards
    Agnieszka
    The message, I am getting, when creating logical port is:
    Operation 'SrtFmStatefulTf' not found [NS: 'urn:sap-com:document:sap:soap:functions:mc-style']
    I think that maybe something is wrong with my wsdl.
    Edited by: Agnieszka Domanska on Nov 17, 2010 5:41 PM

    Hi Milan,
    this kind of error occurs when there is no service and end point description in the WSDL of provider who's service you are trying to consume using Consumer Proxy.
    Just open the provider's WSDL URL that you have given while creating Logical port for the consumer proxy   and check if service and end point exists there.
    Thanks
    Sunil Singh

  • How to create Consumer Proxy in SAP ME SDK?

    Hi,
    i'm working with a ME 6.0 release and since i need to set some settings for a webservice and that is only possible via a consumer proxy, my question would be: How do i create a consumer proxy for an external webservice that i want to call in the SDK?
    I have no problems creating webservices in ME SDK but i don't know how to transform them so that they are consumer proxies. Can anyone point me in the right direction?
    Regards,
    David Strohmayer

    Please do check the thread mentioned below if it is of any help.
    Re: SOAP to PROXY (Synchronous)
    Rg,
    Harshit

  • Cosuming web service using consumer proxy - not getting the output

    Hello All,
    I am not getting the consumer proxy output structue filled though the web service is successfully executed. I did the following steps.
    1. Created a webservice form RFC BAPISDORDER_GETDETAILEDLIST
    2. Created a consumer proxy for the above created WSDL document.
    3. Tested the service by executing the proxy directly by feeding the input in the XML (sales document and partner view). it is working fine
    4. Created a program to access the consumer proxy by passing the input(same input as per XML). I am not getting the output in the proxy output structure ( but I can see the RFC is successfully executed and having the right values in the debugging mode).
    Is this the issue is due to the date fields (XML cannot consider a blank date )?
    Please note: the partner output table parameter in the bapi (output I am looking for ) is not having any date fields.
    Please help me to sort out this issue.
    Thanks,
    Gopi

    Hi Gopi,
    From your description, I assume you used the SE37 transaction's menu option Utilities -> More Utilities -> Create Web Service -> From the Function Module, to expose the BAPI concerned as a Web Service.
    If this is the case, then it is possible that you are falling foul of your SAP User ID not having the necessary Remote Function Call authorization to execute the BAPI.
    A prerequisite for successfully calling an RFC-enabled Function Module (which is what a BAPI is) is that the User ID used to call the function module must have the required RFC authorization (Authorization Object S_RFC).  For example, when calling function module BAPI_CUSTOMER_GET_ROOT, if the User ID lacks the requisite authorization in the target system, the following error message will be received by the Consuming application:
        User <User ID> has no RFC authorization for function group V02HBAPI.
    Notice, as you can see from the above message, RFC execution authorization is implemented at the Function Group level, not at the Function Module level.  In othere words, granting a user the authorization to a function group (authorization object S_RFC) enables the user to execute all RFC-enabled function modules contained within that function group.
    I am guessing the BAPI works for you in debug mode because you are not calling the BAPI remotely.
    Let me know if this helps.
    Best Regards,
    Andy.

  • Web Service Call From Consumer Proxy in ABAP: Security Settings

    Hello All,
    Have a couple of questions:
    We are working on a scenario where we have to connect to a web service from ABAP. We have extracted the WSDL, and generated the client proxy, and configured a Logical Port. However, at the time of actual call, we receive an error message "Header http://schemas.xmlsoap.org/ws/2004/08/addressing:Action for ultimate recipient is required but not present in the message.". We suspect that this is a problem with the SOAP Header, which might be missing some tags, which are required by the Web Service. Problem is, we can not trace the Web Service SOAP Header. We can not see it in SOAMANAGER, or any other transaction as such.
    1. Does any body have an idea where to look for the complete SOAP Request, in case of a Consumer Proxy call?
    2. After re-configuring the Logical Port in SOAMANAGER, our scenario is now stuck at an error which says: 'SoapFaultCode:1  Security requirements are not satisfied because the security header is not present in the incoming message.'. This is probably happening because the target web service is WSE 3.0 compliant, and hence it is asking for UsernameToken and TimeStamp attributes in SOAP Header. In SOAMANAGER Logical Port configuration, we do not see a placeholder for providing this information. However, in earlier LPCONFIG transaction, there was a field for providing WS Security Profile for Operations. Where does this config lie in SOAMANAGER?
    Awaiting Replies.
    Thanks and Regards,
    Sid

    Hi Sid,
    The setting username/password in the manual logical port configuration will send the username and password in the http header as basic authentication. That's why you don't see a security header.
    To configure usernametoken you have to create the logical port out of a WSDL. This WSDL needs to contain WS-Security Policies . So in the policy section of the WSDL you see an XML element called UsernameToken.
    In order to let .Net generate a compatible WSDL you have to configure your WCF Web Service to use a CustomBinding with authentication "UsernameOverTransport". This is a username token in the security header send over SSL. So therefore you need an HTTPSTransport (instead of HTTPTransport) in the binding of your .Net WCF endpoint as well.
    For an example of such a WCF service configuration see my comment on http://weblogs.sdn.sap.com/cs/user/view/cs_msg/59671.
    Regards,
    Mathias

  • Generating a consumer proxy

    I have reached total frustration.
    I am trying to generate a service consumer proxy for an external, non-sap web service. I have tried several different web services during testing, and all but the most basic ones failed with a library error, with the horrible message of "Not implemented".
    I have begun to wonder just what IS implmented. Seriously, though, is there a way to find out the specific thing that is causing the whole proxy generation to fail. As i said, all it says is "Not Implemented" without any idea of WHAT is not implemented.
    I am at ECC6, SP14. We cannot do an upgrade just to make this work.
    Beyond that, is there a way to call external, non-sap web services without a proxy object? i would love to have a proxy object, of course, but this wizard is about the worst thing i have ever seen.
    sorry for being so negative, but i have been fighting this for 3 weeks, scanning this sight, browsing OSS, and the only answer i have gotten is "install service pack 17", which is out of the question.

    Hi,
    >sorry for being so negative, but i have been fighting this for 3 weeks, scanning this sight, browsing >OSS, and the only answer i have gotten is "install service pack 17", which is out of the question.
    You must be new to the SAP world because what you describe is part of the "real SAP experience" !
    (Fighting with OSS notes and support packages)  
    >Beyond that, is there a way to call external, non-sap web services without a proxy object?
    Of course, there is. If you are ready to program low level http request with abap object...
    An other possibility is what we did with was 6.20 when the SAP proxy was not available.
    We used RFC server programs written in .NET with the SAP .NET  connector.
    It was a sort of connector converting RFC calls in web service calls.
    Regards,
    Olivier

  • ABAP Consumer Proxy. Not working?

    Hello
    I've created consumer proxy in ABAP. Configured logical port in SOAMANAGER. When I test call operation from this proxy I get "Call successful - Empty result" because it is async interface. But it seems that PI (which serves this service) doesn't get anything from ABAP program. How can I monitor or check the log of whar this proxy sends?
    best regards
    Maciej

    Hi guys,
    I'am still facing the same problem. Queues in PI are registered, the async outbound proxy call gives the same message "Call successful - Empty result". But no messages are shown in SXMB_MONI. I've followed the link above. Other messages from sync scenarios are shown. Services (EO, EOIO) are registered and activated.
    In Adapter Monitoring no messages are shown. I am using XI adapter as sender and JMS sender as receiver.
    I've stopped JMS-sendin-Queue and there is no message too.
    My issue was resolved by COMMIT WORK of proxy-call.
    Thanks in Advance,
    Stefan
    Edited by: Stefan Burghardt on Jul 12, 2011 6:32 PM

  • Single workbench request for CONSUMER PROXY in crm 7.0.

    Hi all ,
    I have a problem related to "consumer proxy" in sap crm 7.0 release. In our system , we have several proxies (existing) for consuming inter system web services (WSDL's) which were generated from SE80 , client proxies, wizard.
    As we know , at the very first time of creation , the workbench request holds both the structure , class and object of the proxy ,but if afterwards , the proxy is regenarated for changed structure in WSDL , then that workbench request only holds the regeneration request , doesnt hold the base structure.
    In our case , in those old proxies , there are so many requests .in some of it , many cross object requests are there , so we are facing problems to transport these proxies to a blank client(newly created).
    So my question is
    IS THERE ANY WAY TO CREATE ONLY ONE WORKBENCH REQUEST (MIGHT BE FROM SE80) FOR THOSE EXISTING PROXIES , THAT THEY HOLD THE STRUCTURE AND THE CHANGED STRUCTURE ALSO FOR INDIVIDUAL.
    THANKS IN ADVANCE.
    ARNAB MUKHERJEE
    INTEGRATION DEVELOPER.

    Hi,
    Refer the following to get the understanding the Equipment download to CRM.
    You define the default settings for replicating equipment in the IMG activity: Customer Relationship
    Management -> Master Data -> Installed Base -> Replication of Equipment from SAP R/3 Customer
    Service -> Define Default Settings for the Equipment Replication.
    For more information about the integration of different systems, see the SAP Library under mySAP
    Customer Relationship Management -> Architecture and Technology -> Business Integration -> CRM
    Middleware.
    The Business Add-In : Business Add-In: Equipment Upload (CRM_EQUI_LOAD) can be used to
    flexibly enhance the data transfer and validation in SAP CRM. The Add-In offers comprehensive options
    for influencing the mapping between equipment and individual objects
    Also refer to the following notes:
    1. Note 627279 - Serial number & configuration download
    2. Note 637173 - Equipment download/delta synchronization
    Hope it helps.
    Regards,
    Rajiv

Maybe you are looking for