Web service request context thread safe ?
Hello,
I am setting some header values in the request context like this:
BindingProvider bp = (BindingProvider)stub;
Map<String,Object> map = bp.getRequestContext();
map.put(MessageContext.HTTP_REQUEST_HEADERS, headers);
The map object is threadLocal ? can I use this code in a muthreaded environment ?
Any ideas?
I have searched and it seems that with cxf it's safe to do something like this.
Nobody knows if this is safe using metro?
Similar Messages
-
Web service client proxy thread safe?
Is the jax-ws web service client proxy and port objects thread safe in Weblogic 10.3.4?
Been searching through the docs but can't find any info on this.I have searched and it seems that with cxf it's safe to do something like this.
Nobody knows if this is safe using metro? -
Hello,
Errors in the EE 4 with RedHat ES 3.
Web Service Request Failed
The following fault was returned from the web service call:
Code HTTP
String (404)/axis/services/rpc/webtopsession
------ log -----
Starting service Tomcat-Standalone
Apache Tomcat/4.1.29
Apr 15, 2005 12:26:03 PM org.apache.jk.common.ChannelSocket init
INFO: JK2: ajp13 listening on /0.0.0.0:8009
Apr 15, 2005 12:26:03 PM org.apache.jk.server.JkMain start
INFO: Jk running ID=0 time=0/86 config=null
AxisFault
faultCode: {http://xml.apache.org/axis/}HTTP
faultSubcode:
faultString: (404)/axis/services/rpc/webtopsession
faultActor:
faultNode:
faultDetail:
{}string: return code: 404
<html><head><title>Apache Tomcat/4.1.29 - Error
report</title><STYLE><!--H1{font-family :
sans-serif,Arial,Tahoma;color : white;background-color : #0086b2;}
H3{font-family : sans-serif,Arial,Tahoma;color : white;background-color :
#0086b2;} BODY{font-family : sans-serif,Arial,Tahoma;color :
black;background-color : white;} B{color : white;background-color :
#0086b2;} HR{color : #0086b2;} --></STYLE>
</head><body><h1>HTTP Status 404 -
/axis/services/rpc/webtopsession</h1><HR size="1"
noshade><p><b>type</b> Status
report</p><p><b>message</b>
<u>/axis/services/rpc/webtopsession</u></p><p><b>description</b>
<u>The requested resource (/axis/services/rpc/webtopsession) is not
available.</u></p><HR size="1"
noshade><h3>Apache
Tomcat/4.1.29</h3></body></html>
(404)/axis/services/rpc/webtopsession
at
org.apache.axis.transport.http.HTTPSender.readFromSocket(HTTPSender.java:630)
at org.apache.axis.transport.http.HTTPSender.invoke(HTTPSender.java:128)
at
org.apache.axis.strategies.InvocationStrategy.visit(InvocationStrategy.java:71)
at org.apache.axis.SimpleChain.doVisiting(SimpleChain.java:150)
at org.apache.axis.SimpleChain.invoke(SimpleChain.java:120)
at org.apache.axis.client.AxisClient.invoke(AxisClient.java:180)
at org.apache.axis.client.Call.invokeEngine(Call.java:2564)
at org.apache.axis.client.Call.invoke(Call.java:2553)
at org.apache.axis.client.Call.invoke(Call.java:2248)
at org.apache.axis.client.Call.invoke(Call.java:2171)
at org.apache.axis.client.Call.invoke(Call.java:1691)
at
com.tarantella.tta.webservices.client.apis.apache.BaseRequest.callServiceWork(BaseRequest.java:316)
at
com.tarantella.tta.webservices.client.apis.apache.BaseRequest.callService(BaseRequest.java:213)
at
com.tarantella.tta.webservices.client.apis.apache.BaseRequest.callService(BaseRequest.java:205)
at
com.tarantella.tta.webservices.client.apis.apache.WebtopSessionRequest.startSession(WebtopSessionRequest.java:62)
at
com.tarantella.tta.webservices.client.views.SessionBean.startSession(SessionBean.java:545)
at
org.apache.jsp.sessionmanager_jsp.createNewSession(sessionmanager_jsp.java:276)
at
org.apache.jsp.sessionmanager_jsp.joinSessionByClientId(sessionmanager_jsp.java:236)
at
org.apache.jsp.sessionmanager_jsp._jspService(sessionmanager_jsp.java:619)
at org.apache.jasper.runtime.HttpJspBase.service(HttpJspBase.java:137)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:853)
at
org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:210)
at org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:295)
at org.apache.jasper.servlet.JspServlet.service(JspServlet.java:241)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:853)
at
org.apache.catalina.core.ApplicationDispatcher.invoke(ApplicationDispatcher.java:684)
at
org.apache.catalina.core.ApplicationDispatcher.doInclude(ApplicationDispatcher.java:575)
at
org.apache.catalina.core.ApplicationDispatcher.include(ApplicationDispatcher.java:498)
at
org.apache.jasper.runtime.JspRuntimeLibrary.include(JspRuntimeLibrary.java:822)
at org.apache.jsp.index_jsp._jspService(index_jsp.java:483)
at org.apache.jasper.runtime.HttpJspBase.service(HttpJspBase.java:137)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:853)
at
org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:210)
at org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:295)
at org.apache.jasper.servlet.JspServlet.service(JspServlet.java:241)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:853)
at
org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:247)
at
org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:193)
at
org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:256)
at
org.apache.catalina.core.StandardPipeline$StandardPipelineValveContext.invokeNext(StandardPipeline.java:643)
at
org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:480)
at org.apache.catalina.core.ContainerBase.invoke(ContainerBase.java:995)
at
org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:191)
at
org.apache.catalina.core.StandardPipeline$StandardPipelineValveContext.invokeNext(StandardPipeline.java:643)
at
com.tarantella.tta.webservices.valves.InputFilter.invoke(InputFilter.java:74)
at
org.apache.catalina.core.StandardPipeline$StandardPipelineValveContext.invokeNext(StandardPipeline.java:641)
at
org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:480)
at org.apache.catalina.core.ContainerBase.invoke(ContainerBase.java:995)
at
org.apache.catalina.core.StandardContext.invoke(StandardContext.java:2417)
at
org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:180)
at
org.apache.catalina.core.StandardPipeline$StandardPipelineValveContext.invokeNext(StandardPipeline.java:643)
at
org.apache.catalina.valves.ErrorDispatcherValve.invoke(ErrorDispatcherValve.java:171)
at
org.apache.catalina.core.StandardPipeline$StandardPipelineValveContext.invokeNext(StandardPipeline.java:641)
at
org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:172)
at
org.apache.catalina.core.StandardPipeline$StandardPipelineValveContext.invokeNext(StandardPipeline.java:641)
at
org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:480)
at org.apache.catalina.core.ContainerBase.invoke(ContainerBase.java:995)
at
org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:174)
at
org.apache.catalina.core.StandardPipeline$StandardPipelineValveContext.invokeNext(StandardPipeline.java:643)
at
org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:480)
at org.apache.catalina.core.ContainerBase.invoke(ContainerBase.java:995)
at org.apache.coyote.tomcat4.CoyoteAdapter.service(CoyoteAdapter.java:193)
at org.apache.jk.server.JkCoyoteHandler.invoke(JkCoyoteHandler.java:309)
at org.apache.jk.common.HandlerRequest.invoke(HandlerRequest.java:387)
at org.apache.jk.common.ChannelSocket.invoke(ChannelSocket.java:673)
at
org.apache.jk.common.ChannelSocket.processConnection(ChannelSocket.java:615)
at org.apache.jk.common.SocketConnection.runIt(ChannelSocket.java:786)
at
org.apache.tomcat.util.threads.ThreadPool$ControlRunnable.run(ThreadPool.java:666)
at java.lang.Thread.run(Thread.java:534)Hello,
We have same problem on SGD4.2 on Solaris 10 with IE HTML Client.
Do you solve it ?
How ?
Please help.
Regards. -
[Web Service] request arg is array
Dear all,
I insert multi-node in web service request.
Context in EduCusController:
Request_EducationWSViDocument_createEducationList
+arg1(0..n)
-majorField
In viewController
IArg1Node DestinationNode =wdThis.wdGetEduCusController().wdGetContext().nodeArg1();
for (int i = 0; i < 5; i++) {
ComplexType_EducationJB newejb=new ComplexType_EducationJB();
IArg1Element newElement =DestinationNode.createArg1Element(newejb);
newejb.setMajorField( i);
DestinationNode.addElement(newElement);
then i run
<b>executeRequest_EducationWSViDocument_createEducationList( );</b>
it have Exception : <b>Exception in method CreateEducationList ~</b>
Can anyone help me.HI Naidu,
how can i do to get complete more stack trace of exception.
public void executeRequest_EducationWSViDocument_createEducationList( )
//@@begin executeRequest_EducationWSViDocument_createEducationList()
//$$begin Service Controller(1148767839)
IWDMessageManager manager = wdComponentAPI.getMessageManager();
try {
wdContext
.currentRequest_EducationWSViDocument_createEducationListElement()
.modelObject()
._setHTTPDestinationName("Education_WS");
wdContext
.currentRequest_EducationWSViDocument_createEducationListElement()
.modelObject()
.execute();
wdContext.nodeResponseResult().invalidate();
} catch (Exception e) {
e.printStackTrace();
manager.reportException(e.getMessage(), false);
//$$end
//@@end
PS. i use Web Services Navigator insert multi-node, and it run OK. -
Error by sending a Web Service request
Hi,
we generated a WSDL from an outbound-interface and build a web application with it. When we send a Web Service request to SAP-XI from our Web Dynpro client application, we get an error "CALL_CONSUMER_ERROR" (of category "XI_J2EE_MESSAGING_SYSTEM"). We find the following entry in the message-log of the adapter engine:
Error: Return of synchronous errormessage to the calling application: com.sap.aii.af.ra.ms.api.RecoverableException: java.lang.RuntimeException: Error while silently connecting: org.w3c.www.protocol.http.HttpException: iaik.security.ssl.SSLException: Server certificate rejected by ChainVerifier.
Error: The Transmission of the message with https://hpsaps01.inveos.com:8001/sap/xi/engine?type=entry failed, because: com.sap.aii.af.ra.ms.api.RecoverableException: java.lang.RuntimeException: Error while silently connecting: org.w3c.www.protocol.http.HttpException: iaik.security.ssl.SSLException: Server certificate rejected by ChainVerifier
does anybody know, how to solve this problem?
Greetings
HildegardHi Stefan,
correct certificates are established in the meantime and the error-message in the adapterlog has changed. The errorcode still remains "CALL_CONSUMER_ERROR" of category "XI_J2EE_MESSAGING_SYSTEM".
Adapter-log:
Error: Return of synchronous errormessage to the calling application: com.sap.aii.af.ra.ms.api.RecoverableException: java.lang.RuntimeException: Error while silently connecting: org.w3c.www.protocol.http.HttpException: java.net.ConnectException: Connection refused.
Error: The Transmission of the message with https://hpsaps01.inveos.com:8001/sap/xi/engine?type=entry failed, because: com.sap.aii.af.ra.ms.api.RecoverableException: java.lang.RuntimeException: Error while silently connecting: org.w3c.www.protocol.http.HttpException: java.net.ConnectException: Connection refused
Are there missing any more permissions or is this another error in the configuration?
Regards
Hildegard -
in servlet i use
public void init(ServletConfig config) throws ServletException { }
so it only gets the db connection once per session
now that I am working on a web service....im not sure how to do something similiar
I want to either have all request coming in to use the same ONE connection OR maybe one created per session
I have way too many web service requests and it creates too many jdbc connections....what can i do to pervent this?
I dont care if they have to wait longer;
I just want to cut down the number of jdbc connections to 1 to 2
any help appreciated, thanksYou want to use a connection pool. If you just use one connection, your web users are likely to be waiting on the availabilty of the connection. A pool will let you set whatever maximum you want; 1 or 100...
There are a number of database connection pooling options. One of the morepopular is DBCP, part of the Apache project, which is free and open source.
http://jakarta.apache.org/commons/dbcp/
There are other such "drop in" poolers and some database vendors are now supplying connection pooling in their drivers. -
How to bind list data to XML Web service request
How do I bind specific columns in a DataGrid to the Web
service request? I'm having trouble finding any documentation that
addresses that specific pattern, i.e. sending a complex list to the
server via a Flex Web service send() command. I'm fairly new to
Flex programming and don't know if what I want to do is possible.
Here what I've been able to do so far.
1. Using a Web service called a service on the server and
retrieved a complex list.
2. Poplulated a DataGrid with the result
3. The user has selected multiple rows from the DataGrid
using a checkbox column
4. The user pressed a button that calls a Web service send().
This Web service should only send data from only two columns and
only for those rows the user has checked.
5. I can loop over the DataGrid and find the selected rows
and put them in another ArrayCollection called 'selectedRows'.
The issue is that I don't know how to bind 'selectedRows' to
the Web service. Right now I'm reading up on "Working with XML" in
the Programming with ActionScript 3.0 chapter. But I'm just fishing
here. No bites yet.Don't bind. Build the request object programatically, as you
are doing with your selectedRows AC, and send(myObject) that.
Tracy -
Automatically send web service request on restart
Hi,
Is it possible to send a web service request (or invoke a web method) on restart of a web application that is contained within oc4j.
I want to try and improve the performance of my web service sine it takes a long time to execute the first method call
Thanks in AdvanceOne possibility would be to use a ServletContextListener:
http://download.oracle.com/docs/cd/B32110_01/web.1013/b28959/listener.htm#BABFCGDD -
Using C#, I am trying to access my OnDemand account using https POST web service requests. Since I am new to this whole Siebel WS thing, I decided to try the easiest WS request: CurrentUser.
My request URL is
https://secure-ausomxaxa.crmondemand.com/Services/Integration/CurrentUser;jsessionid=xxxxxxx
The SOAP payload is:
<?xml version="1.0" encoding="utf-8"?>
<soap:Envelope xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema">
<soap:Body>
<CurrentUserWS_CurrentUserQueryPage_Input xmlns="urn:crmondemand/ws/currentuser">
<ListOfCurrentUser xmlns="urn:/crmondemand/xml/currentuser">
<CurrentUser>
</CurrentUser>
</ListOfCurrentUser>
</CurrentUserWS_CurrentUserQueryPage_Input>
</soap:Body>
</soap:Envelope>
When I send this request, I get an error status 400. Bad Request.
ThanksTry adding a forward slash at the end of "urn:crmondemand/ws/currentuser". I think that's how it is in the generic WSDL.
Also, if you don't specify any fields between <CurrentUser> and </CurrentUser>, you won't get any fields back (once your request succeeds, that'll be your next problem).
Also, if you get HTTP status 400, reading the body of the HTTP response will get you a long way towards understanding what's wrong. It should contain a detailed error message. -
My problem about SGD-- Web Service Request Failed
Web Service Request Failed
The following fault was returned from the web service call:
Code Server.NoService
String The AXIS engine could not find a target service to invoke! targetService is rpc/webtopsessionmy SGD's viasion is 4.3.15
my plam is suse linux -
Permissions Web Service Requests
Okay, I'm moving from "Groups" to "Permissions".
This post is just an FYI…not sure it's a bug or a feature…or even a little bit of both at the same time.
In the "Permissions" web service requests (AddPermission, etc.) if you do not specify either a ParentHandle or ParentPath, the web service request is applied to your site root. You can still use a single forward slash as ParentPath for "root"…it has the same effect as leaving ParentPath and ParentHandle empty.
If I recall correctly, most requests that take either a handle or path will return an error if neither is specified. I think this may be one of a small subset of requests that assumes "root" if both are missing.More notes on permissions…again, I think things work as intended, but I thought I'd mention this tidbit in the event that it might be useful to others.
MergePermission can only work with an existing permission (access-level/credential pair)…this is as expected. If you try to "merge" a permission for a credential which does not exist, or if you do not specify a credential, you get an error saying that MergePermission cannot find the target credential. In effect, MergePermission changes the access-level for any permission it can find by-way-of an existing credential.
Similarly, you cannot ask MergePermission to change the form of a credential. For example, you cannot use MergePermission to "change the credential whose associated access-level is 'Download' from 'Test@urn:mace…' to 'Student@urn:mace…'." MergePermission must always find that a target credential exists.
However, when dealing with an existing permission, there is no effective difference between AddPermission and MergePermission. That is, if you add a permission whose credential already exits, then you overwrite it as-if you had merged it. Again, this works as expected. A "student", say, cannot have both "Downlaod" and "No Access" within the same iTunes U page. The only warning I would give is that AddPermission can act destructively…you are not warned, when using it, that if the permission you wish to add corresponds to a permission which already exists, then that permission will be overwritten. -
Debugging my Web Service Request
Hi,
I am trying to use standard WS tools (like soapUI) to consume the CW14 WS.
The first operation I call is Authentication – login.
I get a good response (“true”) and a “set cookie” back in the soap header.
I am using this cookie in every Request that follows, to authenticate the session.
Note 1: if I use a wrong cookie, or set it up incorrectly, I get a “session not authenticated” response, so I know I’m doing it write when I do.
Now I am trying to call a simple operation like ReadProjects.
The WSDL for ReadProjects has a set of restrictions on values I am allowed to pass, and I follow them.
Note 2: there are some mismatches, where for example <Field> can be A,B or C (according to the restrictions in the WSDL) but if I use A, I get a “wrong field value” response. I found that I have to use lower case (‘a’) instead.
To make the operation simple, I do as suggested in the documentation and WSDL restriction, and I pass the minimum amount of arguments required ex:
<Field>title</Field>
<Filter>ProjectName=MyProjName </Filter>
Seems like no matter what I try, I get back “error: general error” as a response.
Any help solving this and getting me on the right path, would be simply amazing.No that did not fix the problem, I still get that error
Web Service Request Failed
The following fault was returned from the web service call:
Code Server.NoService
String The AXIS engine could not find a target service to invoke! targetService is rpc/webtopsession -
Web Service Requests... how many per page
Can you only have 1 web service request per page within APEX. I'm guessing so, because I get an HTTP 404 error when I create two or more web service requests on a page?
Can you have a look at the mod_plsql log file to get the error why the 404 is raised.
thanks
Patrick -
When there is web service request, we need to write to text file
Hello, Im currently using a web service request (particularly the read request variable). What my application does is that when a user enters the url
http://127.0.0.1:8001/WebService/Process?1=1&2=0&3=1&4=0&5=0
LED 1 and 3 turns on, while the other LEDs are turned off. I would like also to keep text file logs on what is the current time now, and the status of the LEDs. I want only to write to the file everytime the user enters the query in the URL (I dont want to write the logs every second or so, just only when the user presses the go button in the browser)
I can now write to a text file the current datetime stamp, and already setup the web services. But I cant figure out how can I execute this write process everytime the user fires up a web request.
Basically, how can I write to a text file the status of the LEDs each time there is a URL request?
Attached is the project. Thanks
Attachments:
DOE_LabView_v2.zip 15 KBOne reason you might not be getting any errors is that you aren't looking for errors. Connect up the error clusters and then display what you get.
Where are you getting the path that you are writing to?
Mike...
Certified Professional Instructor
Certified LabVIEW Architect
LabVIEW Champion
"... after all, He's not a tame lion..."
Be thinking ahead and mark your dance card for NI Week 2015 now: TS 6139 - Object Oriented First Steps -
Help needed: Handling web service requests from a J2SE application
I want to write an J2SE application that is able to receive and parse web service requests. I want the application to, when started, start listen for incoming requests on a specific port.
So far, I have embedded Apache Tomcat and Apache Axis in my application so that they parse the incoming requests and pass them on to my application logic.
This seems like a very cumbersome way of doing it. I have included an almost full J2EE server in my application just to be able to parse web service requests.
Is there an easier way? What technologies could I use? Any help would be greatly appreciated.Thanks for the help!
It seems awfully complex though. Couldn't one just
listen to incoming requests on a socket and use some
good tool to parse them?
Of course you could. One of the projects in that list is a 1 class java file. It could listen for requests, then you could parse the posted SOAP messages using JAXP and pass the requests on to your application. This will require a good understanding of SOAP however, and it may end up taking more time than simply using the JWSDP with a slightly beefier server.
Given that there is only a handful carefully
specified requests that the application needs to be
able to respond to it seems overkill to include a
full servlet enabled server...
Maybe you are looking for
-
Error while sending mail in RDI Format
Hi All I have a requirement automate sending of invoices customers via fax and e-mail in RDI format. For this I created a from and used the parameter raw_data_interface = 'X' for this and for sending mail filled the parameters MAIL_SENDER and MAIL_RE
-
The old laptop died, and would not charge, beyond repair . Have removed the old hard drive from the PC and have connected it to my new PC. I have found the firefox folder but cannot see my bookmarks in it. How can i transfer my old bookmarks from the
-
How to delete CS and ID objects
Hi How to delete configuration scenario including all objects in ID so that it should not come back if I do reject changes in ID change List Thanks, srini
-
Iphone 3GS has "169..." IP address after replacing old Airport Express
My 3GS is no longer connecting to my home network after replacing my old airport express. Previously my old G5 iMac would have problems connecting to the old airport express, BUT my iPhone 3GS would reliably connect. After installing this new airport
-
Specify a default iMessage address?
Hi, I have a friend who has a Mac, and iPad and an iPhone. She has her iPhone set to only receive iMessage via her phone number, while her Mac and iPad will receive via her Email address. What I've been finding lately is that whenever I send her a me