About SOA/Web Service performance

is there any material or usful about ORACLE SOA performance solution?
e.g. webservice performance.
Thanks!

I'm not sure from your description but it sounds to me like the Web Service should be implemented as a eInsight Business Process (BP) which delegates to the JCD to do the heavy work, if any. This way each SOAP request can be handled by a separate instance of the BP. Otherwise, if the JCD is implemented as a externally callable Web Service, then the SOAP requests would be processed serially by a single instance of the JCD.
Assuming that you have the SOAP->BP->JCD->QUEUE arrangment, you should consider these other tuning factors:
- Business Process Max Concurrent Instances to handle requests in its eInsight Engine
- eInsight Engine
---Receive Timeout
--- Work Item Submit Limit
---Invocation Allocation Ratio
---No persistence unless essential
---- if you need it also consider Application Mode = Multiple
---- tune the database
--- No monitoring unless essential
- Integration Server
--- HTTP Listerner Acceptor Threads and/or Virtual Servers
--- Thread Pool Min and Max Size and Timeout (use asadmin to configure)
--- JVM Heap Space
There is no magic algorithm. I'd recommend that you configure the Integration Server so that you can use JConsole to monitor it and then use SoapUI to do the performance testing.
Regards.

Similar Messages

  • EAI, SOA, WEB Services

    Hi all!!
    what are EAI, SOA, WEB Services??
    are they same?? are they depend on each other or different?
    Also, I have one important question:
    many companies have their own intranet. sometimes they have some secured resources in intranet which are accessible only in intranet and not on Internet. So, how these companies allow access to those secured resources in intranet to their partners or employees who want to access these resources from internet? (B2B)
    I think web services is one solution. But what are other solutions if anybody can suggest?
    also, what solutions were used to solve this problem before webservices??
    please give your views!!
    thanking you in advance.
    .Mohit

    Hi,
    You can find the answer here:
    http://www.atomikos-support.com/forums/viewtopic.php?t=91
    Best
    Guy
    http://www.atomikos.com - Java transaction manager software
    Visit the transactions expert community forum on http://www.atomikos-support.com/forums

  • Secured Web service performance problem in BPEL 11g

    Hi,
    When calling Secured web service from BPEL 11g, performance issue is coming.
    Actually when we test a Secured web service using SOAP UI, Average response time is 2-3 secs.
    Where when we are calling from BPEL, average response time is 18-22 secs.
    Steps:
    1) Go to composite
    Right click on the external reference service and select “Configure WS policies”
    Under the security tab, click add button and select “oracle/ wss_username_token_client_policy
    2) Now Open the property Inspector window and click the add button under “Binding properties” tab.
    3) Include the “oracle.webservices.auth.username-->UserName
    4) Include the “oracle.webservices.auth.password”-->Password
    Please let me know if i am doing anything wrong.
    Do you have any idea for fix this issue?
    Thank you.

    there shouldn't much difference in the time for the response ..., also when you are calling the secured web service from another BPEL, make sure you don't consider the time of the calling process ( i mean that BPEL ). you just try calling the secured web service from the EM console if it is a SOA composite. do you see any messages in the log files ? the procedure you followed is correct only, confirm here., i have posted a similar solution long back..
    Re: Creating a partnerlink  from a secure webservice
    Thanks,
    N

  • Web Service performance - experience, recommendations?

    Hi everyone,
    We have an application that access unstructured content in CM SDK. We are looking at migrating to Oracle Content Services.
    The application makes extensive use of the SQL views that show CM SDK content, but these views have disappeared from the current version. The official position from Oracle is "The recommended way to get useful information about Content Services / ContentDB is to use the WebServices APIs."
    Does anybody some performance numbers they are willing to share? It worries me a bit that I'll need to make thousands and thousands of web service calls every day...
    Best regards
    Sten Vesterli
    Scott/Tiger A/S

    I'm not sure from your description but it sounds to me like the Web Service should be implemented as a eInsight Business Process (BP) which delegates to the JCD to do the heavy work, if any. This way each SOAP request can be handled by a separate instance of the BP. Otherwise, if the JCD is implemented as a externally callable Web Service, then the SOAP requests would be processed serially by a single instance of the JCD.
    Assuming that you have the SOAP->BP->JCD->QUEUE arrangment, you should consider these other tuning factors:
    - Business Process Max Concurrent Instances to handle requests in its eInsight Engine
    - eInsight Engine
    ---Receive Timeout
    --- Work Item Submit Limit
    ---Invocation Allocation Ratio
    ---No persistence unless essential
    ---- if you need it also consider Application Mode = Multiple
    ---- tune the database
    --- No monitoring unless essential
    - Integration Server
    --- HTTP Listerner Acceptor Threads and/or Virtual Servers
    --- Thread Pool Min and Max Size and Timeout (use asadmin to configure)
    --- JVM Heap Space
    There is no magic algorithm. I'd recommend that you configure the Integration Server so that you can use JConsole to monitor it and then use SoapUI to do the performance testing.
    Regards.

  • CUP 5.3: risk analysis in workflow impossible due to web service performance?

    Hello experts,
    We are facing a huge challenge within a AC 5.3 implementation.
    Here, AC has been used successfully with CUP and RAR for quite some time now. However, the RAR analysis has not yet been integrated into the CUP workflow. We would like to integrate the RAR analyis in CUP now.
    Based on the existing role concept (that uses functional master roles and derived roles per company code, with ca. 30 company codes in place) and the shared service operations in some areas such as FI, there is a large number of users with many roles and consequently, many SoD risks (of course, they are all "repeat" risk per company code).
    This leads to a long RAR analysis run time, but it's still acceptable. Analysis on permission level for such "power users" runs about 1 minute, on action level about 5-6 seconds.
    However, the web service between RAR und CUP is a problem and cannot cope with our violations. We have currently set the threshold to 75000. In this case, the analysis + web service runs 1-2 minutes. However, we have some users with 200-300.000 violations. In this case, if we deactivate the threshold, we will experience a web service time-out eventually, even with analysis on action level because the amount of violations the web service has to process is the same (or even higher with some false positives).
    We also have compensating controls in place for these power users, which will of course reduce the web service run-time considerably. However, this is not applicable to NEW user requests because for those, the compensating controls will be assigned only AFTER the risk analysis has taken place and the risk manager receives the workflow item.
    Has anyone experienced this in the past and found a viable solution or work-around? We are basically short of options and considering dropping the project.
    Note: An upgrade to 10.X is not (currently) a solution because this upgrade is scheduled and budgeted only for later.
    Thanks a lot and best regards
    Patrick

    Any opinions on this?
    Cheers and thanks
    Patrick

  • Getting SOAException while calling SOA web service via pl/sql procedure

    Hi All,
    I created a 'Helloworld' BPEL process and successfuly deployed it. I tested it in the WLS and it is working. Now I wrote a pl/sql procedure which calls this 'HelloWorld' bpel process. When ran this procedure it throw me an error
    GetPayload: resp3 IS NULL
    <HTML><HEAD><TITLE>Web Service</TITLE></HEAD><BODY><H1>Bad Request</H1><PRE>javax.xml.soap.SOAPException: Error parsing envelope: most likely due to an invalid SOAP message.: Unexpected character &#39;&#60;&#39; &#40;code 60&#41; excepted space, or &
    #62;&#39; or &#34;/&#62;&#34;
    at [row,col {unknown&#45;source}]: [1,120]</PRE></BODY></HTML>
    null response
    GetPayload: resp3 IS NULL
    <HTML><HEAD><TITLE>Web Service</TITLE></HEAD><BODY><H1>Bad Request</H1><PRE>javax.xml.soap.SOAPException: Error parsing envelope: most likely due to an invalid SOAP message.: Unexpected character &#39;&#60;&#39; &#40;code 60&#41; excepted space, or &
    #62;&#39; or &#34;/&#62;&#34;
    at [row,col {unknown&#45;source}]: [1,120]</PRE></BODY></HTML>
    null response
    Please suggest.
    WSDL - http://herbalife-mwdv4-new.hrbl.net:21000/soa-infra/services/SAI/HTTP_BPEL/bpelprocesshttp_client_ep?WSDL
    procedure code is as below:
    Create or Replace FUNCTION GetPayload(
    p_Payload IN VARCHAR2)
    RETURN VARCHAR2 IS
    soap_request VARCHAR2(30000);
    soap_respond VARCHAR2(30000);
    http_req UTL_HTTP.REQ;
    http_resp UTL_HTTP.RESP;
    resp XMLTYPE;
    response VARCHAR2(30000) := '';
    l_detail VARCHAR2(30000);
    i INTEGER;
    l_xsl_nonamespace VARCHAR2(640) := '<?xml version="1.0" encoding="UTF-8" ?><xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform"> <xsl:template match="comment()|processing-instruction()|/"> <xsl:copy> <xsl:apply-templates/> </xsl:copy> </xsl:template> <xsl:template match="*"> <xsl:element name="{local-name()}"> <xsl:apply-templates select="@*|node()"/> </xsl:element> </xsl:template> <xsl:template match="@*"> <xsl:choose> <xsl:when test="name() != ''xmlns''"> <xsl:attribute name="{local-name()}"> <xsl:value-of select="."/> </xsl:attribute> </xsl:when> </xsl:choose> </xsl:template></xsl:stylesheet>';
    namespace VARCHAR2(128) := 'xmlns:ns1="http://xmlns.oracle.com/FusionServices/HTTP_BPEL/BPELProcessHTTP';
    endpoint VARCHAR2(128) := 'http://herbalife-mwdv4-new.hrbl.net:21000/soa-infra/services/SAI/HTTP_BPEL/bpelprocesshttp_client_ep';
    BEGIN
    soap_request:= '<?xml version = "1.0" encoding = "UTF-8"?>'||'<SOAP-ENV:Envelope '||'xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/"'||'<SOAP-ENV:Body>'||'<'||namespace||'>'||'<ProcessRequest>'||'<input'||namespace||'>'||p_Payload||'</input>'||'</ProcessRequest>'||'</SOAP-ENV:Body>'||'</SOAP-ENV:Envelope>';
    http_req := utl_http.begin_request( endpoint, 'POST', 'HTTP/1.1');
    utl_http.set_header(http_req , 'Content-Type' , 'text/xml');
    -- dealing with plain text in XML documents
    utl_http.set_header(http_req , 'Content-Length' , lengthb(soap_request));
    utl_http.set_header(http_req , 'SOAPAction' , 'process'); -- required to specify a SOAP communication
    utl_http.write_text(http_req, soap_request);
    http_resp := utl_http.get_response(http_req);
    utl_http.read_text(http_resp, soap_respond);
    utl_http.end_response(http_resp);
    resp:= XMLType.createXML(soap_respond);
    IF (instr(resp.getStringVal(), 'ERROR:') > 0)THEN
    raise_application_error ( -20999, 'GetHelloWorldPayload: Failed! '||p_Payload);
    END IF;
    resp := resp.extract('/soap:Envelope/soap:Body/child::node()' , 'xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/"' );
    -- Remove namespaces
    SELECT XMLTransform(resp, xmlType(l_xsl_nonamespace)) INTO resp FROM dual;
    -- resp := resp.extract('/ProcessResponse/child::node()', 'xmlns:ns1="http://xmlns.oracle.com/FusionServices/HTTP_BPEL/BPELProcessHTTP');
    IF (resp IS NULL)THEN
    dbms_output.put_line('GetPayload: resp3 IS NULL');
    ELSE
    dbms_output.put_line('GetPayload: resp3 ' ||resp.getStringVal());
    END IF;
    i:=0;
    LOOP
    dbms_output.put_line(SUBSTR(soap_respond,1+ i*255,250));
    i := i+1;
    IF i*250> LENGTH(soap_respond) THEN
    EXIT;
    END IF;
    END LOOP;
    IF (resp IS NULL)THEN
    response := 'null response';
    ELSE
    response := REPLACE( REPLACE( REPLACE( resp.getStringVal(), '<', '<') , '>', '>') , '"', '"');
    END IF;
    RETURN response;
    END GetPayload;
    /

    vladodias thanks for the reply. I went through the link before also but i am not comfortable with the utl_dbws that's why i am following utl_http.
    I also changed my procedure now i am not getting any error but it is not printing the output as well. New procedure is as below.
    I tried 'set serveroutput on size 1000000;' also but still not working.
    Create or Replace FUNCTION GetPayload(
    p_Payload IN VARCHAR2)
    RETURN VARCHAR2 IS
    soap_request VARCHAR2(30000);
    soap_respond VARCHAR2(30000);
    http_req UTL_HTTP.REQ;
    http_resp UTL_HTTP.RESP;
    resp XMLTYPE;
    response VARCHAR2(30000) := '';
    l_detail VARCHAR2(30000);
    i INTEGER;
    l_xsl_nonamespace VARCHAR2(3000) := '<?xml version="1.0" encoding="UTF-8" ?>
    <xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
    <xsl:template match="comment()|processing-instruction()|/">
    <xsl:copy>
    <xsl:apply-templates/>
    </xsl:copy>
    </xsl:template>
    <xsl:template match="*">
    <xsl:element name="{local-name()}">
    <xsl:apply-templates select="@*|node()"/>
    </xsl:element>
    </xsl:template>
    <xsl:template match="@*">
    <xsl:choose>
    <xsl:when test="name() != ''xmlns''">
    <xsl:attribute name="{local-name()}">
    <xsl:value-of select="."/>
    </xsl:attribute>
    </xsl:when>
    </xsl:choose>
    </xsl:template>
    </xsl:stylesheet>';
    namespace VARCHAR2(128) := 'xmlns:ns1="http://xmlns.oracle.com/FusionServices/HTTP_BPEL/BPELProcessHTTP';
    endpoint VARCHAR2(128) := 'http://herbalife-mwdv4-new.hrbl.net:21000/soa-infra/services/SAI/HTTP_BPEL/bpelprocesshttp_client_ep';
    BEGIN
    soap_request:= '<soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/" xmlns:bpel="http://xmlns.oracle.com/FusionServices/HTTP_BPEL/BPELProcessHTTP">
    <soapenv:Header/>
    <soapenv:Body>
    <bpel:process>
    <bpel:input>test</bpel:input>
    </bpel:process>
    </soapenv:Body>
    </soapenv:Envelope>';
    http_req := utl_http.begin_request( endpoint, 'POST', 'HTTP/1.1');
    utl_http.set_header(http_req , 'Content-Type' , 'text/xml');
    -- dealing with plain text in XML documents
    utl_http.set_header(http_req , 'Content-Length' , lengthb(soap_request));
    utl_http.set_header(http_req , 'SOAPAction' , 'process'); -- required to specify a SOAP communication
    utl_http.write_text(http_req, soap_request);
    http_resp := utl_http.get_response(http_req);
    utl_http.read_text(http_resp, soap_respond);
    utl_http.end_response(http_resp);
    resp:= XMLType.createXML(soap_respond);
    IF (instr(resp.getStringVal(), 'ERROR:') > 0)THEN
    raise_application_error ( -20999, 'GetHelloWorldPayload: Failed! '||p_Payload);
    END IF;
    resp := resp.extract('/soap:Envelope/soap:Body/child::node()' , 'xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/"' );
    -- Remove namespaces
    SELECT XMLTransform(resp, xmlType(l_xsl_nonamespace)) INTO resp FROM dual;
    -- resp := resp.extract('/ProcessResponse/child::node()', 'xmlns:ns1="http://xmlns.oracle.com/FusionServices/HTTP_BPEL/BPELProcessHTTP');
    IF (resp IS NULL)THEN
    dbms_output.put_line('GetPayload: resp3 IS NULL');
    ELSE
    dbms_output.put_line('GetPayload: resp3 ' ||resp.getStringVal());
    END IF;
    i:=0;
    LOOP
    dbms_output.put_line(SUBSTR(soap_respond,1+ i*255,250));
    i := i+1;
    IF i*250> LENGTH(soap_respond) THEN
    EXIT;
    END IF;
    END LOOP;
    IF (resp IS NULL)THEN
    response := 'null response';
    ELSE
    response := REPLACE( REPLACE( REPLACE( resp.getStringVal(), '<', '<') , '>', '>') , '"', '"');
    END IF;
    RETURN response;
    END GetPayload;
    /

  • Difficulty in a Oracle SOA web-service with 2 message parts

    Hi,
    I am developing a web-service which should take 2 inputs - a string and a datetime. Also I have an xsd which I am importing into the wsdl to define the message elements.
    I have 2 options to do this:
    Option-1: Bundle these 2 input parameters into a single complex type in the xsd and then expose this complex-type as a single message part in the input message element. The wsdl operation tag then looks something like this:
    +<wsdl:message name="RetrieveLoVRecordsRequest">+
    +<wsdl:part name="part1" element="inp1:LoVInput"/>
    +</wsdl:message>+
    Option-2: Put these both these simple-types (the string & datetime inputs) in separate message parts. So wsdl operation looks like:
    +<wsdl:message name="RetrieveLoVRecordsRequest">+
    +<wsdl:part name="part1" element="inp1:LoVName"/>+
    +<wsdl:part name="part2" element="inp1:LoVEffectiveDate"/>+
    +</wsdl:message>+
    I need 2 wsdl interfaces with one with option-1 & other with option-2
    The web-service works fine in option-1. But for strange reason does not work correctly for option-2.
    In option-2 the 1^st^ difficulty was that after I coded the wsdl in jdeveloper and did not attach an explicit binding to it, the message-part part2 does not show-up at all in the enterprise manager when I go to the web-service test page. When opened the WSDL URL in the browser it indicated that the SOAP sytle/encoding as Document/literal. Perhaps that's what it dafults to when no explicit binding is specified. I got around this problem by explicitly specifying a RPC/literal binding in the WSDL in jdeveloper. This then showed-up the 2 parts distinctly in the EM test console.
    The 2^nd^ problem (which the main problem now) was that the web-service now started failing complaining about xsl transformation in the mediator
    +ORAMED-01201:[Error in transform operation]Error occurred while transforming payload using "{0}" for target part "{1}".Possible Fix:Review the XSL or source payload. Either the XSL defined does not match with the payload or payload is invalid.+
    Strangely I have correctly mapped the input & output parameters and the xsl is very simple having the 2 input parameters on the left being mapped to 2 corresponding parameters for the SQL where clause.
    And when I went to the EM dashboard to inspect the failure, the input payload did not show any input being passed to the xsl transform in the mediator. This is how the input looks
    +<message>+
    +<properties>+
    +<property name="tracking.compositeInstanceId" value="80053"/>+
    +<property name="tracking.ecid" value="f2d97d6a53d56c9f:-58326bb8:13e15e68aab:-8000-000000000000113d"/>+
    +<property name="transport.http.remoteAddress" value="10.110.173.159"/>+
    +</properties>+
    +<parts/>+
    +</message>+
    As you see above, the parts tag is blank; where it should contain part1 & part2
    To summarise, when I add an RPC/literal binding to the WSDL the input to the wsdl seems to get chopped off !
    Looking fwd to your help.
    -Sudripta
    Edited by: Sudripta on Apr 17, 2013 8:55 PM
    Edited by: Sudripta on Apr 17, 2013 9:05 PM

    Hi Boatseller,
    I will put this in simple way.
    Can we set properties in biztalk wcf_custom adaptor like 
    1. <security authenticationMode="UserNameOverTransport" 
    2. enableUnsecuredResponse="True" 
    or 
     includeTimestamp="false"
    3. <textMessageEncoding
    messageVersion="Soap11"/>
    <httpsTransport/>
    I am unable to find these properties in BizTalk wcf_custom adaptor properties. It will be great help if you could guide me in right direction . My problem is to receive response message into orchestration which is not having header. But the response is coming
    from web service. I saw that in fiddler.
    Also, If there is any steps to make these properties available in machine config, please share 
    Thanks in advance
    Vivek

  • Accessing BPEL processes via a proxy web service performance issues

    Hello,
    I have more BPEL processes implemented, each such a process implementing business functionality in a certain domain (generally, a domain has more business processes).
    The request was to provide a single web service for each domain. It means that all the business methods (processes) in the same domain should be accessed through the same web service. This request doesn't make possible to expose the BPEL processes themselves as web services that could be directly consumed by different clients of the application.
    The alternative will be to implement the "domain" web services through a Java class, for instance. With this approach, the Java based domain web services will expose the needed business methods to the clients. And the Java class will get the request input parameters and will call the corresponding BPEL process via SOAP. This scenario would be fine, but... this approach would imply a supplementary marshalling/unmarshalling process at the domain web service level. The data returned by the BPEL processes could be very large and in such a situation the Java based domain web service will introduce an important performance drawback.
    Is there any other solution to this case that will allow the using of a "proxy" domain web services that will not introduce any important drawback via marshalling/unmarshalling?
    Many thanks in advance!
    Regards,
    Marinel

    Hello,
    First, thank you Sandor for your answer.
    I understand that it is possible to create a BPEL process that exposes multiple operations/messages. This would be exactly what I need: a single process (web service) that will expose many operations. Could anyone, please, point me to such an example?
    So far I thought that there is possible to have only one operation exposed with a BPEL process, what is delimited between the receive/reply blocks (in the synchronous case).
    Regards,
    Marinel

  • SAP Web services performance tuning in terms of concurrent users?

    Hello,
    we in our organisation are planning to build a web portal which can connect to our sap environment and perform various tasks.
    Hence to find out the performance capabilities we exposed some web services from SAP end and did a load test on the same.
    The test results were not promising, with only 25 concurrent users the response time was as high as 12 seconds.
    Now we need to fine tune the SAP web service module to get the max performance.
    Can anybody point us in the right direction?

    One of the function module code is as follows
    FUNCTION ZHRPULSE_CREATECONTACTS3.
    *"*"Local Interface:
    *"  IMPORTING
    *"     VALUE(EMPL_CONTACT_DETAILSIN) TYPE  ZHR_CONTACT_DETAILS
    *"  EXPORTING
    *"     VALUE(EMPL_CONTACT_DETAILSOUT) TYPE  ZHR_CONTACT_DETAILS
    *"     VALUE(STATUS) TYPE  ZHR_STATUS
    *"  TABLES
    *"      SUBTYPE_TABLE STRUCTURE  ZHR_CONTACT
    DATA: tempRet type BAPIRETURN1,
          oref   TYPE REF TO cx_root.
    DATA: E_IT0001 type P0001.
    CALL FUNCTION 'HREIC_READ_INFOTYPE_0001'
      EXPORTING
        I_PERNR         = EMPL_CONTACT_DETAILSIN-EMPLOYEE_ID
        I_DATE          = sy-datum
    IMPORTING
        E_RETURN        = tempRet
        E_IT0001        = E_IT0001
    EXCEPTIONS
       NOT_FOUND       = 1
       OTHERS          = 2.
    IF SY-SUBRC <> 0.
      Status-status = 'Failure'.
      status-information = 'ID Not Found in Master Data.'.
      exit.
    ENDIF.
    EMPL_CONTACT_DETAILSOUT-EMPLOYEE_ID = E_IT0001-PERNR.
    EMPL_CONTACT_DETAILSOUT-EMPLOYEE_NAME = E_IT0001-ENAME.
    SELECT single Btext from t001p into EMPL_CONTACT_DETAILSOUT-location where btrtl = E_IT0001-btrtl.
    CALL FUNCTION 'HR_EMPLOYEE_ENQUEUE'
        EXPORTING
          NUMBER             = EMPL_CONTACT_DETAILSIN-Employee_ID.
      IF sy-subrc NE 0.
        Status-status = 'Failure'.
      status-information = 'NOT able to get a lock on the Employee ID'.
        EXIT.
      ENDIF.
      CALL FUNCTION 'BAPI_ADDRESSEMP_CREATE'
        EXPORTING
          EMPLOYEENUMBER         = EMPL_CONTACT_DETAILSIN-Employee_ID
          VALIDITYBEGIN          = SY-DATUM
          VALIDITYEND            = '99991231'
          ADDRESSTYPE            = '1'
          STREETANDHOUSENO       = EMPL_CONTACT_DETAILSIN-ADDRESS1
          SCNDADDRESSLINE        = EMPL_CONTACT_DETAILSIN-ADDRESS2
          CITY                   = EMPL_CONTACT_DETAILSIN-CITY
          POSTALCODECITY         = EMPL_CONTACT_DETAILSIN-PIN_CODE
       IMPORTING
          RETURN                 = tempRet
          EMPLOYEENUMBER         = EMPL_CONTACT_DETAILSIN-Employee_ID
    If sy-subrc eq 0.
      Status-status = 'Success'.
      status-information = 'Executed successfully'.
    else.
      Status-status = 'Failure'.
      status-information = tempRet-message.
      exit.
    endif.
    "For creating communication details
    subtype_table-subtype = '9100'.
    subtype_table-communicationid = EMPL_CONTACT_DETAILSIN-EXTENTION.
    append subtype_table.
    subtype_table-subtype = '9200'.
    subtype_table-communicationid = EMPL_CONTACT_DETAILSIN-EMERGENCY_NO.
    append subtype_table.
    subtype_table-subtype = '9300'.
    subtype_table-communicationid = EMPL_CONTACT_DETAILSIN-AVAYA.
    append subtype_table.
    subtype_table-subtype = '9400'.
    subtype_table-communicationid = EMPL_CONTACT_DETAILSIN-MOBILE_NO1.
    append subtype_table.
    subtype_table-subtype = '9450'.
    subtype_table-communicationid = EMPL_CONTACT_DETAILSIN-MOBILE_NO2.
    append subtype_table.
    subtype_table-subtype = '9500'.
    subtype_table-communicationid = EMPL_CONTACT_DETAILSIN-DIRECT.
    append subtype_table.
    subtype_table-subtype = '9600'.
    subtype_table-communicationid = EMPL_CONTACT_DETAILSIN-HOME.
    append subtype_table.
    if subtype_table[] is not initial.
    Loop at subtype_table.
      CALL FUNCTION 'BAPI_EMPLCOMM_CREATE'
        EXPORTING
          employeenumber        = EMPL_CONTACT_DETAILSIN-Employee_ID
          subtype               = subtype_table-SUBTYPE
          validitybegin         = sy-datum
          validityend           = '99991231'
          communicationid       = subtype_table-communicationid
       IMPORTING
          return                = tempRet
    If sy-subrc eq 0.
      Status-status = 'Success'.
      status-information = 'Executed successfully'.
    else.
      Status-status = 'Failure'.
      status-information = tempRet-message.
      exit.
    endif.
      Endloop.
      CLEAR subtype_table.
    ENDIF.
    CALL FUNCTION 'BAPI_TRANSACTION_COMMIT'
    * EXPORTING
    *   WAIT          =
    * IMPORTING
    *   RETURN        =
      "for unlocking the employee ID
      CALL FUNCTION 'HR_EMPLOYEE_DEQUEUE'
        EXPORTING
          number = EMPL_CONTACT_DETAILSIN-Employee_ID
    "   IMPORTING
      "    return =
    EMPL_CONTACT_DETAILSOUT-ADDRESS1 = EMPL_CONTACT_DETAILSIN-ADDRESS1.
    EMPL_CONTACT_DETAILSOUT-ADDRESS2 = EMPL_CONTACT_DETAILSIN-ADDRESS2.
    EMPL_CONTACT_DETAILSOUT-CITY = EMPL_CONTACT_DETAILSIN-CITY.
    EMPL_CONTACT_DETAILSOUT-PIN_CODE = EMPL_CONTACT_DETAILSIN-PIN_CODE.
    EMPL_CONTACT_DETAILSOUT-EXTENTION = EMPL_CONTACT_DETAILSIN-EXTENTION.
    EMPL_CONTACT_DETAILSOUT-EMERGENCY_NO = EMPL_CONTACT_DETAILSIN-EMERGENCY_NO.
    EMPL_CONTACT_DETAILSOUT-AVAYA = EMPL_CONTACT_DETAILSIN-AVAYA.
    EMPL_CONTACT_DETAILSOUT-MOBILE_NO1 = EMPL_CONTACT_DETAILSIN-MOBILE_NO1.
    EMPL_CONTACT_DETAILSOUT-MOBILE_NO2 = EMPL_CONTACT_DETAILSIN-MOBILE_NO2.
    EMPL_CONTACT_DETAILSOUT-DIRECT = EMPL_CONTACT_DETAILSIN-DIRECT.
    EMPL_CONTACT_DETAILSOUT-HOME = EMPL_CONTACT_DETAILSIN-HOME.
    ENDFUNCTION.

  • Create an Alias in SICF for SOA Web Services

    We have various Enterprise Web Services (SOAP) which are available via URLs which look like this:
    https://oursapserver.ourdomain.com/sap/bc/srt/rfc/sap/zServiceX/100/ConfigY/bindingZ
    Whenever we change the interface (changing the Function Modules) we have to create a new Enterprise Web Service (and config and binding...) in SOAMANAGER and this is not only tedious but it means a new URL.
    We would like to have a fixed URL pointing to the latest version of the service. Something like:
    https://oursapserver.ourdomain.com/zws/serviceX
    When we create such an alias in SICF and point it to the above path and binding it does not work. We get a 500 error with the following response:
    HTTP/1.1 500 SRT: Unexpected failure in SOAP processing occurred: ("No Web service configuration for this access path: "/zws/serviceX"")
    content-type: text/html
    content-length: 0
    server: SAP NetWeaver Application Server / ABAP 731
    Can anyone explain this message, or suggest a solution?

    You'd get a different message if the address was already taken. The error you are experiencing has been reported numerous times, but I would assume that it was intermittent or we'd be hearing a lot more about it than we do. I'm afraid your only options are to try from time to time, or to attempt to navigate the shoals of the iCloud support system and ask them whether they can fix it.
    To contact  Support: if you currently happen to have AppleCare, either because you recently bought Apple hardware or have paid to extend the inititial period, you can contact them here:
    http://www.apple.com/support/icloud/contact/
    You will need the serial number of the covered hardware.
    If you are not covered by AppleCare, then - in common with other free email services - there is no free support and you may be asked to pay a fee - if so you should point out that this problem is their fault and you shouldn't be charged.

  • Question about get web service result in actionscript and convert data format

    Hi, All
    I have question about how to get dataset from web services
    and put it in tree structure. I have 2 questions about this:
    1, How can I get data correctly in actionscript?
    I have no problem to get data by
    <mx:ArrayCollection id="acFolder"
    source="{mx.utils.ArrayUtil.toArray(MyGServices.getFolder.lastResult)}"
    />
    And display in datagrid.
    But when I try to use
    public function
    handleFolderContents(event:mx.rpc.events.ResultEvent):void{
    arData=mx.utils.ArrayUtil.toArray(event.result);
    acData=new ArrayCollection(arData);
    input.text=acData.getItemAt(0).id;
    Seems I can’t get data, it always say:
    TypeError: Error #1009: Cannot access a property or method of
    a null object reference.
    2, how to convert data format
    I get data from web service and want to convert it to tree
    structure, as mention below:
    I get:
    <Array>
    <id>111</id>
    <Name>Production1</Name>
    </Array>
    <Array>
    <id>222</id>
    <Name>Production2</Name>
    </Array>
    Convert to:
    <mx:XMLList id="treeData">
    <node>
    <node label="Production1" data="111">
    <node label="Production2" data="222"/>
    </node>
    </node>
    </mx:XMLList>
    Please help me.
    Thanks.

    First, don't specify the package path in the argument
    declaration. Instead import the event object:
    import mx.rpc.events.ResultEvent;
    The docs state this emphatically.
    Second, try "lastResult", in place of "result":
    arData=mx.utils.ArrayUtil.toArray(event.lastResult); // I am
    not positive about this. I maybe recall reading that result was ok
    for the event object, but maybe not.
    Finally, why do you want to convert the xml? You certainly
    could, but it would be a manual process, recursively reading the
    existing xml nodes and building the new structure, but again, why?
    Just use a labelFunction if necessary to display the nodes as
    you wish.
    Tracy

  • [推荐] SOA & Web Service 精华文章收集

    揭示 SOA 的暗面
    http://dev2dev.bea.com.cn/techdoc/2005052405.html
    Security in a Web Services World: A Proposed Architecture and Roadmap
    http://msdn.microsoft.com/library/default.asp?url=/library/en-us/dnwssecur/html/securitywhitepaper.asp
    Service-Oriented Architecture (SOA) and Web Services: The Road to Enterprise Application Integration (EAI)
    http://java.sun.com/developer/technicalArticles/WebServices/soa/
    BEA与IBM的SOA平台之争
    http://dev2dev.bea.com.cn/bbsdoc/2006040419242.html
    Understanding Web Services specifications, Part 1: SOAP
    http://www.ibm.com/developerworks/edu/ws-dw-ws-understand-web-services1.html
    Asynchronous operations and Web services, Part 1
    http://www.ibm.com/developerworks/library/ws-asynch1.html
    Asynchronous operations and Web services, Part 2
    http://www-128.ibm.com/developerworks/library/ws-asynch2/index.html
    实施WebService Security[WS-Security1.0]的Encrypt和Sign模式(XFire+WSS4J)
    http://www.blogjava.net/openssl/archive/2006/08/08/xfire_wss4j.html
    在SpringSide实现XFire Webservice认证
    http://www.blogjava.net/openssl/archive/2006/07/25/XFire_Webservice_Authentication.html
    Java中的SOAP技术
    http://www.cn-java.com/target/news.php?news_id=3054
    Really Simple Asynchronous Web Services
    http://www.computerworld.com/developmenttopics/development/story/0,10801,79698,00.html
    Deploy SOA applications in Apache Geronimo using XMLBeans
    http://www.ibm.com/developerworks/webservices/library/os-ag-soa/index.html
    SDO 2.0:创建和读取基于 XML 模式的 XML 文档
    http://www-128.ibm.com/developerworks/cn/webservices/ws-sdoxmlschema
    SCA与JAX-WS
    http://dev2dev.bea.com.cn/bbsdoc/20060301204.html
    WS-Policy的作用
    http://dev2dev.bea.com.cn/bbsdoc/05092824.html
    使用SAML令牌进行身份验证,第一部分
    http://dev2dev.bea.com.cn/bbsdoc/05092827.html
    使用SAML Token进行身份验证,第二部分
    http://dev2dev.bea.com.cn/bbsdoc/05092826.html
    使用XML-Encryption实现安全的SOAP消息
    http://dev2dev.bea.com.cn/bbsdoc/20051213165.html
    用SAAJ解决SOA集成问题
    http://dev2dev.bea.com.cn/techdoc/2005011705.html
    Understanding Web Services Policy
    http://msdn.microsoft.com/library/en-us/dnwebsrv/html/understwspol.asp?frame=true
    Understanding WS-Security
    http://msdn.microsoft.com/library/en-us/dnwssecur/html/understw.asp?frame=true
    Understanding WSDL
    http://msdn.microsoft.com/library/default.asp?url=/library/en-us/dnwssecur/html/securitywhitepaper.asp
    WS-Addressing 简介
    http://dev2dev.bea.com.cn/techdoc/2005050904.html

    版主大哥,怎么没有weblogic9.2 的基础教程阿?

  • Strange about invoking web service method declared “string  method(void)”;

    Dear forum readers
    I’m experimenting with OpenESB and web services. I’ve create a simple web service using NetBeans 6.1. The method consists of a single method, getTime, that is declared:
    String getTime()
    My current experiment is to invoke this method from a BPEL-process using the “Invoke” process object. The strange thing is that it seems like I have to provide a “dummy” inbound variable from the BPEL-designer even though the method doesn’t take any parameters. I include a snippet from the BPEL process below which includes the section where I set the dummy GetTimeIn-variable and then invokes the WS method getTime().
    <assign name="Assign2">
    <copy>
    <from>'DummyValue'</from>
    <to variable="GetTimeIn" part="parameters"/>
    </copy>
    </assign>
    <invoke name="Invoke1" partnerLink="PartnerLink1" operation="getTime" xmlns:tns="http://ws/" portType="tns:MyWebService" outputVariable="GetTimeOut" inputVariable="GetTimeIn"/>
    If I don’t initiate the dummy variable or remove it altogether, I can’t successfully call the method. If I include the dummy in-parameter the call works just fine and I get back the current time as a string.
    I must admit that I’m still a rookie to web services, especially when calling them from a BPEL-process, so it may be a very trivial reason for this behaviour. Anyway, any help on this matter would be greatly appreciated.
    Regards, Ola

    Thank you both for the response. Regarding Rennay’s posting I have an additional question. When I create a new web service I don't have the "Document Literal" option nor a "Concrete Configuration" tab. I've created the web service using the "Web Application" project type and then adding a web service using the "Web Service..." wizard. This wizard doesn't have the configuration properties you mention, but if I add a WSDL-file to a BPEL-project the wizard has the properties you mention.
    Is it possible to create a web service, programmed as an ordinary Java-class, from an existing WSDL-file? In that case it may solve the problem with the “Document Literal” property. Currently I don’t know any other way to create such a web-service other than the through the web service wizard in a web application project. Of course, it’s possible to craft it from scratch but that’s to much work to be practical.
    Regards, Ola

  • Questions about SPML Web Service ( OIM 9.1 )

    I need to launch a provisioning process on a target by using a generic connector (Web Service).
    Scenario:
    ==========
    Host A is where the OIM server is installed. A generic connector is defined here.
    Host B is the target where users must be created. A webservice (axis) is installed here.
    Requirements:
    ===========
    OIM server (Host A) sends a request to WebService (Host B). The Web service receives, process and sends a response with the result to the OIM server.
    Version 9.0.3
    ==============
    On Version 9.0.3 I got the expected results but a problem appeared: there wasn't feedback error control because the web service response could'nt be processed.
    I followed the next steps:
    1º deploy axis on application server
    2º write SendWSResponse.jws including public method "doProvisioning". Copy this file to ..\server\default\deploy\axis.war\
    3º compile SendWSResponse.jws (from a browser)
    4º Create generic connector (for reconciliation and provisioning). Definition of parameters and mappings.
    Note: In 9.0.3 version only three parameters were required for Web Service Definition:
    Web Service URL=http://host:8080/axis/SendWSResponse.jws
    Operation Name = doProvisioning
    SPML-->Target ID=4201
    Version 9.1
    ==============
    On the new version, the connector definition is more complicated. Also they have added an ear-application or web service (OIMSpmlWS) related to this connector .
    The first question is:
    Is this ear-application addressed to process the reponses that are sent by the target?
    The second question is:
    Must I install the OIMSpmlWS on Host B? and if the answer is affirmative, how can I include the logic to my provisioning process.
    And the most important?
    How might the connector be configured and the webServices in this usual scenario?
    Many thanks in advance

    There is no "sample" WSDL file, there is THE WSDL file. It is located in the OIMSpmlWS.ear EAR file, in spmlws.war WAR file in the directory WEB-INF/wsdl.

  • About import web service model in web dynpro dc

    Hi all,when i import a web service model in web dynpro dc, an error occurs.
    java.lang.Exception: com.sap.tc.webdynpro.model.webservice.modeltype.core.implementation.AWSModelImporter$FatalImportException: Model setting definition 'considerNillable' not defined for Adaptive Web Service model type
         at com.sap.tc.webdynpro.model.webservice.modeltype.service.AWSModelImporterService.createModel(AWSModelImporterService.java:67)
         at com.sap.tc.webdynpro.model.webservice.modeltype.ui.wizard.AWSModelCreationWizard.createModel(AWSModelCreationWizard.java:238)
         at com.sap.ide.cmi.core.model.importer.CMIWizard$3.run(CMIWizard.java:246)
         at org.eclipse.jface.operation.ModalContext$ModalContextThread.run(ModalContext.java:113)
    Caused by: com.sap.tc.webdynpro.model.webservice.modeltype.core.implementation.AWSModelImporter$FatalImportException: Model setting definition 'considerNillable' not defined for Adaptive Web Service model type
         at com.sap.tc.webdynpro.model.webservice.modeltype.core.implementation.AWSModelImporter.setModelSetting(AWSModelImporter.java:174)
         at com.sap.tc.webdynpro.model.webservice.modeltype.core.implementation.AWSModelImporter.importModel(AWSModelImporter.java:632)
         at com.sap.tc.webdynpro.model.webservice.modeltype.core.implementation.AWSModelImporter.doImport(AWSModelImporter.java:351)
         at com.sap.tc.webdynpro.model.webservice.modeltype.service.AWSModelImporterService.createModel(AWSModelImporterService.java:65)
         ... 3 more
    please tell me

    1.Create New Model.
    2.Select the type of model as Adaptive web service model and click next.
    3.Give Model name and Model Package .Select Available WSDL sources.
       a.If u get wsdl from local system,select Remote Location/File system.
       b.If u get wsdl from Sap location ,u have to configure with esr reposirtry.
    4.Select Remote Location/File System and click next.Get WSDL URL from services repositry and click next.
    5.Click finish.

Maybe you are looking for