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?
Similar Messages
-
ABAP Web Service client proxy - generation problems
Hi!
I tried to create an ABAP web service client proxy for many different web services -
for instance some of that listed at <a href="http://www.xmethods.net/">http://www.xmethods.net/</a> .
Almost on 99% of the WSDLs the client proxy generation failed.
For istance "<extension> not supported", or "<message...> must have at least one part",... .
Could anybody tell me what restrictions are to web services you can create a
ABAP client proxy for ?
In the SAP Web AS Java Stack there is no problem at all to generate a
client proxy for almost all of the xmethod-WebServices !
Is the ABAP Web Service proxy generation for production use ?
Regards
Frank RuggaberResolved through SAP Help. Refer SAP note# 0001403271.
-
JDeveloper Web Service Client/Proxy Basic Authentication
Hi I recently migrated a 10g Web Service to an 11g Web Service that uses basic authentication.
I then generated the client/proxy using the WSDL for my consumer application in JDeveloper 11g. however I cannot find any functions that will allow me to set the username and password to access the web service.
For instance, in 10g Client, I simply had to this:
myPort = new SoapHttpPortClient();
myPort.setUsername("username");
myPort.setPassword("password");
I am not sure how I do the same in the generated Web Service client in 11g.
Thanks in advance.Thanks Frank. I was able to get it to work!
I did google it but I always add "jdeveloper 11g" in my searches so that must be why this did not come up. :) Thanks again! -
Hi,
One of our Web services XSD elementss has "anySimpleType" as the type:
<xsd:element name="Value" type="xsd:anySimpleType" minOccurs="0" nillable="true"/>
The client proxy is generated using JDev 10.1.3.3. We observed that the corresponding Java object is created with "String" data type:
protected java.lang.String value;
exp.setValue("100");
We need to be able to pass arguments with other simple types as well (E.g. Decimal). We tried changing the auto generated code, but weren't successful.
Any pointers in this regard are much appreciated.
Thanks,
PhaniHi all,
can anyone please respond to my issue. Its sort of urgent.
thanks, -
Web service - Client Proxy - SOAP error
Hi All,
I created a custom web service/port and Client proxy.
While I test the Client proxy with Logical port via SE80, I am getting error message related to SOAP.
Error text:
SOAP:14 Unexpected element -el=definitions ns=http://schemas.xmlsoap.org/wsdl/
Error when processing Web service call
Error when calling SOAP Runtime functions: Unexpected element -el=definitions ns=http://schemas.xmlsoap.org/wsdl/
Am I missing any configuration?
THanks,
ChiragHi,
I got the same error with using the configuration tool LPCONFIG after implementing -> with SOAMANAGER everything worked allright directly just create a port with that tool.
Maybe tha will help you also - for your problem.
Regards,
Jeroen Cosijnse -
Testing a Static Web Service Client Proxy
Hi all,
I have followed all the steps for Database Web Service Callout Utilitiy 10.1.3.1 but stuck at this point.
C:\OraHome_3>jpub -u dbws@lokal3 -sysuser sys@lokal3 -proxywsdl=http://localhost:8888/javacallout/javacallout?WSDL -endpoint=htt
p://localhost:8888/javacallout/javacallout
tmp\src\genproxy\HttpSoap11ClientJPub.java
plsql_wrapper.sql
plsql_dropper.sql
plsql_grant.sql
plsql_revoke.sql
Executing plsql_dropper.sql
Executing plsql_wrapper.sql
Error executing plsql_wrapper.sql. Please run that script in DBWS.
Executing plsql_grant.sql
Error connecting as SYSDBA. Please load the file in question manually. For autom
atic loading into remote databases or through thin drivers, please set up the pa
ssword file for remote SYS connection according to Oracle JDBC Developer's Guide
Error executing plsql_grant.sql: null. Please run that script as SYSDBA.
Error detecting dbwsclient.jar in the database: ORA-12560: TNS:protocol adapter
error
. Please load sqlj/lib/dbwsclient.jar if it has not been loaded.
Error connecting as SYSDBA. Please load the file in question manually. For autom
atic loading into remote databases or through thin drivers, please set up the pa
ssword file for remote SYS connection according to Oracle JDBC Developer's Guide
Error granting loading permission: null
Loading plsql_proxy.jar
SQL Error while connecting with oci8 driver to default database: ORA-12560: TNS:
protocol adapter error
Any ideas?
Regards,
OnurHi,
I got the same error with using the configuration tool LPCONFIG after implementing -> with SOAMANAGER everything worked allright directly just create a port with that tool.
Maybe tha will help you also - for your problem.
Regards,
Jeroen Cosijnse -
Web Service - Client Proxy generation error
Hi All,
I tried creating a client proxy using an URL provided to me and followed the steps using the wizard. I end up in getting the following error messages. Could anyone throw some light on resolving this? I do not have any idea about what WSDL is. Any help is highly appreciated. Not able to attach the WSDL code here.
Below is the error message upon client proxy creation:
Proxy-Generierung: Fehler aufgetreten
Exception occurred in library handler
Not implemented
Thanks
Srini
Edited by: Srinivasan Karunakaran on Oct 22, 2010 11:11 PMResolved through SAP Help. Refer SAP note# 0001403271.
-
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? -
HTTP Analyzer help for web service client in 11g
I am using jDev 11.1.1.3.0 to build a web service client (proxy) to a potential vendor's web service. I've used the Http Analyzer before but I'm having trouble configuring it for a WS proxy. I just want to see the SOAP stream between my client and the web service. I used the Web Service Proxy wizard to create the Java code, but the web service provider has kept some of the contract in the WSDL private so that I had to manually generate the meat and potatoes of the Java code. I need to be able to see the SOAP my Java code is sending.
I have tried to configure the Http Analyzer to listen on it's own localhost and port with a forward rule to forward the request to the real WS, but I cannot figure out how to get the client to send it's requests to localhost instead of the actual WS.
Actually, I did figure it out, but then the request fails as it apparently tries to connect to the real WSDL before actually sending the request and cannot find a WSDL at the localhost URL. Here's the error:
Exception in thread "main" javax.xml.ws.WebServiceException: {http://localhost:8099}CatalogRequest is not a valid service. Valid services are: {http://[actual URL here]}CatalogRequest
at com.sun.xml.ws.client.WSServiceDelegate.<init>(WSServiceDelegate.java:249)
I have also tried to configure the Http Analyzer to somehow 'sniff' the actual URL by listening on the actual URL and port, but either I cannot get the Analyzer to see the request or it fails because the Analyzer is using the same port the request is trying to use.
Can someone explain how to configure the Http Analyzer to see the SOAP stream for a Web Client Proxy?Hi, I'm just using the default setup for HTTP Analyzer and having no problem using it.
Just make sure to run the HTTP Analyzer first before running or starting your app server (Integrated weblogic Server). -
Web Service Client: Project Additional Classpath contributor not working?
I've created a simple web service client/proxy and it works when debugging and running in JDeveloper 10.1.3.3
I created a deployment profile that includes "Project Additional Classpath". The preview does not show any of the jar dependencies being included and the client application does not run because it is missing the dependencies.
Am I missing something simple here? I've searched forever on this with no luck (it's now 2am!)
Help is much appreciatedFrank,
Thank you for your reply. The funny thing is that I had known how to do this in the past.
I have to say. The layout of that screen just is not intuitive.
First, if you select file groups\project output\Contributors and select "Project Additional Path" you would think that you'd either get to select the class libraries there or at least in the filters screen.
Second, the new button on the lower left, beneath the tree control when selecting the File Groups node is an arrangement I havn't seen used in any other application. Usually when you select a tree node, the right side window would have a tool bar over an arrangement of the sub-nodes/folders and you would click new on that tool bar. The new button goes completely unnoticed where it is. I'm sure it's nothng once you get used to it but for a noob like me, it wasn't apparent
I took a brief look at 11g and it seems they're changing some of the screens so perhaps this stuff will become more intuitive.
Thank you for your help. -
Weblogic 10.3: web service client enable HTTP/HTTPS connection reuse?
hi all,
i am writing an client app to call a web service, through a client proxy generated by jdeveloper/weblogic.
My question is:
for the weblogic web service client proxy, is it possible to enable HTTP/HTTPS connection reuse/pooling?
i see there is many connection created when calling the web service (by command netstat)?
thank you.
lspanybody can help?
thanks -
Web service client ignores http proxy settings
I have a web service client using Weblogic's web service client library. I'm trying to instruct it to use a http proxy. I've set all the following system properties:
-Dhttp.proxyHost=127.0.0.1
-Dhttp.proxyPort=8080 -Dweblogic.webservice.transport.http.proxy.host=127.0.0.1 -Dweblogic.webservice.transport.http.proxy.port=8080
No traffic is passing through the proxy.
When the proxy is down, the application works fine too. I suspect that the proxy settings are completely ignored for some reason.
I'm using Weblogic 8.1 SP4 on a Windows XP box and JDK 1.4.2 (Sun's bundled JDK with Weblogic).Sorry about the delay,
You just need to use the standard java http proxy properties, take a look at:
http://download-west.oracle.com/docs/cd/A97329_03/web.902/a95453/useservices.htm
Does this help?
Gerard -
Error while invoking web services from Proxy services in OSB
I have a Proxy Service of message type in Oracel Service Bus 10gR3 and it passes the incoming messages from a JMS Queue to Business Service of Web Services type. This Web Service is hosted in Glass Fish v3 and it's binding style is RPC. The JRE used in both the servers are 1.6.0_20. The JMS message is of Text type. The Web Services at the Glass Fish throws MessageCreationException for any content of the JMS message. However, it works fine if Business Service's test client is invoked from the OSB'S Admin Console. However, the same will not work if Proxy Service's test client is called.
The detailed exception stack is given below :
Thanks for the help.
- Raj
com.sun.xml.ws.protocol.soap.MessageCreationException: Couldn't create SOAP message due to exception: XML reader error: com.ctc.wstx.exc.WstxEOFException: Unexpected EOF in prolog
at [row,col {unknown-source}]: [1,0]
at com.sun.xml.ws.encoding.SOAPBindingCodec.decode(SOAPBindingCodec.java:359)
at com.sun.xml.ws.transport.http.HttpAdapter.decodePacket(HttpAdapter.java:318)
at com.sun.xml.ws.transport.http.HttpAdapter.access$500(HttpAdapter.java:92)
at com.sun.xml.ws.transport.http.HttpAdapter$HttpToolkit.handle(HttpAdapter.java:501)
at com.sun.xml.ws.transport.http.HttpAdapter.handle(HttpAdapter.java:285)
at com.sun.xml.ws.transport.http.servlet.ServletAdapter.handle(ServletAdapter.java:143)
at org.glassfish.webservices.Ejb3MessageDispatcher.handlePost(Ejb3MessageDispatcher.java:116)
at org.glassfish.webservices.Ejb3MessageDispatcher.invoke(Ejb3MessageDispatcher.java:87)
at org.glassfish.webservices.EjbWebServiceServlet.dispatchToEjbEndpoint(EjbWebServiceServlet.java:196)
at org.glassfish.webservices.EjbWebServiceServlet.service(EjbWebServiceServlet.java:127)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:847)
at com.sun.grizzly.http.servlet.FilterChainImpl.doFilter(FilterChainImpl.java:195)
at com.sun.grizzly.http.servlet.FilterChainImpl.invokeFilterChain(FilterChainImpl.java:139)
at com.sun.grizzly.http.servlet.ServletAdapter.doService(ServletAdapter.java:376)
at com.sun.grizzly.http.servlet.ServletAdapter.service(ServletAdapter.java:329)
at com.sun.grizzly.tcp.http11.GrizzlyAdapter.service(GrizzlyAdapter.java:166)
at com.sun.enterprise.v3.server.HK2Dispatcher.dispath(HK2Dispatcher.java:100)
at com.sun.enterprise.v3.services.impl.ContainerMapper.service(ContainerMapper.java:245)
at com.sun.grizzly.http.ProcessorTask.invokeAdapter(ProcessorTask.java:791)
at com.sun.grizzly.http.ProcessorTask.doProcess(ProcessorTask.java:693)
at com.sun.grizzly.http.ProcessorTask.process(ProcessorTask.java:954)
at com.sun.grizzly.http.DefaultProtocolFilter.execute(DefaultProtocolFilter.java:170)
at com.sun.grizzly.DefaultProtocolChain.executeProtocolFilter(DefaultProtocolChain.java:135)
at com.sun.grizzly.DefaultProtocolChain.execute(DefaultProtocolChain.java:102)
at com.sun.grizzly.DefaultProtocolChain.execute(DefaultProtocolChain.java:88)
at com.sun.grizzly.http.HttpProtocolChain.execute(HttpProtocolChain.java:76)
at com.sun.grizzly.ProtocolChainContextTask.doCall(ProtocolChainContextTask.java:53)
at com.sun.grizzly.SelectionKeyContextTask.call(SelectionKeyContextTask.java:57)
at com.sun.grizzly.ContextTask.run(ContextTask.java:69)
at com.sun.grizzly.util.AbstractThreadPool$Worker.doWork(AbstractThreadPool.java:330)
at com.sun.grizzly.util.AbstractThreadPool$Worker.run(AbstractThreadPool.java:309)
at java.lang.Thread.run(Thread.java:619)
Caused by: com.sun.xml.ws.streaming.XMLStreamReaderException: XML reader error: com.ctc.wstx.exc.WstxEOFException: Unexpected EOF in prolog
at [row,col {unknown-source}]: [1,0]
at com.sun.xml.ws.streaming.XMLStreamReaderUtil.wrapException(XMLStreamReaderUtil.java:267)
at com.sun.xml.ws.streaming.XMLStreamReaderUtil.next(XMLStreamReaderUtil.java:95)
at com.sun.xml.ws.streaming.XMLStreamReaderUtil.nextContent(XMLStreamReaderUtil.java:110)
at com.sun.xml.ws.streaming.XMLStreamReaderUtil.nextElementContent(XMLStreamReaderUtil.java:100)
at com.sun.xml.ws.encoding.StreamSOAPCodec.decode(StreamSOAPCodec.java:175)
at com.sun.xml.ws.encoding.StreamSOAPCodec.decode(StreamSOAPCodec.java:303)
at com.sun.xml.ws.encoding.StreamSOAPCodec.decode(StreamSOAPCodec.java:129)
at com.sun.xml.ws.encoding.SOAPBindingCodec.decode(SOAPBindingCodec.java:354)Let me explain what I am trying to achieve. Our application receives data from multiple sources - from mainframe using FTP, JMS Queue and BPM application using Web Services. The data from all these sources are sending to a Web Service running in GlassFish V3. To handle this I have created three Proxy Services and one Business Service on OSB. The Business Service is of type Web Service using the same WSDL from the target Web Service.
The Proxy Services are configured as follows:
Proxy 1 (type - Messaging service) listens to the JMS Queue and receives JMS Text Message -> Business Service(B1) (Web Service).
Proxy 2 (type - Messaging service Polls files from the FTP Server -> Business Service(B1) (Web Service).
Proxy 3 (type - Web service) is invoked by the BPM application and sends a String -> Business Service(B1) (Web Service).
All the Proxies route to the same Business Service - B1 which calls the Web Service in GlassFish. The only Proxy that works fine is Proxy 3 which is created using the same WSDL of the Web Service. In the other two proxies it thows the same exception in GlassFish as I mentioned before.
com.sun.xml.ws.protocol.soap.MessageCreationException: Couldn't create SOAP message due to exception: XML reader error: com.ctc.wstx.exc.WstxEOFException: Unexpected EOF in prolog at [row,col {unknown-source}]: [1,0] at com.sun.xml.ws.encoding.SOAPBindingCodec.decode(SOAPBindingCodec.java:359)
Is this configuration correct to achieve my requirements?
Once again thanks for the help.
- Raj -
We have a mysterious problem here.
In out ABAP system we had a WebService created. With "New - Web Service Client" we created a web service client on the java side for that one and we were able to invoke it.
We had to recreate this Web service due to wrong naming conventions. And now the problem starts.
In the Main service class we had before something generated by NWDS:
private static java.net.URL SERVICES_SERVICE_WSDL_LOCATION = null;
static {
java.net.URL url = null;
try {
java.net.URL tmpUrl = Thread.currentThread().getContextClassLoader().getResource("wsdl/com/sap/document/sap/soap/functions/mc_style/sap/bc/srt/wsdl/bndg_001279D063121DECA58AC5F7200DC55D/wsdl11/allinone/ws_policy/document/rootwsdl_SERVICES.wsdl");
url = new java.net.URL(tmpUrl.getProtocol(), tmpUrl.getHost(), tmpUrl.getPort(), tmpUrl.getFile());
} catch (java.net.MalformedURLException e) {
e.printStackTrace();
SERVICES_SERVICE_WSDL_LOCATION = url;
After the new creation with the new Web Service this static initializer is gone an we see:
private final static java.net.URL SERVICE_WSDL_LOCATION = null;
This code is ridiculous, to make something static final and set it to Null. And as expected at runtime it results in WebServioceException telling us:
No WSDL URL is specified for service [class com.sap.document.sap.soap.functions.mc_style.Service] on service creation.
Anyone knows what is going wrong here??
Best regards,
FrankSame problem here.
From Netweaver dev studio, I'm generating a deployable proxy for a Session Bean that is supposed to access a webservice but I keep getting the exception:
"Caused by: javax.xml.ws.WebServiceException: No WSDL URL is specified for service [class eu.socrades.sap.ServiceMonitorBeanTESTService] on service creation.
at com.sap.engine.services.webservices.espbase.client.jaxws.core.SAPServiceDelegate.<init>(SAPServiceDelegate.java:108)
at com.sap.engine.services.webservices.espbase.client.jaxws.cts.CTSProvider.createDelegate(CTSProvider.java:170)
at com.sap.engine.services.webservices.espbase.client.jaxws.cts.CTSProvider.createServiceDelegate(CTSProvider.java:151)
at javax.xml.ws.Service.<init>(Service.java:57)
at eu.socrades.sap.ServiceMonitorBeanTESTService.<init>(ServiceMonitorBeanTESTService.java:14)"
I'm injecting the reference to the service with:
@WebServiceRef(wsdlLocation = "rootwsdl_ServiceMonitorBeanTESTService.wsdl")
private ServiceMonitorBeanTESTService service;
I tried changing the location to a URL (where the wsdl can be downloaded from) or to "META-INF/wsdl/eu/socrades/sap/rootwsdl_ServiceMonitorBeanTESTService/rootwsdl_ServiceMonitorBeanTESTService.wsdl" but that did not help.
Any clue?
Thanks a lot,
Dom -
Dynamic Logical Port for Web Service Client
Hi *!
We want to use the same Web Service Client code with different Web Service instances running on different systems. So I need to configure the logical port (especially the URL of the endpoint) dynamically at runtime.
Please give me a hint, how this is done.
(we are using WebAS 6.40 SP7)...
Thanks in advance,
FrankHi Frank,
I hope you were able to solve your issue on you own in the meantime.
I was looking for the answer to this question today. This was the only thread I found on SDN. Unfortunately, it did not contain an answer yet. I was able to figure out a way to set the endpoint address dynamically after searching help.sap.com and after examining the interfaces offered by the Stub (logical port in this case) classes.
Here's an extract from my code:
// Connect to JNDI context
InitialContext ic = new InitialContext();
// Get reference to web service proxy from JNDI context
Z_MSC_GET_SCHEDULE_WSDService service =
(Z_MSC_GET_SCHEDULE_WSDService) ic.lookup("wsclients/proxies/iot-online.de/msc~srv_ejb~proxy/de.iot_online.msc.proxy.ScheduleReaderProxy");
// Get reference to logical port from web service proxy
Z_MSC_GET_SCHEDULE_WSD logicalPort = service.getLogicalPort();
// Set URL of web service Endpoint
logicalPort._setProperty(Stub.ENDPOINT_ADDRESS_PROPERTY, "http://<FQDN>:8010/sap/bc/srt/rfc/sap/Z_MSC_GET_SCHEDULE_WSD?sap-client=100");
This is explained on
http://help.sap.com/saphelp_nwce10/helpdata/en/45/113a1221337249e10000000a155369/frameset.htm
You can also set the credentials (username / password) with the method _setProperty.
Best regards
Christian
Maybe you are looking for
-
Cannot add new components in Object Browser
Hi, We have a complex file with about 80 components. The problem is that when I try to add new components, they're not visible in Object Browser. It's possible to drag components into canvas, but not only they don't appear in object browser but also
-
CD/DVD Drive Will Not Open
CD/DVD Drive Will Not Open
-
NVIDIA (0x10de) Duo 2 intel core 1 Core 256 Mb VRAM 32 bit color With the above characteristics, will my computer be able to take 10.6 upgrade online or do i need more memory to support that? Also, what is a good graphics program can be installed on
-
hi experts,i want to know about:what is lock box facility?can any body tell me the configation steps for that
-
Unicode symbols (cyrillic in my case) are not imported from Primavera
I had P6 Professional 8.3 and Pertmaster 8.7 (SP5). When I try to import data both way: natively through Primavera database or Primavera XER - all non-Latin symbols are messed. There are only question marks instead of symbols.