JAX-RPC RI expert
Hi,
I am trying to use wscompile (JWSDP 1.3) to compile a web service that has a method whose return type
is a class below.
package sample;
public class Test {
public Test() { }
I got an error: invalid type for JAX-RPC structure: test.Test
Now strange enough, if I add a member say (private int x) to that class along with setter and getter methods, it works fine.
Can anyone tell me what is wrong with the class above. Sounds like it violates the spec, which I can't think
why.
Any input is greatly appreciated.
Hi,
I'll suggest that it won't 'compile' because it has no methods. When you add setters / getters it then has methods which can be invoked.
As it stands has nothing for JAX-RPC to invoke
Nick
Similar Messages
-
What is the difference between RMI and JAX-RPC?
Dear All
First of all my understanding of RMI and JAX-RPC:
RMI is JAVA only version of RPC. It can't talk to any other language.
JAX-RPC is a part of JWSDP and if you implement your client and server with JAX-RPC, client written in any language can talk with JAX-RPC implementation.
What else makes them different and am I right with my understanding?
Finally, I would like to develop clients which will have a java class, say httpserver.java, which will act like a http server, listens to a http port. Now, Two such client will run in two different PC and I want to call a module from one client to another which should be accessible via my httpserver.java. For that which should be my choice RMI or JAX-RPC? Can I achive it with http get-post method, as I am expecting to read some value of variables from one client to the another.
Say class A has variable a, aa, aaa and clas B has variable b, bb, bbb. Now I want to read the value of b, bb, bbb from class A. How do I do that when class B is listening to a http port with my httpserver.java class.
Lastly, say B is listening to a http port and I want to send a file to B from A. How can I do that? Remember, B didn�t ask for that. How can A send a file to B when B is listening to a http port with my httpserver.java.
With regards
Mohammed Jubaer Arif
Mobile: +61-0411215302
Personal Web: http://www.geocities.com/jubairarifctg/
Org. Web.: http://www.geocities.com/halimschamber/simply put, RMI allows you to (semi) transparently treat remote objects as if they were local, and your distributed application can be written (more or less) like a "normal" java app. Sockets just give you a "raw" connection to work with, and you get to build up your application from that.
I hope that helped
Lee -
JAX-RPC vs OC4J J2Ee web service
Hi,
Currently we use Oracle10G 10.0.3 developer preview edition. we deployed same web service on both JAX-RPC platfrom and OC4J J2EE web service platfrom (RPC encoding style). We found that old platform seems to perform better than JAx-RPC platfrom with regard to serialization and de-serialzation. We also did the test on Doc/literal style in JAX-RPC platfrom and its performance is not as good as the one deployed on old platform. We understand JAX-RPC is new implementation and Oracle10.0.3 is under developer preview edition and so it may not be optimized. We have following questions
1. Is this a known issue in JAX-RPC platform?
2. Is there anyway to optimize JAX-RPC web service? Like using different XMl parser (instead of Oracle XML parser)
3. When is the final release of 10.0.3 expected?
4. Will Oracle be supporting old web service platfrom (OC4J J2EE web service platform)? If so how long?
Thanks and regards
__HariHi,
Currently we use Oracle10G 10.0.3 developer preview edition. we deployed same web service on both JAX-RPC platfrom and OC4J J2EE web service platfrom (RPC encoding style). We found that old platform seems to perform better than JAx-RPC platfrom with regard to serialization and de-serialzation. We also did the test on Doc/literal style in JAX-RPC platfrom and its performance is not as good as the one deployed on old platform. We understand JAX-RPC is new implementation and Oracle10.0.3 is under developer preview edition and so it may not be optimized. We have following questions
1. Is this a known issue in JAX-RPC platform?
2. Is there anyway to optimize JAX-RPC web service? Like using different XMl parser (instead of Oracle XML parser)
3. When is the final release of 10.0.3 expected?
4. Will Oracle be supporting old web service platfrom (OC4J J2EE web service platform)? If so how long?
Thanks and regards
__Hari -
Jax-RPC Client side: How to use multiple X509 client certs ?
hi, (excuse me for my english)
i'm looking for an answer to this question:
I'm using the JAX-RPC libraries (JWSDP 2.0) for a web services client application in my app server (tomcat 4 under 1.4 Sun JVM) with HTTPS connection. All works fine when i'm using system.Setproperties for keystore and trustore.
Buk now, I want to use different client SSL keys for the same app to consume the web service (one SSL client key for a group of users).
Is it possible ?
i've tried using custom SSLSocketFactory and custom KeyManager but it won't works: when the SSL connection is well established once, i can connect to the app with an invalide client cert ! (it seems SSL connection is in cache and i dont't know how to disable this cache).
I have read some threads on this problem without answers ! (http://forum.java.sun.com/thread.jspa?forumID=331&threadID=333010 and http://forum.java.sun.com/thread.jspa?forumID=331&threadID=600372)
Thanks
Edited by: Buck007 on May 26, 2008 9:14 AMI have the same problem. If you find the solution please post it here :)
thanks -
XML Parser Error while creating Web service Client using JAX RPC
hello evryone,
Im facing XML Parser Error while creating web service client using JAX RPC. Im using Net Beans IDE for development purpose. I have wrote configuration file for client. Now i want to create Client stub. However i dont know how to do this in Net Beans. So i tried to do it from Command promt using command :
wscompile -gen:client -d build -classpath build config-wsdl.xml
here im getting Error:
error parsing configuration file: XML parsing error: com.sun.xml.rpc.sp.ParseException:10: XML declaration may only begin entities
Please help me out.
Many thanks in advance,
KaceeCan i use the client generated using jdeveloper 11g to import into the oracle forms 10g, i.e., form builder 10g. Currently this is the version we have in our office.
-
Using JAX-RPC handlers to proxy web service traffic
Hi,
I want to use JAX-RPC handlers to proxy web service traffic. In some instances the handler should modifiy / verify the message before forwarding the request to the remote web service end-point. Hence, the handler should forward the call by invoking the remote web service. In some cases the result from invoking the remove service should be post-processed by another proxy handler. To ensure that the result from invoking the remote service is available for post-processing I assume that the handler invoking the remote service must add the response message to the message context ( e g setProperty method) in the handler. Is this correctly understood?
I would like to understand that this is a technically feasible and reasonable approach of using JAX-RPC. I'd really appreciate some feedback here.
Many thanks,
TomHi Eric,
Thanks for your response. we are trying to access WSRR( manages end point urls for 7 different environments) and generate the end point dynamically at the design time. As we figured out WSRR is not compatible with OSB we are trying to implement these client side (OSB Proxy service) handlers which would get the dynamic endpoint depending on the environment used. I was able to create the handlers for this and set the jar in the classpath but the client service which should be using these handlers have to have these handlers defined in the deployment descriptor(web.xml) which am unable to see with a OSB project.
Will there be a deployment descriptor(web.xml/webservices.xml) associated with Proxy services on OSB? Or Is there any other way to add custom JAX-RPC Handlers to a proxy service? Or is there any way to connect to WSRR directly?
Thanks,
Swetha -
EJB 3.0 and JAX-RPC 1.1 Not Working Together
I've came across a strange behavior when building a JAX-RPC 1.1 service in WebLogic 10 on top of a EJB 3.0 bean:
Business Interface
@Remote
@WebService(targetNamespace="http://coronelado.sf.net")
public interface AuthenticationBO {
boolean login(String email, String password) throws AuthenticationBOException;
Bean
@Stateless(name="AuthenticationBO")
@TransactionManagement(BEAN)
@WLHttpTransport(contextPath="coronelado-service", serviceUri="AuthenticationBOService")
@WebService(endpointInterface="net.sf.coronelado.business.AuthenticationBO")
public class AuthenticationBOBean implements AuthenticationBO {
ejb-jar.xml
<?xml version="1.0" encoding="UTF-8"?>
<ejb-jar xmlns="http://java.sun.com/xml/ns/javaee" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/ejb-jar_3_0.xsd" version="3.0">
<enterprise-beans>
<session>
<ejb-name>AuthenticationBO</ejb-name>
<service-endpoint>net.sf.coronelado.business.AuthenticationBO</service-endpoint>
</session>
</enterprise-beans>
</ejb-jar>After I deploy the bean, two web services, not one, are listed in the console: AuthenticationBOService and AuthenticationBOBeanService (a duplicate), and the following error message is printed:
[JAM] Warning: failed to resolve class net.sf.coronelado.business.AuthenticationBOBeanAm I missing something here?http://fernandoribeiro.eti.br/2007/06/27/bug-in-weblogic-10-web-services/
-
Calling One Jax RPC Web Service from another in Oracle AS 10.1.3
We have a number of services residing in the same Oracle 10.1.3 app server container. These are deployed as Jax RPC Web Services
I am trying to figure out what are the different options to have once web service invoke an operation on another (without directly linking to the Java code). The reason we want to keep separation as far as possible is that these services may later migrate to different app servers and in the spirit of SOA all we want to change when a service migrates is address and would like everything else to remain the same.
So for example, if Web Service A needs to invoke an operation X in web service B,
One way to do this seems to be to generate a proxy for web service B, include the proxy in Web Service A and then simply do B.X() from Web Service A.
Is this is the best way to do it ?
Are there other alternative approaches available ? Such as using the built in ESB features of Oracle App Server 10.1.3?
Any pointers will be greatly appreciated.
Thanks
RRFound document of 10.1.3.1.0 how to Creating a Custom Identity Service Plug-in
Oracle® BPEL Process Manager Administrator's Guide
10g (10.1.3.1.0)
Part Number B28982-03
http://download-west.oracle.com/docs/cd/B31017_01/integrate.1013/b28982/plugin.htm
But may be no help. -
How to use user-defined packages in JAX-RPC web service
I am trying to use Object of my class located in my package in jax-rpc webservice,the code is
package supercomputer;
import Hello.*;
public class SuperImpl implements SuperIF
public String sendParam(String data)
Temp ob=new Temp();
int i=ob.get1(10000);
return data+"returned by supercomputer";
Temp is located in Hello package,I have jar the Hello package as Hello.jar and has set its classpath in targets.xml of Ant tool.
The code compiles well and service is deployed successfully,but when i try to call the service from the client its gives me following error.
[echo] Running the supercomputer.SuperClient program....
[java] java.rmi.ServerException: Missing port information
[java] at com.sun.xml.rpc.client.StreamingSender._raiseFault(StreamingSender.java:357)
[java] at com.sun.xml.rpc.client.StreamingSender._send(StreamingSender.java:228)
[java] at supercomputer.SuperIF_Stub.sendParam(SuperIF_Stub.java:60)
[java] at supercomputer.SuperClient.main(Unknown Source)
I dont know if it deploys why it gives error on client side.
Please tell how to use user-defined packages and class in jax-rpc service code ,i am not talking about passing user-defined parameters i am just talking about making objects of user defined classes in jax-rpc service.I think there is some problem in classpath.
Please guide me in doing that.
Thanks,
FarrukhFarrukh,
I don't know if your error is about a missing class from your custom package, ... what track did you followed to say that?
To use your package in the implementation of you web service, you should only follow the rules of making a web application: put your package jar in your \lib directory inside WEB-INF/ or your package classes unjared in classes (also in WEB-INF/).
As I already said, I have doubts that your error should be originated from a missing class from your package, but:
-try to see the logs (errors?) when you deploy your web service that could give a hint about the problem.
-try to see if you can access your endpoint through your browser to see if there is a online status
-display your config/WSDL file, and the steps you did to build your web service.
regards,
Pedro Salazar. -
Hi everyone!
I’m really new to web services.
I’m getting a *500 internal server error* while deploying my JAX-RPC web service Proxy to an Oracle AS, in an OC4J, v. 10.1.3.5.0.
Running my client from my development environment (*jdeveloper 10g, 10.1.3.5.0*) everything functions correctly: from jdeveloper I can contact and use the web service defined by the following endpoint: https://www.medialibrary.it/services/federaMLOL.asmx?WSDL
I created a "try_ws_client.jsp" file that runs correctly from my local development environment jdeveloper (that uses an embedded oc4j, v. 10.1.3.5.0) but fails when run from the test server (Oracle AS, in an OC4J, v. 10.1.3.5.0), getting, as I mentioned a 500 internal server error, a white page in IE but with FF the message says: The’s an error in the servlet .....
Here's how I created the ws proxy and how I’m using it to consume the ws I mentioned.
1. I used the jdeveloper “Create Web Service Proxy” wizard (File > New > Business Tier > Web Services > Web Service Prox) and in the WSDL document URL I put: https://www.medialibrary.it/services/federaMLOL.asmx?WSDL
2. The operation ended without adding nothing to the web.xml file and creating the proxy files. One of them is: FederaMLOLSoapClient.java that have the WS exposed methods (es: public boolean createUser(String) ) + a “main” method with the example how to use this client to consume the WS.
public static void main(String[] args) {
try {
it.reggiocity.provincia.mlol.proxy.FederaMLOLSoapClient myPort = new it.reggiocity.provincia.mlol.proxy.FederaMLOLSoapClient();
System.out.println("calling " + myPort.getEndpoint());
// Add your own code here
} catch (Exception ex) {
ex.printStackTrace();
3. In FederaMLOLSoapClient.java I’ve create the method "tyIt":
public String tryIt(String username) {
try {
it.reggiocity.provincia.mlol.proxy.FederaMLOLSoapClient myPort = new it.reggiocity.provincia.mlol.proxy.FederaMLOLSoapClient();
if(myPort.createUser(String username)) {
return “O.K”;
} else {
return “K.O”;
} catch (Exception ex) {
// logs error
4. I created my try_ws_client.jsp file that creates FederaMLOLSoapClient object and calls the tryIt method, printing the “OK” or “KO” message.
<%@ page import="it.reggiocity.provincia.biblioreggiane.*"%>
<%
String message = "";
FederaMLOLSoapClient obj= new FederaMLOLSoapClient( );
message = obj.tryIt(“AAAAAA70R10H226H”);
%>
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<%@ page contentType="text/html;charset=windows-1252"%>
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=windows-1252"/>
<title>prova</title>
</head>
<body><%=message%></body>
</html>
The situation is:
My try_ws_client.jsp runs correctly from my jdeveloper and the user is created while creating app.ear and deploying it to my Oracle AS/OC4J as mentioned above, I get a 500 Internal Server Error.
Any idea to find a solution to this problem?
Please help.
Take care.
John M.Hi,
you want to build the Web Service, or you want to consume the Service as a client? If the latter, Web client (ADF?) or Java client?
Frank -
Error deploying JAX-RPC war in JBoss
I am using the JBoss 3.0.3 with Tomcat 4.1.12. After creating a JAX-RPC application I have tried deploying the completed war to JBoss, but get an error saying that Jboss cannot find the:
com.sun.xml.rpc.server.JAXRPCContextListener. java.lang.ClassNotFoundException
This class lives in the jaxrpc-ri.jar file, from the jwsdp-1_0_01 distribution (Java Web Services Developer Pack). I've tried copying this jar file to the Jboss lib directory, but it still doesn't get past the error.
How can install this jar (and/or other JAX-RPC jars) for Jboss to use? See server errors below:
9:56:31,071 INFO [Engine] WebappLoader[VehicleInfoService]: Deploy class files /WEB-INF/classes/space/jboss/jboss-3.0.3_tomcat-4.1.12/tomcat-4.1.x/work/MainEngine/localhost/VehicleInfoService/WEB-INF/classes
19:56:31,671 INFO [Engine] ContextConfig[VehicleInfoService]: Added certificates -> request attribute Valve
19:56:31,852 INFO [EmbeddedCatalinaService41] Using Java2 parent classloader delegation: true
19:56:31,853 INFO [Engine] StandardManager[VehicleInfoService]: Seeding random number generator class java.security.SecureRandom
19:56:31,856 INFO [Engine] StandardManager[VehicleInfoService]: Seeding of random number generator has been completed
19:56:32,141 ERROR [Engine] StandardContext[VehicleInfoService]: Error configuring application listener of class com.sun.xml.rpc.server.http.JAXRPCContextListener
java.lang.ClassNotFoundException:
com.sun.xml.rpc.server.http.JAXRPCContextListener
at org.apache.catalina.loader.WebappClassLoader.loadClass(WebappClassLoader.java:1428)
at org.apache.catalina.loader.WebappClassLoader.loadClass(WebappClassLoader.java:1274)
at org.apache.catalina.core.StandardContext.listenerStart(StandardContext.java:3217)
at org.apache.catalina.core.StandardContext.start(StandardContext.java:3524)
at org.apache.catalina.core.ContainerBase.addChildInternal(ContainerBase.java:821)
at org.apache.catalina.core.ContainerBase.addChild(ContainerBase.java:807)
at org.apache.catalina.core.StandardHost.addChild(StandardHost.java:579)
at org.jboss.web.catalina.EmbeddedCatalinaService41.createWebContext(EmbeddedCatalinaService41.java:427)
at org.jboss.web.catalina.EmbeddedCatalinaService41.performDeploy(EmbeddedCatalinaService41.java:302)
at org.jboss.web.AbstractWebContainer.start(AbstractWebContainer.java:300)
at org.jboss.deployment.MainDeployer.start(MainDeployer.java:802)
at org.jboss.deployment.MainDeployer.deploy(MainDeployer.java:616)
at org.jboss.deployment.MainDeployer.deploy(MainDeployer.java:580)
at sun.reflect.GeneratedMethodAccessor12.invoke(Unknown Source)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
at java.lang.reflect.Method.invoke(Method.java:324)
at org.jboss.mx.capability.ReflectedMBeanDispatcher.invoke(ReflectedMBeanDispatcher.java:284)
at org.jboss.mx.server.MBeanServerImpl.invoke(MBeanServerImpl.java:517)
at org.jboss.util.jmx.MBeanProxy.invoke(MBeanProxy.java:174)
at $Proxy4.deploy(Unknown Source)
at org.jboss.deployment.scanner.URLDeploymentScanner.deploy(URLDeploymentScanner.java:427)
at org.jboss.deployment.scanner.URLDeploymentScanner.scanDirectory(URLDeploymentScanner.java:648)
at org.jboss.deployment.scanner.URLDeploymentScanner.scan(URLDeploymentScanner.java:499)
at org.jboss.deployment.scanner.AbstractDeploymentScanner.startService(AbstractDeploymentScanner.java:261)
at org.jboss.system.ServiceMBeanSupport.start(ServiceMBeanSupport.java:164)
at sun.reflect.GeneratedMethodAccessor7.invoke(Unknown Source)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
at java.lang.reflect.Method.invoke(Method.java:324)
at org.jboss.mx.capability.ReflectedMBeanDispatcher.invoke(ReflectedMBeanDispatcher.java:284)
at org.jboss.mx.server.MBeanServerImpl.invoke(MBeanServerImpl.java:517)
at org.jboss.system.ServiceController$ServiceProxy.invoke(ServiceController.java:976)
at $Proxy0.start(Unknown Source)
at org.jboss.system.ServiceController.start(ServiceController.java:397)
at sun.reflect.GeneratedMethodAccessor6.invoke(Unknown Source)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
at java.lang.reflect.Method.invoke(Method.java:324)
at org.jboss.mx.capability.ReflectedMBeanDispatcher.invoke(ReflectedMBeanDispatcher.java:284)
at org.jboss.mx.server.MBeanServerImpl.invoke(MBeanServerImpl.java:517)
at org.jboss.util.jmx.MBeanProxy.invoke(MBeanProxy.java:174)Deploy the jax-rpc implementation along with your application.
The library is found in the Webservices Developers Kit at
jaxrpc-1.0.3/lib/jaxrpc-ri.jar -
Hello there
I am using currently SUN's Webservice Development Kit 1.4 and try to realise a JAX-RPC "rpc/encoded" webservice.
My applicatio is currently running if I am using a static client (stubs geenerated by wscompile). If am going forward to use a dynamic proxy client, I am getting a strange exception during the deserialization of the xml data on the client: "trailing block elements must have an id attribute". See also stack trace at the end of the messsage.
As far as I understand is that it must somewthing be with the "ArrayList" or arrays which I am using in my JavaBean which I sent from the server to the client. Here my extract from my JavaBean:
public class Article
long id;
Date date;
String category;
String title="";
String lead="";
List texts;
}If I am taking out the member "List texts" then it will work correctly. The list contains only Strings. I tried also to use String[] array, but this didn't help either.
So here, my questions perhaps someone has some ideas what I did wrong.
- Why does it work with the stastic client but not with the dynamic proxy?
- Does anybody know an example on the net where in JavaBeans Lists or Arrays has been used?
- Anybody an idea why this error appears? Did I something wrong?
Thank you in advance
Mark Egloff
trailing block elements must have an id attribute
at com.sun.xml.rpc.encoding.SOAPDeserializationContext.deserializeMultiRefObjects(SOAPDeserializationContext.java:81)
at com.sun.xml.rpc.client.StreamingSender._send(StreamingSender.java:226)
at com.sun.xml.rpc.client.dii.CallInvokerImpl.doInvoke(CallInvokerImpl.java:80)
at com.sun.xml.rpc.client.dii.BasicCall.invoke(BasicCall.java:489)
at com.sun.xml.rpc.client.dii.CallInvocationHandler.doCall(CallInvocationHandler.java:122)
at com.sun.xml.rpc.client.dii.CallInvocationHandler.invoke(CallInvocationHandler.java:86)
at $Proxy0.getArticle(Unknown Source)
at tagesanzeiger.client.ManagerDynamicClient.main(ManagerDynamicClient.java:43)Thanks for your answer... regarding the support of "List" Types, you can get a list of supportet types from here http://java.sun.com/webservices/docs/1.3/tutorial/doc/JAXRPC2.html#wp79865 As you see "list" is supported. The problem for me is that I not use directly the list as parameter from the interface, rather than this it is used "internally" in my JavaBean. I found how to declare additional types here:https://jax-rpc.dev.java.net/whitepaper/1.1/index-part1.html#3.5.1 i.e. in your config-interface.xml for the wscompile server:
<typeMappingRegistry>
<additionalTypes>
<class name="tagesanzeiger.data.Media"/>
</additionalTypes>
</typeMappingRegistry>This works for the serialization later on the serverside, but the client then claims that it has no serializer. I have read somewehere that the client also supports declarative serialization of custom types, bt I did not find any example. I tried also prorgrammatically, here a hint:
http://users.skynet.be/pascalbotte/rcx-ws-doc/seiadvanced.htm
But there is no full example of custom serializer, so I tried to use the sun serializer:
com.sun.xml.rpc.encoding.ValueTypeSerializer
com.sun.xml.rpc.encoding.ObjectArraySerializerbut this ended in a NullPointerException.....
- so has anybody out there a working example with complex types in a JavaBean?
- has anyone an example of customserializer.?
Regarding books, I have one from the Sun " Java Web Services Architecture" and one from Wiley "Developing Java Web Services", but both do not show how to use the cutom serializers nor declarive options at the client side....So I hope somenone has somewhere a working example...please...
Thanks
Mark -
XML Comments in SOAP message - jax-rpc
I ran across an issue with comments in my soap messages with regards to the serialization.
My solution was to strip all the comments inbound and outbound.
Are xml comments supported by JAX-RPC? I am currently scouring the internet for more information, but the closest I have come is a reference in the IBM implementation which doesn't really help me out.
Any thoughts are appreciated.I'm trying to figure this out myself. I am using JAXM to access a web service but it wants the xml version...
-
JAX-RPC: Web service where both server /and/ client are services?
I'm considering a two-way Web service in an application that I'm designing and would appreciate any insight from prior experience.
This will be a standard client-server application, where the server broadcasts messages and the client, in turn, can request further information about the messages that it receives (think RSS-style updates, but with more interaction). [strong]However[strong], instead of having the client poll the server for new messages, I'd like to have the client register itself with the server as a message listener. The server is currently implemented as a Web service on port X. I'd like the client to register itself with the server, and then receive messages on port Y.
I'm considering a design like the following (note the directions of the inheritance arrows):
( Server class ) --<-- ( RemoteServerImpl class ) -->-- / RemoteServer interface /
|
( Listener class ) --<-- ( RemoteListenerImpl class ) -->-- / RemoteListener interface /Some considerations:
* In both cases, the client and server are broken out into an interface and two classes. The non-Remote classes implement all of the functionality. The RemoteX interfaces declare the methods that will be exposed via RPC, and the RemoteXImpl classes are empty subclasses of the non-Remote classes.
* In order to register itself with the Server, the Listener must be passed in as a method parameter, and thus conform to the JAX-RPC specification for value types. However, value types can't implement java.rmi.Remote.
* Only the Server and Listener know anything about each other.
* This application can be run either remotely or locally, depending on how the Server and Listener are instantiated. For the latter, they're instantiated directly and the listener is registered with the Server. For the latter, the RemoteX interfaces will point to the service stubs.
* I don't see an easy way to allow both the Server and the Listener to have references to each other (at least now without some casting magic), since one of them will have to conform to the value type specification, which requires that all of its fields must be valid JAX-RPC types.
I've got the Server portions implemented and working, and am now going to turn to the Listener stuff. Can anybody see a fundamental problem with this design, or can suggest something better?Hi There,
Because web services are fundamentally a Services-oriented architecture, and not an Object-oriented one, you are unable to pass objects by reference (only by value) hence the design decision to not allow rmi.Remote objects to be sent across the wire. The best way would be to abstract an object which does itself not represent a server, but a route to a server (lets call it ServerPointer). This must contain address, port, service info, etc.
Now, in your Server class, create a factory method which takes a ServerPointer, and returns a reference to a
remote server, e.g. protected Server createServer( ServerPointer p ) (using the necessary APIs to get such a reference)
Hope this helps... -
WLS 8.1 JAX-RPC stubs and SSL
I am part of an industry effort to assess WS interop. We have created a common
WSDL that will be implemented in WAS, .NET and WLS 8.1. As part of this effort,
we are also trying to use two-way SSL authentication. However, I have not found
a way to configure WLS 8.1 JAX-RPC Stubs (generated using clientgen utilities)
to present the client certificates. I have a tried a couple of approaches but
neither of them works with the stubs.
First, I tried using the SSLAdapter (as explained in the "Programming Web Services")
documentation. Unfortunately, the service that I am trying to invoke has only
http binding and trying to invoke it using the SSLAdapter throws an exception
complaining that SSL can't be used on non-https binding.
I tried to try another approach. In this, I tried to invoke https: URL for the
web service instead of using the Adapter. However, in this case, I am getting
a peer certificate not presented exception. Everything that I have checked in
adding a client private key and trusted certificates utilize SSLSocketFactory
(& SSLContext) or HttpsURLConnection objects.
At this point, I have ran out of ideas on how to add SSL to the generated client
stubs to tell the generated StubImpl or ServiceImpl implementations to use a different
SocketFactory or connection. There may be some other global class or property
to set these things up, but I am not aware of those. The server side SSL configuration
seems to working fine, as the requests with SSL configuration of "Request Client
certificate but don't enforce it' seems to work fine.
Any responses and suggestions are greatly appreciated.
Thanks
RajDid you check out :
http://webservice.bea.com/
There is a 2 way SSL example here:
http://webservice.bea.com/SSL2way.zip
HTHs.
http://manojc.com
"Seshadri Rajagopal" <[email protected]> wrote in message
news:3ec24d41$[email protected]..
>
I am part of an industry effort to assess WS interop. We have created acommon
WSDL that will be implemented in WAS, .NET and WLS 8.1. As part of thiseffort,
we are also trying to use two-way SSL authentication. However, I have notfound
a way to configure WLS 8.1 JAX-RPC Stubs (generated using clientgenutilities)
to present the client certificates. I have a tried a couple of approachesbut
neither of them works with the stubs.
First, I tried using the SSLAdapter (as explained in the "Programming WebServices")
documentation. Unfortunately, the service that I am trying to invoke hasonly
http binding and trying to invoke it using the SSLAdapter throws anexception
complaining that SSL can't be used on non-https binding.
I tried to try another approach. In this, I tried to invoke https: URL forthe
web service instead of using the Adapter. However, in this case, I amgetting
a peer certificate not presented exception. Everything that I have checkedin
adding a client private key and trusted certificates utilizeSSLSocketFactory
(& SSLContext) or HttpsURLConnection objects.
At this point, I have ran out of ideas on how to add SSL to the generatedclient
stubs to tell the generated StubImpl or ServiceImpl implementations to usea different
SocketFactory or connection. There may be some other global class orproperty
to set these things up, but I am not aware of those. The server side SSLconfiguration
seems to working fine, as the requests with SSL configuration of "RequestClient
certificate but don't enforce it' seems to work fine.
Any responses and suggestions are greatly appreciated.
Thanks
Raj
Maybe you are looking for
-
My hard drive crashed recently and i can no longer see my web site address in the iWeb side bar
I can n o longer see my web site address in the iweb side bar, how can I relocate it so i can edit my website
-
Can not see wireless TM in disk utility or desktop.
Am I running a TM Airport (router) it runs great, I love everything about it and the backups have no issues. But I wanted to partition my 500mb drive on my TM yet for some reason I can not see the drive either on my desktop or in disk utility. Is the
-
Error while opening Fiori app on iPad
I keep getting "Service XXXX failed. Contact your system administrator. Cannot call service with URL: /sap/opu/....." error on the iPad - both in the browser and the Fiori client. I am able to login to the launch pad and also see the apps, the error
-
IPhoto 11 - fixed missing images but....
...now ALL edits such as cropping, rotation, etc. are gone. Is there a way to re-load in an iphoto library via Time Machine? <Many thanks. Steve
-
Hi all, Can anyone send me the BW documents related to extraction, reporting, configuring metadata, performance tuning etc . Thanks in Advance Phani K Bandaru