Web service throughput slow and clipping
We've been seeing the slow web throughput performance that clips between 4 and 5 KB/s. We've tried upping the simultaneous connections from 500 to 1024. I've also read through the post at http://discussions.apple.com/thread.jspa?messageID=4468345� and I wasn't able to gain anything useful from the suggestions there to track it down.
The system is a Mac Mini w/ a 1.66 MHz core duo and 2 GB Ram. It's connected to the net through a 3 MB/s line. It is a relatively low use server but it does host several virtual domains (about 8), with the busiest getting a few hundred visits a day.
The graphs look like this:
1 hour - http://www.ncimedia.com/graphs/Throughput_2.jpg
24 hour - http://www.ncimedia.com/graphs/Throughput.jpg
Any help you can provide in tracking down the problem would be greatly appreciated.
Thanks,
Tom
I don't see a problem here.
It is a relatively low use server but it does host several virtual domains (about 8), with the busiest getting a few hundred visits a day.
Let's say, all 8 sites get 200 visits per day, that's 1600 hits per day, or about 66 hits per hour, or roughly one hit per minute. If most of the sites don't get that many hits, it's even lower.
1 hour - http://www.ncimedia.com/graphs/Throughput_2.jpg
The graph isn't showing actual throughput. It's showing average throughput. Assuming that the 1 hour graph is made up of 60 one minute buckets, what you're seeing is the average throughput in each one minute window. Some of the windows have no traffic at all (remember, there's only one hit per minute, on average). Even the windows that have traffic won't show much because the average transfer is less than 1 minute in duration.
Taken another way, assume that in a 1 minute period, you serve 1 page at 500kbps and it takes 2 seconds to transfer. No other hits come in during that time window, so on average you're serving 1000 kilobits per minute, or 16 kilobits per second. 16 kilobits per second translates into 2KB/s (the graph is measured in KB/s, or kilobytes per second, not kilobits). Now you're in the range of your graph.
What I'm getting at is that the scale is low, because the traffic to your sites is low and the server is idle most of the time.
We've tried upping the simultaneous connections from 500 to 1024
That won't help. Most of the time you have less than 1 active connection. Telling Apache it can sustain 1024 connections doesn't matter since it doesn't need anywhere close to that many.
All that limit does is tell Apache how many active connections to handle. Above this it rejects new connections until an existing connection slot opens up.
So it appears that I'm limited to 5 simultaneous connections
That's not what the Server Status page is telling you at all.
Even though Apache is told it can have a maximum of 1024 (or 500, whatever) connections, it doesn't actually run that many all the time. That would be a waste of resources. What it does is open a limited number of processes that run all the time (known as MinSpareServers). These processes will handle the first n active requests. Once that limit is reached Apache will spawn additional processes (up to the maximum defined) to handle additional traffic.
So what you're seeing is the 5 active processes waiting for a connection. The remaining 1021 connections haven't even been fired up because they're not needed. Given the traffic level on the sites it's unlikely that you're using more than one or two connections simultaneously.
If you want to use more of those apache processes, drive more traffic to your sites
Similar Messages
-
Upgrading to Acrobat X Web service calls slower...
Hey,
we made a plug-in button using javascript that takes the current document and sends it to a server using a webservice, the document is divided in chunks and sent to the server in size of 10 mg per chunk.
this plug-in was working great, until the customer demanded that we migrate to acrobat x.
we ran the same code and hit the wall to something similiar to this problem:
http://forums.adobe.com/thread/756218?decorator=print&displayFullThrea d=true
see, we figured out that the time it takes to communicate with the web service became slower depending on the size of the parameter sent to this service.
when sending a chunk of 10 mega using 9 it took almost 15 sec.
when sending a chunk of 80 kbyte using x it took almost 15 min.
a sample code is shown below:
var stream = Collab.documentToStream(document);
var service = Net.SOAP.connect(url);
var bound = 10485760;
var documentSize = document.filesize;
var thermo = app.thermometer;
thermo.duration = Math.round(documentSize / bound);
thermo.text = "Sending document to server";
var counter = 0;
thermo.begin();
try {
var stringReaded;
var fileName = '';
var parameter = {
soapType: "xsd:string"
do {
thermo.value = counter;
stringReaded = stream.read(bound);
parameter.jsonPdf = stringReaded;
fileName = service.SavePdf(parameter);
counter++;
while (stringReaded.length == bound * 2);
catch (e) {
app.alert(e);
thermo.end();
Update:
Just un-installed x and downgraded to 9 with typical installation
works like a sharm...
still its needed to be deployed in 10 or x, any help is much appreciatedWhat happens when you deactivate the Thermometer code?
I believe to remember having the IMHO weird effect in Acrobat 9 that under some circumstances the Thermometer was speeding things up. This "bug" may have been "fixed" in 10.
HTH.
Max Wyss. -
Hi I have two questions:
1) I'm using a third party connector (JCo based) which is able to expose RFC/BAPIs into Web Services. (I know I could do this with SAP directly as well on ECC 5.0 and up, but for now let's say I have to use the JCo connector). If I write a custom RFC and want it to be called through that JCo connector, what are the steps that I need to go through to properly configure the custom RFC? Is there any documentation written for that?
2) In some other scenarios I need to call standard SAP web services. Some web services are transactional and commit/rollback needs to be called explicitly. What is the best practice for that? Do I need to make a custom RFC from the standard one, and add commit into it, and then expose it as a web service? Anyway for me to call that web service and commit in one connection?
Thanks much in advance,
YeHi Ye
just have a look on these links may be useful ...
https://www.sdn.sap.com/irj/scn/go/portal/prtroot/docs/library/uuid/8798be90-0201-0010-d093-85f728778d37
https://www.sdn.sap.com/irj/scn/go/portal/prtroot/docs/library/uuid/c63bca90-0201-0010-59ae-e0db32750209
Properties for an AS ABAP Data Source... user must have authorizations to use RFC, and to create, Refer to the SAP Java connector documentation for details
http://help.sap.com/saphelp_nw04s/helpdata/en/84/10594aecd3e1408845e66c432b955e/frameset.htm
Regards
Abhishek -
How to monitor progress of web-service calculation? And abort it?
Hello. We're thinking of converting an existing Java radar calculation program into a web-service, so that it can be used by various interested parties. However, calculations can take some time (several minutes) and so we would like the client to be able to both show calculation progress and allow the user to abort the calculation if necessary. It is not obvious to us how to do this with a web-service. Are there any standard approaches to this problem? What's the best way of a client asking the web-service how a calculation is progressing? What's the best way for a client to abort a calculation? Any advice most welcomed.
Kind regards
Paul Howland
NATO C3 Agency
The HagueYou can't estimate the duration withour running the gather_database_stats. You can monitor it while it is running. (e.g. count the tables that have got updated statistics based on DBA_TABLES)
And if you run gather_database_stats, the default behaviour might well be to exclude tables which aren't "stale" while in the imported database the expectation is to gather stats on all tables.
(Similarly, the behaviour to gather column histograms (method_opt) may differ in an existing database from a newly imported database)
Hemant K Chitale
Edited by: Hemant K Chitale on May 14, 2013 10:13 AM -
Web Service proxy deployment and reuse
Jdev. 11.1.1.4
Hi,
In my ADF application I have created a web service proxy with Jdev wizard.
I have created a method in order to test it and it works ok.
Now, I need to reuse this proxy (the package) in other java applications also in Jdev but working with struts (I don't thnk this is important but....)
I have created a deployment profile only for the ws proxy package and generated a jar file.
This jar file has been declared in the second application and try to execute the same method that worked in the first application.
Just in the first sentence:
UtilGestionDocumental utilGestionGrupos = new UtilGestionDocumental();
we are having an "unauthorized error". No time to declare any username nor password that are send in later instructions.
The first part of the call to the WS that we are using is this:
UtilGestionDocumental utilGestionGrupos = new UtilGestionDocumental(); <- Here it throws the error
SecurityPoliciesFeature securityFeatures =
new SecurityPoliciesFeature(new String[] {
"oracle/wss_username_token_client_policy" });
UtilGestionDocumentalPortType entidadDocPortType =
utilGestionGrupos.getUtilGestionDocumentalSOAP12Port(/*securityFeatures*/);
((BindingProvider)entidadDocPortType).getRequestContext().put(BindingProvider.USERNAME_PROPERTY,"Username");
((BindingProvider)entidadDocPortType).getRequestContext().put(BindingProvider.PASSWORD_PROPERTY,"Password");
((BindingProvider)entidadDocPortType).getRequestContext().put(BindingProvider."EndPoint....." );
I think I'm not using the correct system to create a jar for the WS, am I ?
someone can help me with this ?Does any expert can help in deploying a web service proxy as a jar file ?
-
Consuming an External Web Service using HTTPS and WS Security
Hello everyone,
I'm having a problem setting the security information in a SOAP header using a generated ABAP Client Proxy to consume an external web service that requires a User ID and Password in the Header section of the SOAP message. I need to use HTTPS. I'm on a WAS 7.01 SP08 system so from my readings, SAP is supposed to be able to add the username and password into the header section of the message. I can't seem to get SAP to add this information added to the header.
Here are the steps that I have taken to set the security values.
1) Created the client proxy from the WSDL in SE80. Basic Authentication on the Configuration tab was turned on automatically.
Note, Transport Security is set to None. I cannot change it.
2) Created an outbound set user name profile in transaction WSPROFILE with the appropriate username and password.
3) Added the profile to the default port in transaction LPCONFIG as an outbound under the WS Security section of the screen.
When I called the external Web Service, I got back the following error message:
com.ibm.wsspi.wssecurity.SoapSecurityException: WSEC5509E: A security token whose type is [http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-username-token-profile-1.0#UsernameToken] is required.
So, after reading through this Forum, I saw that I needed to use the SOAMANAGER. I set up a Proxy in the SOAMANAGER and manually created the Logical Port. This was the only way I could figure out how to set the Authentication Settings in the Logical Port to "User ID / Password". I then entered the User ID and Password.
However, I am still getting the same error message. I feel I am close but missing some small configuration to tell SAP to use WS Security with a Username token.
I'm not sure what I'm doing wrong, so any help would be appreciated.
Thanks,
StephenI had this error again so I thought I would post my solution:
The issue is SAP needs to know the certificates being used by the web site being called. These certificates are automatically installed in your browser but need to be manually installed in SAP. This is what I did:
How to find/install new certificates
Make sure you run Internet Explorer as an Administrator so you can export the certificates
Go to the web site that SAP is trying to call in Internet Explorer
Double click on the lock in the address bar
View certificates
Find the certificates that are being used
Tools --> Internet Options --> Content --> Certificates
Click on the “Trusted Root Certification Authorities” tab
Find the certificate identified in step iii
Export as a CER certificate
Click on the “Intermediate Certification Authorities” tab
Find the certificate identified in step iii
Export as a CER certificate
Go to STRUST in SAP
Import the Certificates in the “Anonymous” or “Standard” SSL client
Save
RESTART the ICM via t-code SMICM <-- Critical!!!
Test -
Hi
I have a web service which return the response based on the request key.
I need to save the key and the response value in cache for around 30mins
to reduce the web service calls for better performance.
Appreciate if any once can share a sample codeusing System.Runtime.Caching;
public List<string> cachingwebserviceresponse()
{//Create a cache key
string strParameters = "1234";//Create a cache value holding object
List<string> results = new List<string>();//Create a cache
ObjectCache cache = MemoryCache.Default;//Assign key for the cache
string cacheKey = strParameters;//Check whether the key exists in the cache//If exists assign the values from the cache instead of calling the webservice//else call the web service and add the response to the cache
if (cache.Contains(cacheKey))
results = cache.Get(cacheKey);
else
{ //calling the web service client
using (service.webservice fd = new service.webserviceContractClient())
{ //Call the web service function to get the results
results = fd.DataSearch(strParameters);
} //Create the cache expiration policy. I have created for 30 minutes.
CacheItemPolicy cacheItemPolicy = new CacheItemPolicy();
cacheItemPolicy.AbsoluteExpiration = DateTime.Now.AddMinutes(30); //Add the response to the cache based on the key
cache.Add(cacheKey, results, cacheItemPolicy);
return results; -
Not able to access web service with axis and tomcat
Dear all
i am trying to access web service using axis in tomcat.
i downloaded axis-bin-1_4.zip, unzipped it and installed it properly in tomcat.
i had tested axis, its working fine.
i had created a simple java class(a sample class from book) and deployed it in axis. i also created a client(a java consol class) for accessing that web service. but its giving error. i have no idea why this is comming.
plz point me in right direction.
thanks in advance
The error is:
Exception in thread "main" AxisFault
faultCode: {http://xml.apache.org/axis/}HTTP
faultSubcode:
faultString: (404)/axis/ArithmeticProcessor.jws
faultActor:
faultNode:
faultDetail:
{}:return code: 404
<html><head><title>Apache Tomcat/6.0.14 - Error report</tit
le><style><!--H1 {font-family:Tahoma,Arial,sans-serif;color:white;ba
ckground-color:#525D76;font-size:22px;} H2 {font-family:Tahoma,Arial,sans-serif;
color:white;background-color:#525D76;font-size:16px;} H3 {font-family:Tahoma,Ari
al,sans-serif;color:white;background-color:#525D76;font-size:14px;} BODY {font-f
amily:Tahoma,Arial,sans-serif;color:black;background-color:white;} B {font-famil
y:Tahoma,Arial,sans-serif;color:white;background-color:#525D76;} P {font-family:
Tahoma,Arial,sans-serif;background:white;color:black;font-size:12px;}A {color :
black;}A.name {color : black;}HR {color : #525D76;}--></style> </hea
d><body><h1>HTTP Status 404 - /axis/ArithmeticProcessor.jws</h
1><HR size="1" noshade="noshade"><p><b>
type</b> Status report</p><p><b>message</b> <u&
gt;/axis/ArithmeticProcessor.jws</u></p><p><b>descriptio
n</b> <u>The requested resource (/axis/ArithmeticProcessor.jws) is n
ot available.</u></p><HR size="1" noshade="noshade
"><h3>Apache Tomcat/6.0.14</h3></body></html>
{http://xml.apache.org/axis/}HttpErrorCode:404
(404)/axis/ArithmeticProcessor.jws
at org.apache.axis.transport.http.HTTPSender.readFromSocket(HTTPSender.j
ava:744)
at org.apache.axis.transport.http.HTTPSender.invoke(HTTPSender.java:144)
at org.apache.axis.strategies.InvocationStrategy.visit(InvocationStrateg
y.java:32)
at org.apache.axis.SimpleChain.doVisiting(SimpleChain.java:118)
at org.apache.axis.SimpleChain.invoke(SimpleChain.java:83)
at org.apache.axis.client.AxisClient.invoke(AxisClient.java:165)
at org.apache.axis.client.Call.invokeEngine(Call.java:2784)
at org.apache.axis.client.Call.invoke(Call.java:2767)
at org.apache.axis.client.Call.invoke(Call.java:2443)
at org.apache.axis.client.Call.invoke(Call.java:2366)
at org.apache.axis.client.Call.invoke(Call.java:1812)
at ArithmeticClient.main(ArithmeticClient.java:50)Hi ,
Please go through this link and check in this way only you created the webservice correctly or not. If not follow and do it definitely will get you the webservice access by iphone or any application.
www.scribd.com/doc/19255987/Web-Services-in-Abap -
Define Web Services in XI and call Web Services from XI
Xi guys,
I want to create some Web services in XI that will do the following things:
receive an XML message over SOAP (from BEA WebLogic), execute 2-3 calls to an external HTTP Web Server from which I will get a response, export a file into another system, and return the response to the WS client.
As far as I know, I will have to create a Configuration scenario in XI that will contain all these steps (obviously with the help of BPM) and with the help of the Wizard, I will produce the WSDL, the function of which the Web service client will be able to call. I have some questions on that:
a) Is there a way to define with XI only one Web Service that will contain 3-4 function to do different things? Or one Web Service corresponds to one Configuration scenario?
b) Also do I need a Sender Agreement and a Sender SOAP communication channel?
c) Is there a way to construct the WSDL before creating the configuration scenario? Because BEA WebLogic people need it to start development.
Best Regards
Evaggelos Gkatzioshi,
a) Is there a way to define with XI only one Web Service that will contain 3-4 function to do different things?
Or one Web Service corresponds to one Configuration scenario?
b) Also do I need a Sender Agreement and a Sender SOAP communication channel?
Ans:
If you are create a SOAP communication channel and Sender Agreement then One WSDL used
One Configuration scenario.Another configuration you need to create another WSDL.Because at the
time of creating WSDL you need to give a service name and communication channel.
If without communication channel(using proposal consept creating WSDL) you can use that various
senarios if your sender structure is same.(this time WSDL have the pipeline address with help
of message interface fine the mapping and gave the output).
If you create with SOAP communication channel and Sender Agreement WSDL is more secure.
with out communication channel is not a secure one.
If you go with (without sender CC) you can create and gave a WSDL before Scenario.
If you have sender CC then after creating a scenario only you can able to gave WSDL.
If you are createing with sender cc then you need to give a URL
[http://<host>:<port>/XISOAPAdapter/MessageServlet?channel=:SenderService:SenderCC]
*Reward Points If Helpful*
Regards,
Prakasu -
Errors trying to Invoke web service using BES and SIF
Moved this up from the Integration Forum to see if I can get some visibility on it.
Description : When an invoice get's approved we need to pass on the details of the invoice and approval to the 3rd party customer.
So far I have been able to test the business event which calls the web service that writes the information to a file. However, although the file is created there is no content in the file.
So the steps up to this point
1. Create a simple web service that takes a string as an input parameter and writes this out to a file.
2. Locate the Approve Invoice event [oracle.apps.ap.event.invoice.approval] and add a new subscription that will invoke my web service.
I have a number of issues at the moment.
From the business event page I can test the event which writes a record to the wf_java_deferred queue. I have been able to call the service and create a file however that seems to have stopped working. Where do I look to see what's going wrong? Is the diagnostics the best place to start
If I go into Status Monitoring I can see the last Business Event test I did is now having errors when it tries to invoke the web service. The error I get is
Error Activity ID
Error Activity Label
Error Assigned User
Error Item Type
Error Item Key
Error User Key
Error Message oracle.apps.fnd.wf.bes.InvokerException: Event payload is not available
Error Name
Error Notification ID
Error Result Code
Error Stack oracle.apps.fnd.wf.bes.InvokerException: Event payload is not available at oracle.apps.fnd.wf.bes.WebServiceInvokerSubscription.onBusinessEvent(WebServiceInvokerSubscription.java:236) at
oracle.apps.fnd.wf.bes.EventDispatcher.executeSubscription(EventDispatcher.java:870) at oracle.apps.fnd.wf.bes.EventDispatcher.processSubscription(EventDispatcher.java:556) at
oracle.apps.fnd.wf.bes.EventDispatcher.dispatch(EventDispatcher.java:335) at oracle.apps.fnd.wf.bes.AgentListenerProcessorNew.processMessage(AgentListenerProcessorNew.java:373) at
oracle.apps.fnd.cp.gsc.SvcComponentProcessor.process(SvcComponentProcessor.java:659) at oracle.apps.fnd.cp.gsc.Processor.run(Processor.java:283) at java.lang.Thread.run(Thread.java:619)
Error Monitor URL
Timeout Value 0
Event Name oracle.apps.ap.event.invoice.approval
Event Details PLSQL:WF_STANDARD.EVENTDETAILS/WFERROR:332124
Event Message View Event Message
Event Key 3134525_1
Event Data URL http://hostname.co.nz:8000/OA_HTML/RF.jsp?function_id=18157&resp_id=-1&resp_appl_id=-1&security_group_id=0&lang_code=US&
params=.tut9vCLHp8BRzYkdaLWV3ekOnBGTRSUSr1RYBqw0ISKruqT5nAzoOSzIkWSQrzWO8z23dyX31GlRw75r21ich1KC4hE2KL.ZedjIDcPalm8f.akDClydWkRR3w2eGuk
Event Subscription http://hostname:8000/OA_HTML/RF.jsp?function_id=26058&resp_id=-1&resp_appl_id=-1&security_group_id=0&lang_code=US&
params=fR9VOZbtfJEdYQNb645CRU3kD39os3CZwt7XUpbOYb1RImgFkWaeDFEV0SCaVn1M
Error Type UNEXPECTED
Error Details PLSQL:WF_STANDARD.ErrorDetails/WFERROR:332124
Administrator Role SYSADMIN
Subscription Details PLSQL:WF_STANDARD.SubscriptionDetails/WFERROR:332124
Error Person ID
Error Person Username
How do I get access to the payload? I only really need 2 or 3 items at this time. Do I need to extend a seeded java function? For example in my initial tests I only want to pass across the Invoice Id so how do I get the value of this attribute out of the wf_event_t (Is this the correct object name) and into the payload that is being passed across to the service call.
Cheers
OwenHello Owen
I am experiencing the exact same issue as you are (missing payload) when invoking a web service and was wondering if you have resolved this issue or gotten any new useful information?
Regards,
Magnus -
Consuming a Web Service using JSP and servlet
I have created a Web Service in Netbeans IDE 5.5. I developed a JSP to provide input to the Web Service, and a servlet that will pass the input to the web service through a request and outputs the result.
I am getting the following error:
HTTP Status 500 -
type Exception report
message
description The server encountered an internal error () that prevented it from fulfilling this request.
exception
javax.servlet.ServletException: Servlet.init() for servlet TestServlet threw exception
root cause
java.lang.RuntimeException: WEB5002: Exception in handleBeforeEvent.
root cause
com.sun.enterprise.InjectionException: Exception attempting to inject Env-Prop: test.org.TestServlet/service@Field-Injectable Resource. Class name = test.org.TestServlet Field name=[email protected]@@@ into class test.org.TestServlet
root cause
javax.naming.NamingException [Root exception is java.lang.reflect.InvocationTargetException]
root cause
java.lang.reflect.InvocationTargetException
root cause
javax.xml.ws.WebServiceException: java.io.FileNotFoundException: http://localhost:8080/TestWebApplication/TestWSService?wsdl
root cause
java.io.FileNotFoundException: http://localhost:8080/TestWebApplication/TestWSService?wsdl
note The full stack traces of the exception and its root causes are available in the Sun Java System Application Server Platform Edition 9.0_01 logs.
Any hints???You probably should post to either the NetBeans website mailing list, or the Sun forum that supports the Sun Application Server, as the error is the result of a configuration error of one or both of these products. A file can't be found:
java.io.FileNotFoundException: http://localhost:8080/TestWebApplication/TestWSService?wsdl
note The full stack traces of the exception and its root causes are available in the Sun Java System Application Server Platform Edition 9.0_01 logs.
These forums are for support of the Java language. -
Calling web service with utl_dbws and parsing the xml result with Xpath
I'm invoking a web service from the database(10.2.0.2.0) using sys.utl_dbws and all is working well. After executing response := sys.utl_dbws.invoke(call_, request); I execute dbms_output.put_line(substr(response.getstringval(),1,1500)); which results with:
<refCursor10gProcessResponse xmlns="http://xmlns.oracle.com/refCursor10g">
<result xmlns="http://xmlns.oracle.com/refCursor10g">
<Row xmlns="http://xmlns.oracle.com/pcbpel/adapter/db/ADM/SERVICES/GETST/">
<Column name="C_ID" sqltype="VARCHAR2">20292</Column>
<Column name="AYR" sqltype="VARCHAR2">2002</Column>
<Column name="EDT" sqltype="VARCHAR2">2002-06-13</Column>
<Column name="ETUS" sqltype="VARCHAR2">O</Column>
<Column name="PC" sqltype="NUMBER">537</Column>
<Column name="SG" sqltype="VARCHAR2"/>
<Column name="VD" sqltype="VARCHAR2">Y</Column>
<Column name="VR" sqltype="VARCHAR2">R</Column>
<Column name="TS" sqltype="VARCHAR2">31</Column>
<Column name="D" sqltype="VARCHAR2">I</Column>
<Column name="T" sqltype="VARCHAR2">1</Column>
<Column name="P" sqltype="VARCHAR2"/>
<Column name="MT" sqltype="VARCHAR2">2</Column>
<Column name="PTAT" sqltype="VARCHAR2"/>
</Row>
</result>
</refCursor10gProcessResponse>
How do I parse out just the value 20292 of Column name="C_ID" using xpath? I've tired but I don't think i have the xpath set up correctly:
dbms_output.put_line(response.extract('//result/Row/Column/child::text)','xmlns="http://xmlns.oracle.com/refCursor10g"').getstringval());
Error messgae is:
ORA-30625: method dispatch on NULL SELF argument is disallowed
ORA-06512: at "ADM.CONSUME_WEB_SERVICES", line 439
ORA-06512: at 3
ThanksTried getting by the attribute but I don't think I have the format correct:
dbms_output.put_line(response.extract('//result/Row/Column@C_ID/child::text()','xmlns="http://xmlns.oracle.com/pcbpel/adapter/db/ADM/SERVICES/GETST"').getstringval());
Here's the full soap response envelope:
<env:Envelope
xmlns:env="http://schemas.xmlsoap.org/soap/envelope/">
<env:Header/>
<env:Body>
<refCursor10gProcessResponse xmlns="http://xmlns.oracle.com/refCursor10g">
<result xmlns="http://xmlns.oracle.com/refCursor10g">
<Row xmlns="http://xmlns.oracle.com/pcbpel/adapter/db/ADM/SERVICES/GETST/">
<Column name="C_ID" sqltype="VARCHAR2">20292</Column>
<Column name="AYR" sqltype="VARCHAR2">2002</Column>
<Column name="EDT" sqltype="VARCHAR2">2002-06-13</Column>
<Column name="ETUS" sqltype="VARCHAR2">O</Column>
<Column name="PC" sqltype="NUMBER">537</Column>
<Column name="SG" sqltype="VARCHAR2"/>
<Column name="VD" sqltype="VARCHAR2">Y</Column>
<Column name="VR" sqltype="VARCHAR2">R</Column>
<Column name="TS" sqltype="VARCHAR2">31</Column>
<Column name="D" sqltype="VARCHAR2">I</Column>
<Column name="T" sqltype="VARCHAR2">1</Column>
<Column name="P" sqltype="VARCHAR2"/>
<Column name="MT" sqltype="VARCHAR2">2</Column>
<Column name="PTAT" sqltype="VARCHAR2"/>
</Row>
</result>
</refCursor10gProcessResponse>
</env:Body>
</env:Envelope>
Any thoughts? -
Web Service WLS9.2 and WLS6.1 SOAP compatibility
We have a Web Service (running on WLS6.1) which has been published for a long time, and many customers have developed their own clients.
Now we must upgrade our Web Service from WLS6.1 to WLS9.2. In practice we had to re-develope the Web Service starting form the original WSDL.
The new WSDL is identical to the original one, and the business code inside has obviously been kept the same.
The new Java Test Client that we generated with clientgen (WLS92) works fine, but we need to guarantee total compatibility for all the clients developed for the 6.1 version.
Unfortunately testing our new Web Service (WLS9.2) with our old java Client (developed with WLS6.1), we found that the SOAP implementation of arrays has changed, and therefore the old client is not compatible with the new Web Services.
Is this a known issue? Is there a workaround or a solution to this problem?
== WLS6.1 array "listaPacchetti " SOAP implementation ==
<listaPacchetti xsi:type='SOAP-ENC:Array' xmlns:bean='java:smash.webservices.bean' SOAP-ENC:arrayType='bean:PacchettoBean[2]'>
<item xsi:type='bean:PacchettoBean' xmlns:bean='java:smash.webservices.bean' >
<numeroSmsResidui xsi:type='xsd:int'>2908</numeroSmsResidui>
<flagOnOffNet xsi:type='xsd:int'>1</flagOnOffNet>
<numeroSmsIniziali xsi:type='xsd:int'>4000</numeroSmsIniziali>
<idPacchetto xsi:type='xsd:string'>9693</idPacchetto>
<cessato xsi:type='xsd:int'>0</cessato>
<dataScadenza xsi:type='xsd:string'>28-02-2008</dataScadenza>
</item>
<item xsi:type='bean:PacchettoBean' xmlns:bean='java:smash.webservices.bean' >
<numeroSmsResidui xsi:type='xsd:int'>1866</numeroSmsResidui>
<flagOnOffNet xsi:type='xsd:int'>0</flagOnOffNet>
<numeroSmsIniziali xsi:type='xsd:int'>2000</numeroSmsIniziali>
<idPacchetto xsi:type='xsd:string'>9694
</idPacchetto>
<cessato xsi:type='xsd:int'>0</cessato>
<dataScadenza xsi:type='xsd:string'>28-02-2008</dataScadenza>
</item>
</listaPacchetti>== WLS9.2 array "listaPacchetti " SOAP implementation ==
<listaPacchetti>
<numeroSmsResidui>2908</numeroSmsResidui>
<flagOnOffNet>1</flagOnOffNet>
<numeroSmsIniziali>4000</numeroSmsIniziali>
<idPacchetto>9693</idPacchetto>
<cessato>0</cessato>
<dataScadenza>28-02-2008</dataScadenza>
</listaPacchetti>
<listaPacchetti>
<numeroSmsResidui>1866</numeroSmsResidui>
<flagOnOffNet>0</flagOnOffNet>
<numeroSmsIniziali>2000</numeroSmsIniziali>
<idPacchetto>9694</idPacchetto>
<cessato>0</cessato>
<dataScadenza>28-02-2008</dataScadenza>
</listaPacchetti>Any help will be appreciated!
Thank you
LauraHi
Thanks for your reply
I downloaded OC4J 10.1.2.0.2 and ran it as as a standalone server.
I read the blog you linked and made the changes to the web.xml for the webservice. All of which I was able to do using the property palette in jdev 10.1.2.1.0.
I deployed my webservice to my oc4j standalone server and it appeared as a new application. I editied the orion-web.xml for the new application manually.
When I point my browser at the webservice I get the test page which allows me to pass parameters to the webserive. I invoke the webservice (which does a HTTP GET according to the test page) and the webservice runs. No user and password is needed though.
What is the expected behaviour? I was hoping that the webservice wouldn't run until I supplied the admin user name and password
paul -
Web Service Object Parameters and JAXB
Hi All,
This is my first post here and I'm hoping one of you might have encountered a similar problem before. One of our business partners provided us with a WSDL for their service, with an embedded XML schema. My job in this case is to write a message driven bean (MDB) that will take a message containing XML off of a queue and call this web service. However, their web service requires an object to be passed as input. So, I've used JAXB to generate a set of classes (from the schema I ripped out of their WSDL) that will unmarshal the XML document that comes off the queue. This works fine, however, the resulting object is an inherently different object than the object I need to pass to the web service, that one was created by auto-generating the Java proxy for the web service. Since these two classes come from the same schema definition, they have the same structure and can hold the same data, but they have different implementations. My plan is to write a method to copy the data from one object to another, but this feels redundant. Is there any approach I could use to make these two auto-generated sets of code be more compatible, other than the obvious answer of having written everything by hand? Thanks in advance for any replies.Are the XML instances coming from the queue and the request object to the WS defined by the same schema (from the business partner)? If they are different, there's no other option than to do a copy or some sort of XSLT (not that that's any easier though). But if the instances are defined by the same schema, just use some data binding framework that you can use for both reading the XML from the queue and that is incorporated into the WS toolkit you're using.
For example, Axis2 allows you to use XMLBeans as a the data binding framework. Using the generated classes from Axis2, you can read in the XML instances from the queue and at the same time have the request object for the WS call. -
Mobile app based on web service data control and VO with VC runtime error
Hi,
Jdev 11.1.2.3.0 + mobile extension.
Windows 7, 64 bit.
Reproduceable with Android emulator but not on iOS and iOS emulator.
I can not test on real Android device because we do not have it in our office.
So I don't know wether this issue is related to android emulator only or to android in general.
Also not reproduceable by Oracle support.
I have a VO "Employees" with a VC "department_id = :departmentIdVariable" and exposed the find method for this VO via service interface in AM.
(see demo video from https://blogs.oracle.com/shay/entry/developing_with_oracle_adf_mobile?utm_source=dlvr.it&utm_medium=facebook).
In a ADF mobile app I create a parameter form and amx:listView like demoed in the mentioned video.
Whenever I test this app on android emulator I get the error below.
Exact the same page used in a second feature works fine.
I found out that the problem only occures on the first attept (this means when I open the page on the second feature first then this will fail and the subsequent call of the first page will be successfull).
The problem does not occure when the web service data control does not contain a method based on VC with bind variable.
[SEVERE - oracle.adfmf.framework - AmxBindingContext - loadDataControlById] Unable to load Data Control testDataControl due to following error: ERROR [oracle.adfmf.framework.exception.AdfException] - Unable to load definition for testDataControl.Types.findEmployeesView1DepartmentIdCriteria.findCriteria.childFindCriteria.findAttribute.
ERROR [oracle.adfmf.framework.exception.AdfException] - Unable to load definition for testDataControl.Types.findEmployeesView1DepartmentIdCriteria.findCriteria.childFindCriteria.findAttribute
at oracle.adfmf.metadata.bean.transform.TransformCacheProvider.fetch(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;(Unknown Source)
at oracle.adfmf.cache.SimpleCache.get(Ljava/lang/Object;Ljava/lang/String;)Ljava/lang/Object;(Compiled Method)(Unknown Source)
at oracle.adfmf.metadata.cache.MetaDataCache.getByLocation(Ljava/lang/String;)Loracle/adfmf/util/XmlAnyDefinition;(Unknown Source)
at oracle.adfmf.metadata.cache.MetaDataFrameworkManager.getJavaBeanDefinitionByName(Ljava/lang/String;)Loracle/adfmf/metadata/bean/JavaBeanDefinition;(Unknown Source)
at oracle.adfmf.dc.VirtualJavaBeanObject.registerAccessorAttribute()V(Unknown Source)
at oracle.adfmf.dc.JavaBeanObject.registerJavaBean(Loracle/adfmf/metadata/bean/JavaBeanDefinition;)V(Unknown Source)
at oracle.adfmf.dc.VirtualJavaBeanObject.<init>(Ljava/lang/String;Ljava/lang/String;Loracle/adfmf/metadata/bean/JavaBeanDefinition;Ljava/lang/String;)V(Unknown Source)
at oracle.adfmf.dc.VirtualJavaBeanObject.<init>(Ljava/lang/String;Ljava/lang/String;Loracle/adfmf/metadata/bean/JavaBeanDefinition;)V(Unknown Source)
at oracle.adfmf.dc.VirtualJavaBeanObject.registerAccessorAttribute()V(Unknown Source)
at oracle.adfmf.dc.JavaBeanObject.registerJavaBean(Loracle/adfmf/metadata/bean/JavaBeanDefinition;)V(Unknown Source)
at oracle.adfmf.dc.VirtualJavaBeanObject.<init>(Ljava/lang/String;Ljava/lang/String;Loracle/adfmf/metadata/bean/JavaBeanDefinition;Ljava/lang/String;)V(Unknown Source)
at oracle.adfmf.dc.VirtualJavaBeanObject.<init>(Ljava/lang/String;Ljava/lang/String;Loracle/adfmf/metadata/bean/JavaBeanDefinition;)V(Unknown Source)
at oracle.adfmf.dc.VirtualJavaBeanObject.registerAccessorAttribute()V(Unknown Source)
at oracle.adfmf.dc.JavaBeanObject.registerJavaBean(Loracle/adfmf/metadata/bean/JavaBeanDefinition;)V(Unknown Source)
at oracle.adfmf.dc.VirtualJavaBeanObject.<init>(Ljava/lang/String;Ljava/lang/String;Loracle/adfmf/metadata/bean/JavaBeanDefinition;Ljava/lang/String;)V(Unknown Source)
at oracle.adfmf.dc.VirtualJavaBeanObject.<init>(Ljava/lang/String;Ljava/lang/String;Loracle/adfmf/metadata/bean/JavaBeanDefinition;)V(Unknown Source)
at oracle.adfmf.dc.VirtualJavaBeanObject.registerAccessorAttribute()V(Unknown Source)
at oracle.adfmf.dc.JavaBeanObject.registerJavaBean(Loracle/adfmf/metadata/bean/JavaBeanDefinition;)V(Unknown Source)
at oracle.adfmf.dc.ws.WebServiceObject.registerBean(Loracle/adfmf/metadata/dcx/AdapterDataControlDefinition;Loracle/adfmf/metadata/dcx/soap/SoapDefinitionDefinition;)V(Unknown Source)
at oracle.adfinternal.model.adapter.webservice.WSDefinition.loadDataControlDefinition(Loracle/adfmf/metadata/dcx/AdapterDataControlDefinition;)V(Unknown Source)
at oracle.adfmf.dc.GenericJavaBeanDataControlAdapter.loadDataControl(Ljava/lang/String;)V(Unknown Source)
at oracle.adfmf.dc.ws.WebServiceDataControlAdapter.setDataProvider(Ljava/lang/Object;)V(Unknown Source)
at oracle.adf.model.adapter.DataControlFactoryImpl.createDataControl(Loracle/adfmf/bindings/dbf/AmxBindingContext;Loracle/adfmf/util/XmlAnyDefinition;Ljava/util/Map;)Loracle/adfmf/bindings/DataControl;(Unknown Source)
Does anyone has seen the above error ?
I have recreated the model and mobile app more than 20 times, re-installed Jdev, re-created Jdev settings (integrated WLS & Co), ran the web services on a different machine.
On my site this problem is 100% reproduceable with android emulator.
regards
PeterHi, Peter, this could be an issue with proxy server setting. Are you behind a firewall when you test this?
iOS simulator would use Mac's proxy setting. Android Emulator has its own proxy setup - it's a bit complicated to get to and varies based on the Android emulator you are using. For 4.1 emulator (you should always use 4.x or above emulators), you would need to go into the emulator itself, and go to settings - Wireless & Networks - click More... - Mobile Networks - Access Point Names. You should see an Access point used by the emulator to simulate network connection. Mine says "T-Mobile US". You click on it, and then you can select the proxy attribute and set it according to your office's settings.
Hope that resolves the issue.
Thanks,
Joe Huang
Maybe you are looking for
-
Pulse audio no sound card detected
Hello, I have installed pulse audio according to the wiki but after install and reboot no sound card is detected. My pc is sony vaio VGN-NW21MF and the lspci output for the sound device is following 01:00.1 Audio device: ATI Technologies Inc RV710/73
-
How can i get browse sequence widgets to follow hyperlinks instead of TOC?
I've created a screen layout based on the standard desktop layout and am using the default browse sequence (back, next) widget buttons included with the layout. Our topics include a number of hyperlinks to other help topics - for example, a dialog bo
-
How to change Bulk Insert statement from MS SQL to Oracle
Hi All, Good day, I would like to bulk insert the content of a file into Oracle db. May I know how to change the below MS SQL syntax to Oracle syntax? Statement statement = objConnection.createStatement(); statement.execute("BULK INSERT [TBL_MERCHANT
-
I've used Outlook 2010 and it worked once, but after that, it never worked. Gmail word documents work perfectly fine. However, Outlook 2010 .pdf files don't even show up as a printing error. It seems as if I never made an attempt. And yes, I did make
-
Is there a video converting profram better than videora
my videora ipod converter converts very well except the video and sound are off by a little bit is there anyway to fix that or should i get a new program