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.
.MohitHi,
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/SI'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
PatrickAny 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 '<' (code 60) excepted space, or &
#62;' or "/>"
at [row,col {unknown-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 '<' (code 60) excepted space, or &
#62;' or "/>"
at [row,col {unknown-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 PMHi 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,
MarinelHello,
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
Im experimenting with OpenESB and web services. Ive 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 doesnt 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 dont initiate the dummy variable or remove it altogether, I cant 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 Im 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, OlaThank you both for the response. Regarding Rennays 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 dont 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, its possible to craft it from scratch but thats 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 advanceThere 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 me1.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
-
Hi all, I have downloaded a trial version of lightroom 4 to see if I want to upgrade from my lightroom3, but it wont open on my pc. It keeps asking me what program I want to use to open it with, and when I click adobe reader it tells me that it is no
-
Ipad Mini Replacement and wanting to purchase AppleCare for the replacement
I have sent my iPad mini for repair of the screen and will be getting the replacement. Can I purchase AppleCare for this replacement once I register and receive it? Thank you.
-
Magic Trackpad 3 finger problem
I have tried searching for this problem, but can't find anyone else having this issue. When I touch the trackpad with 3 or 4 fingers it seems to switch off for a few seconds - becoming totally unresponsive. I have installed the update 1.0 for 10.6.4
-
Web Service Not Appearing in navigator after deployment
have written some EJBs (Entity- and Session-Beans), created a WebService from the Session-Bean. After having deployed the WebService, which finished without error, the Web Service cannot be accessed by Web Service Navigator, nor by Visual Admin or We
-
My i pod touch wont charge on a bose docking station in spain,is this usual?
my i pod touch wont charge on a bose docking station in spain,is this usual?