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
    __Hari

    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
    __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 AM

    I 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,
    Kacee

    Can 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,
    Tom

    Hi 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
    RR

    Found 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,
    Farrukh

    Farrukh,
    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.

  • URGENT **** Need help for JAX-RPC Web Service Proxy deploy to OC4J 10.1.3.5

    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

  • JAX-RPC: Exception

    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
    Raj

    Did 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